Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:58
Nereikia pristatyti legendinio „Space Invaders“žaidimo. Įdomiausia šio projekto ypatybė yra ta, kad grafiniam išėjimui naudojamas tekstinis ekranas. Tai pasiekiama įgyvendinant 8 pasirinktinius simbolius.
Visą „Arduino“eskizą galite atsisiųsti čia:
github.com/arduinocelentano/LCD_invaders/
Prekės
„Arduino UNO“lenta
LCD klaviatūros skydas
USB kabelis eskizų įkėlimui
1 žingsnis: žaidimo dizainas
Ekranas neleidžia valdyti atskirų pikselių ir pateikia tik dvi teksto eilutes, kurių nepakanka žaidimui. Bet tai leidžia įdiegti iki 8 pasirinktinių simbolių. Triukas yra kiekvieną 5x8 pikselių simbolį apdoroti kaip dvi 5x4 pikselių žaidimo ląsteles. Tai reiškia, kad turėsime 16x4 žaidimo lauką, kuris yra prasmingas. 8 simbolių pakanka žaidėjo erdvėlaiviui, kulkoms ir animaciniams ateiviams pritaikyti. Kadangi raštai yra 5x4, o simboliai - 5x8, mums reikės kai kurių simbolių su dviem raštais, pvz., „Erdvėlaivis ir kulka“, „ateivis ir kulka“ir tt Visi paveikslėlyje rodomi pasirinktiniai simboliai.
2 veiksmas: apdorojimo mygtukai
Paprastai visi LCD ekrano mygtukai yra prijungti prie to paties analoginio kaiščio. Yra įvairių skystųjų kristalų ekrano versijų, todėl tikriausiai turėsite šiek tiek pakeisti sveikų skaičių literales mano mygtukų apdorojimo kode.
3 žingsnis: klasių hierarchija
Įdiegiau bazinės klasės „GameObject“, kuris turi koordinates ir greičio laukus bei apdoroja susidūrimus. Iš jo paveldimos klasės „Ship“, „Alien“ir „Bullet“.
4 veiksmas: ekrano atnaujinimas
Atvaizdavimo logika gali atrodyti šiek tiek sudėtinga, nes 16x4 žaidimo logiką turime paversti 16x2 ekranu. Norėdami gauti daugiau informacijos, perskaitykite kodo komentarus. Norėdami išvengti mirgėjimo, kaip teksto buferį naudojau dvimatį char masyvą. Tai leidžia ekranui atnaujinti naudoti kelias spausdinimo operacijas (po vieną kiekvienai eilutei).
5 žingsnis: žaidimo logika
Čia yra žaidimo esmė. Pagrindinė kilpa keičia visų objektų koordinates, tikrina visų rūšių susidūrimus ir mygtukų paspaudimus. Ateivių greitis ir jų šaudymo tikimybė didėja nuo lygio iki lygio. Tačiau atlygis už balus taip pat didėja.
6 žingsnis: Velykų kiaušinis
Po 42. lygio nėra. Rimtai. Tai yra galutinis gyvenimo lygis, Visata ir viskas.:)
Rekomenduojamas:
Kaip naudoti 20x4 I2C simbolių LCD ekraną su „Arduino“: 6 žingsniai
Kaip naudoti 20x4 I2C simbolių LCD ekraną su „Arduino“: šioje paprastoje pamokoje mes sužinosime, kaip naudoti 20x4 I2C simbolių LCD ekraną su „Arduino Uno“, kad būtų rodomas paprastas tekstas „Labas pasaulis. Žiūrėkite vaizdo įrašą
„Layad Circuits“raidinė ir skaitmeninė klaviatūra su ESP32 ir simbolių LCD: 4 žingsniai
„Layad Circuits“raidinė ir skaitmeninė klaviatūra su ESP32 ir simbolių skystųjų kristalų ekranu: Šiame straipsnyje parodyta, kaip į raidžių ir skaičių klaviatūros modulį ir 16x2 I2C simbolių skystųjų kristalų modulį galima įvesti duomenis į ESP32. Šis metodas gali būti naudojamas įvesti ir gauti „Wi-Fi“prisijungimo duomenis ir kitą informaciją į ESP32 ir iš jos
Simono žaidimas - įdomus žaidimas!: 5 žingsniai
Simono žaidimas - įdomus žaidimas!: Nuoroda: čia Laikas mums treniruoti smegenis, ar ne? Be tų nuobodžių ir beprasmių žaidimų, yra žaidimas „Simono žaidimas“
„K`nex Infinity“simbolių laikiklis: 4 žingsniai
„K`nex Infinity“simbolių laikiklis: tai „K`nex Infinity“simbolių laikiklis. Jis yra kompaktiškas ir labai patogus. Aš rekomenduoju tai žmonėms, kurių begalybės personažai yra sudėti į stalčių ir sugadinti
Individualizuotas simbolių generatorius („Adafruit HT16k33 Matrix“): 3 žingsniai
Individualizuotas simbolių generatorius („Adafruit HT16k33 Matrix“): spausdinti specialius simbolius ant LCD ir LED matricų yra labai smagu. Specialiųjų simbolių arba pasirinktinių simbolių spausdinimo procedūra yra sugeneruoti masyvą su dvejetainėmis reikšmėmis kiekvienai eilutei ir stulpeliui. Gali būti sudėtinga rasti tinkamą kodą bet kuriai