Obsah:
Video: Flappy Bird na ATtiny85 a OLED Display SSD1306: 6 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Ahoj všichni, Dnes vám ukážu základní klon flappy ptáků, který jsem vytvořil, a jak můžete pokračovat v tvorbě podobné hry. V zásadě s vámi projdu svůj kód a vysvětlím, jak to funguje na každém kroku. Tato hra je postavena tak, aby fungovala na ATtiny85 s taktem 1MHz s I2C OLED displejem. Kupředu!
Krok 1: Hardware
Pokud vás nezajímá budování obvodu pro tuto hru, ale pochopení teorie za ní, můžete tento krok přeskočit.
Moje hra vyžaduje dvě tlačítka, ATtiny85, obrazovku I2C OLED 128x64px a nějaký zdroj energie. Moje instrukovatelná vizitka/herní konzole: Obrazovka ATtiny85 a OLED vám ukáže, jak postavit desku, na které je vše, co potřebujete! Pokud nemáte zájem o výrobu mého prkna, vyjměte prkénko a já vám řeknu specifikace. Můžete použít libovolnou variantu ATtiny85. Doporučuji OLED displeje, jako je tento.
- Připojte jednu stranu dvou tlačítek k pinům 2 a 3 na ATtiny85. Na tyto vodiče přidejte také odpor 10 kOhm připojený k zemi (stahovací odpor).
- Druhou stranu těchto tlačítek připojte k napětí. Když tlačítko nestisknete, stav špendlíku bude nízký. Když je stisknuto, stav kolíku bude vysoký.
- Připojte pin 7 ke kolíku SCL na vašem displeji a pin 5 ke kolíku SDA na vašem displeji. Podle toho zapojte napájecí piny (VCC a GND) na displej.
- Nakonec připojte pin 4 na ATtiny k zemi a pin 8 k napětí.
Krok 2: Software
Zde je připojena složka se všemi soubory, které ke spuštění hry potřebujete. Dva ze souborů, FlappyBird.ino a WallFunctions.h, jsou velmi dobře komentovány pro vaše potěšení ze čtení. Skicu FlappyBird.ino můžete nahrát do ATtiny85 (na 1 MHz) a hrát dál! Pokud vás učení teorie této hry zajímá, nebo si chcete vytvořit vlastní hru, čtěte dále!
S mojí hrou stále existuje několik problémů. I2C není nejlepší způsob přenosu dat jakýmkoli způsobem. Podle tohoto příspěvku může displej přijímat data pouze asi na 100 KHz, takže i když zvýšíme rychlost hodin ATtiny na 8 MHz, kanál I2C bude stále překážkou. Displej může produkovat maximálně 10 snímků za sekundu. Čím více samostatných obrázků musí displej kreslit, tím je celý proces pomalejší. Moje hra je tedy docela snadná, protože nemůžete přimět zdi, aby se po obrazovce pohybovaly velmi rychle! Níže jsou uvedeny některé výzvy, pokud si myslíte, že úkol splňujete:
- Aby byla hra těžší, zkuste zjistit, zda můžete dosáhnout mezery mezi stěnami místo 2 místo 4. Nemělo by to být příliš těžké, jakmile pochopíte, jak můj program funguje:). Napište prosím do komentářů, jestli to funguje!
- Další věcí, které mé hře chybí, je systém skóre a způsob, jak skóre zobrazit a uložit. Zjistěte, zda můžete implementovat jeden!
- Nakonec, místo aby se stěny pohybovaly po jednom sloupci, zkuste přimět každou zeď, aby se pohybovala po jednom pixelu, aby byl pohyb plynulejší.
Krok 3: Flappy Bird ATtiny85: Teorie
Přestože displej, který používáme, má výšku 64 pixelů, kterou lze použít pro hru, je možné prvky umístit pouze do bloků o velikosti 8 pixelů. Existuje tedy pouze 8 možných souřadnic y. Aby to bylo jednodušší, v softwaru jsem tímto způsobem rozdělil celou obrazovku a vytvořil mřížku 16 bloků po 8 blocích, kde každý blok má 8x8 pixelů. Aby vyplnil každý blok, každý sprite ve hře má 8 x 8 pixelů. Díky tomu je vše MNOHEM jednodušší na správu. Když se podíváte na obrázek výše, vidíte, jak jsem rozdělil obrazovku. Každá stěna se skládá ze 6 bloků, přičemž otvor má výšku 2 bloky, takže celková výška každé stěny je 8 bloků.
V programu je každá zeď reprezentována jako struktura, nazývaná Zeď. Každá struktura zdi má dvě vlastnosti - holePosition a sloupec. 'holePosition' je číslo 0-6, protože ve zdi s 8 bloky je pouze 7 možných pozic pro otvor o výšce 2 bloky. 'sloupec' je číslo 0-15, protože na obrazovce je možné 16 sloupců bloků.
Doporučuje:
Muscle Powered Flappy Bird: 9 kroků (s obrázky)
Muscle Powered Flappy Bird: Možná si pamatujete, když Flappy Bird vzal svět útokem a nakonec se stal tak populárním, že jej tvůrce odstranil z obchodů s aplikacemi, aby se vyhnul nechtěné propagaci. Toto je Flappy Bird, jakého jste nikdy předtím neviděli; kombinací několika málo dostupných kompostů
Kapesní hrací stroj Flappy Bird: 5 kroků
Pocket Flappy Bird Game Machine: Jedná se o herní konzoli založenou na mikrodontroléru nodemcu esp8266, která dokáže hrát flappy bird a mnoho dalších her. Tento stroj lze také použít k výrobě deauther na základě kódu spacehuhns na https://github.com/SpacehuhnTech/esp8266_deauther
Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 kroky
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: Flappy Bird byla za pár let příliš populární hra a mnoho lidí ji vytvořilo svým vlastním způsobem, stejně jako já, vytvořil jsem svoji verzi flappy bird s Arduino a levným 2,4 " TFT Dotykový displej SPFD5408, pojďme tedy začít
Hra Arduino Flappy Bird: 6 kroků
Hra Arduino Flappy Bird: Jedná se o velmi jednoduchou hru Arduino 16*2 LCD, kterou lze hrát kliknutím na tlačítko Snadné & Jednoduché ………….. Pokud se vám líbí tento návod, přihlaste se k odběru mého kanálu http://www.youtube.com/ZenoModiff
Grafika na displeji SSD1306 I2C OLED 128x64 s CircuitPython pomocí Itsybitsy M4 Express: 13 kroků (s obrázky)
Grafika na displeji SSD1306 I2C OLED 128x64 s CircuitPython pomocí Itsybitsy M4 Express: Displej SSD1306 OLED je malý (0,96 "), levný, široce dostupný, I2C, monochromatický grafický displej se 128x64 pixely, který je snadno propojitelný (pouze 4 vodiče) na vývojové desky mikroprocesorů, jako je Raspberry Pi, Arduino nebo