Autorul poate fi contactat la adresa: Login pentru adresa
Space-Invaders este la origine un joc video arcade, “inventat” in anii '70. Jocul prezent(implementat de mine cu ajutorul uC) este un emulator al jocului original. Linia superioara a ecranului contine invadatorii iar eroul se poate deplasa stanga-dreapta pe linia inferioara a LCD-ului si poate distruge invadatorii aflati deasupra lui. Dupa ce toti invadatorii au fost distrusi este afisat numarul de mutari necesare pentru a distruge un sir intreg de inamici.
Este un joc deci scopul este unul de recreere si sper eu amuzament.
Erau acum vreo 10-15 ani(cred ca mai sunt si acum nu stiu sigur) niste console chinezesti care aveau caractere negre pe un ecran dreptunghiular(asemanator cu ecranul de 3310) si care cuprindea o multitudine de jocuri, imi placeau si am dorit sa fac ceva care sa le emuleze, si cu ce altceva mai important sa incep decat cu Space-Invaders.
Proiectul a fost util deoarece am reusit sa fac eu singura ceva zic eu dragut, am “proiectat” un circuit, a trebuit sa ma gandesc cum sa lipesc componentele pe placuta, sa invat sa folosesc un datasheet(mai mult decat la laborator :P) si in general am invatat chestii dragute si am si un proiect final functional. Pentru altii poate fi relaxant, cred ca este un mod amuzant de a petrece cateva minute.
La pornirea uC jucatorul poate incepe jocul, el se deplaseaza cu ajutorul celor 2 butoane de LEFT si RIGHT in stanga si respectiv dreapta, fara a putea iesi din spatiul ecranului. Pentru a putea trage in inamici este utilizat butonul SHOOT cel de-al treilea buton de pe placuta atasata placutei initiale. Pe ecran pozitia jucatorului este updatata in timp real, la fel ca si invaderii, care sunt distrusi si dispar de pe ecran.
Piesele cumparate sunt urmatoarele:
AVR Studio cu Programmers Notepad.
Nu am avut nevoie de librarii speciale, am re-utilizat codul din laboratorul 1 si l-am adaptat pentru nevoile proiectului meu. Am utilizat libraria pentru ecranul LCD implementata in acest laborator.
O parte dintre functiile ce alcatuiesc codul meu sunt: - functie de verificare a starii butoanelor/check daca a fost apasat un buton - functie de generare a space-invaderilor pe prima linie a LCD-ului - functie de generare a navei eroului - functie de mutare - corelata cu functia de verificare a butoanelor
Proiectul este terminat, am reusit sa il finalizez dupa ce am lipit si dezlipit firele de pe ambele placute de vreo 4 ori - si da placuta functioneaza chiar daca a trecut prin atat de multe . Am facut acest lucru(lipire-dezlipire) deoarece nu functiona ecranul LCD, au existat probleme cu timerele si cu firele de date, dar le-am rezolvat pana la urma.
Mi-a placut sa lucrez la acest proiect mai ales ca mi-a iesit
Pana la urma a fost o experienta interesanta sa lucrez la un astfel de proiect si consider ca am invatat destul de multe lucruri. Desi uneori poate deveni frustrat atunci cand nu reusesti sa intelegi de ce functioneaza o chestie intr-un anume mod.
In urma etapei 1 a rezultat o placuta cu uC si butoane, pe care eu am uitat sa o pozez
A trebuit sa cumpar chestii pentru etapa 2 pentru a finaliza proiectul, evident ca am cumparat mai mult decat era nevoie.
Acum o mica serie de fotografii despre modul in care s-a “transformat” proiectul meu:
Primele fire lipite intre cele 2 placute:
Placuta finala programata:
Piesele au fost cumparate de la Syscom si Conex.