Zaslal: so srpen 30 2025, 8:31 Předmět: konstrukce "tetris"
Pokoušel jsem se najít (neúspěšně), nějaký kompletní návod (včetně programu pro mcu) ke stavbě něčeho takového. Chci to jako alespoň trochu praktickou konstrukci pro děti. Nevíte prosím něčem podobném? V archivu AR/PE jsem podobnou věc nenašel.
Prečo si nekúpiš rovno hotové tetris? Stále do nich môžeš založiť tuškové batérie a mať pri tom pocit vynimočnosti experta na elektroniku, že dokážeš založiť batérie.
https://github.com/igorp/tetris je to ine,ale s programom,asi 3s hladania
Schemu snad z toho programu pochopis... _________________ Už druhý krát strihám a furt je to krátke
Tak tohle mě opravdu zaujalo. Hlavně tím, že je tam použit můj oblíbený, starý, dobrý 8051 a ještě k tomu v THT. Byť v nadupané jednocyklové podobě. Ale chviličku jsem pátral a nikde jsem ho u nás v prodeji nenašel. Nicméně by se asi dal použít běžně dostupný 8052 kompatibilní MCU 89LP51RD2 (ED2) s 64KB Flash, který se dá také přepnout do rychlého režimu a také má pohodlné sériové programování díky vestavěnému bootloaderu. Má méně využitelných GPIO, ale to by se dalo řešit hotovými moduly s MAX7219 za pár korun. Jsou kaskádovatelné.
Tetris jsem zatím nikdy neprogramoval, ačkoliv jsem si kdysi udělal jeho teoretickou přípravu pro svou "herní konzoli" s 89S52 a TV kartou z TTL obvodů.
Ale jestli to chceš mít rychle i se zdrojákem programu, proč to neudělat s Arduinem (NANO) a těmi moduly s MAX7219? Stačí dát do vyhledávače "Arduino LED tetris tutorial" a máš toho tuny. Třeba zde je tutoriál i se zdrojákem ke stažení. Sice tam není počitadlo skóre, ale pinů zbyde dost a nebude problém jej doplnit. Například zase jako hotový modul.
Vyzkoušel jsem ten Arduino Tetris z odkazu v mém předešlém příspěvku. Drátování na breadboardu nezabralo ani 10 minut. Akorát jsem neměl repráček, tak je to bez zvuku. Funguje to a je to hratelné. Ale je to trochu tupé na tlačítka. Ono se není čemu divit, když se podíváte do zdrojáku na ty šílené podmínkové konstrukce s několika vnořenými IFy. Chtělo by to trochu pročistit a bylo by to super.
Tak beru zpět. Není to hratelné. Už se mi sice podařilo odstranit největší zvěrstva a je to lepší, ale ještě to pořád není ono. Musím se ještě zbavit několika "tvrdých delayů" a pak to snad hratelné bude.
Tak hotovo. Teď už je to snad velmi dobře hratelné. Ještě si to projdu a uhrábnu případné kadeře a pak to někde vyvěsím a dám sem odkaz. Provedl jsem řadu úprav, ale do originálního herního "enginu" jsem moc nesahal. Je na můj vkus napsán dost divoce a nechtěl jsem se do něj detailně nořit. Navíc funguje docela dobře. No, pár věcí by se dalo zlepšit, ale to bych si to musel napsat celé sám, k čemuž možná jednou taky dojde. Zde stručný seznam úprav:
1] Zpožďovací smyčka pro řízení rychlosti pádu figury nyní testuje a vyhodnocuje tlačítka. Původně zde byl "tvrdý delay" kdy se tlačítka netestovala a ovládání bylo nemožné!
2] Zlepšeno generování pseudonáhodných čísel tak, aby 1. figura po resetu nebyla vždy stejná.
3] Jednodušší výpočet levelů a jejich počet zvýšen z 6 (0-5) na 11 (0-10). Současně zjemněn krok zrychlování hry ze 100mS na 45mS.
4] Upraven výpočet skóre. Co zkompletovaná řada, to 1 bod.
5] Zobrazování skóre na 7-seg. displeji. Původně se nezobrazovalo nikde.
6] Ukládání nejvyššího skóre do interní EEPROM a jeho zobrazení před startem hry. Je zde i možnost jeho nulování v EEPROM.
7] Vylepšen RESTART hry.
8] Možnost zapnutí / vypnutí výpisů na sériový terminál. Výpisy jsou vhodné při ladění, nebo pokud není připojen 7-seg. displej.
9] Možnost zapnutí / vypnutí freeze režimu (např. pro focení hry).
10] Možnost stanovení defaultního zap / vyp zvuku. Zapnutý zvuk indikován také pomocí LED 13 Arduina.
11] DEMO režim např. pro předvádění na výstavách jako ARDUINO day.
12] Odstranění nevyužívaných pozůstatků starého kódu.
13] V rámci možností celkové pročištění a zefektivnění kódu (mimo původní herní engine).
14] Oproti původnímu kódu mnohem více komentářů.
15] Zachována HW kompatibilita s původním kódem, který je ale stejně nehratelný
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.