Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
Nu este nevoie să introduci un joc legendar „Space Invaders”. Cea mai interesantă caracteristică a acestui proiect este că folosește afișarea textului pentru ieșirea grafică. Se realizează prin implementarea a 8 caractere personalizate.
Puteți descărca schița completă Arduino aici:
github.com/arduinocelentano/LCD_invaders/
Provizii
Placa Arduino UNO
Ecranul tastaturii LCD
Cablu USB pentru încărcarea schițelor
Pasul 1: proiectarea jocului
Ecranul nu permite controlul pixelilor separați și oferă doar două rânduri de text, care nu sunt suficiente pentru joc. Dar permite implementarea a până la 8 caractere personalizate. Trucul este de a procesa fiecare caracter de 5x8 pixeli ca două celule de joc de 5x4 pixeli. Adică, vom avea un teren de joc 16x4, ceea ce are sens. 8 personaje sunt suficiente pentru a implementa sprite pentru nava spațială a jucătorului, gloanțele și extratereștrii animați. Deoarece spriturile sunt 5x4 și personajele sunt 5x8, vom avea nevoie de câteva personaje cu două sprite, cum ar fi sprite „o navă spațială și un glonț”, „un extraterestru și un sprite glonț” etc. Toate personajele personalizate sunt afișate pe imagine.
Pasul 2: Prelucrarea butoanelor
De obicei, toate butoanele unui ecran LCD sunt conectate la același pin analogic. Există diferite versiuni ale ecranului LCD, deci probabil va trebui să modificați ușor literele întregi în codul meu de procesare a butonului.
Pasul 3: Ierarhia claselor
Am implementat o clasă de bază GameObject care are coordonate și câmpuri de viteză și procesează coliziuni. Clasele Ship, Alien și Bullet sunt moștenite de la acesta.
Pasul 4: Actualizarea ecranului
Logica de redare poate părea oarecum complicată, deoarece trebuie să transformăm logica jocului 16x4 în afișaj 16x2. Vă rugăm să citiți comentariile din cod pentru referințe suplimentare. Pentru a evita licărirea, am folosit o matrice de caractere bidimensională ca tampon de text. Permite utilizarea a două (una pentru fiecare linie) de operații de imprimare pentru a actualiza ecranul.
Pasul 5: Logica jocului
Iată inima jocului. Bucla principală modifică coordonatele tuturor obiectelor, verifică tot felul de coliziuni și evenimente de apăsare pe buton. Viteza extratereștrilor și probabilitatea lor de tragere crește de la nivel la nivel. Dar recompensa scorului crește și ea.
Pasul 6: un ou de Paște
Nu există nivel după nivelul 42. Serios. Este ultimul nivel al vieții, al universului și al tuturor.:)
Recomandat:
Cum se folosește un ecran LCD cu caractere I2C 20x4 cu Arduino: 6 pași
Cum se folosește un ecran LCD cu caractere 20x4 I2C cu Arduino: În acest tutorial simplu vom învăța cum să utilizăm un ecran LCD cu caractere 20x4 I2C cu Arduino Uno pentru a afișa un text simplu „Hello World. Urmăriți videoclipul
Tastatură alfanumerică Layad Circuits cu ESP32 și LCD cu caractere: 4 pași
Tastatură alfanumerică Layad Circuits cu ESP32 și LCD cu caractere: Acest articol demonstrează utilizarea unui modul de tastatură alfanumerică și a unui modul LCD de 16x2 caractere I2C pentru a introduce date în ESP32. Această metodă poate fi utilizată pentru a introduce și prelua acreditări Wi-Fi și alte informații către și de la ESP32
Afișaj LCD I2C / IIC - Utilizați un LCD SPI pe afișajul LCD I2C Utilizând modulul SPI la IIC cu Arduino: 5 pași
Afișaj LCD I2C / IIC | Utilizați un LCD SPI pe afișajul LCD I2C Utilizarea modulului SPI la IIC cu Arduino: Bună băieți, deoarece un SPI LCD 1602 normal are prea multe fire pentru a se conecta, deci este foarte dificil să îl interfațați cu arduino, dar există un modul disponibil pe piață. convertiți afișajul SPI în afișajul IIC, deci trebuie să conectați doar 4 fire
Afișaj LCD I2C / IIC - Convertiți un LCD SPI în afișajul LCD I2C: 5 pași
Afișaj LCD I2C / IIC | Convertiți un LCD SPI pe afișajul LCD I2C: utilizarea afișajului spi lcd are nevoie de prea multe conexiuni, ceea ce este foarte greu de făcut, așa că am găsit un modul care poate converti lcd i2c în lcd spi, așa că să începem
Adaptor I2c LCD cu caractere (exemplu de conexiune I2c): 12 pași (cu imagini)
Adaptor I2c cu caractere LCD (Exemplu de conexiune I2c): fac o schemă de conexiune pentru un adaptor i2c cu afișaj de caractere. Verifică actualizările de pe site-ul meu. Acum adaug și o schemă de conexiune de cablare pentru a utiliza biblioteca originală, nu a furcii mele. Biblioteca LiquidCrystal Arduino pentru afișajele LCD cu caractere, proiecte furculite