Ştefan STAMATE (24956) - Missile command

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Missile command este un joc al carui scop este apararea oraselor de rachetele ce ameninta sa le distruga. Pentru a realiza acest lucru, jucatorul lanseaza propriile rachete din cele 3 baze militare cu scopul de a le intercepta pe cele inamice si a le contracara. La sfarsitul jocului se afisa un scor care va reflecta performanta jucatorului: numarul de orase salvate, eficienta si rapiditatea distrugerii rachetelor inamice etc.

Jocul va fi organizat sub forma unei succesiuni de nivele care cresc in dificultate pe masura ce jucatorul avanseaza. Acesta se va folosi de cele 4 butoane directionale pentru a controla sensul in care se vor lansa rachetele si celelalte 3 butoane pentru a comanda din care baza sa fie ele lansate. Fiecare nivel se va termina fie cand armamentul inamic a fost distrus, fie cand toate orasele au fost anihilate.

Descriere generală

Jucatorul interactioneaza cu sistemul cu ajutorul butoanelor. Evenimentele petrecute in joc vor fi ilustrate pe LCD.

Hardware Design

Piese:

1 x LCD 128×64

20 x fire mama-mama

1 x bareta 40 pini mama

1 x bareta 20 pini tata

7 x butoane

Software Design

Programul a fost scris in C si compilat cu avr-gcc. Ca si mediu de dezvoltare am folosit programmer's notepad.

Am folosit biblioteca u8glib pentru a face desene pe LCD. Este intuitiva si foarte usor de folosit.

Atunci cand se porneste jocul este afisat prima oara meniul de start. Dupa ce se apasa un buton incepe jocul efectiv. In mijlocul ecranului se gaseste tinta, reprezentata de un X. Aceasta poate si deplasata cu cele 4 butoane din stanga. Celelalte 3 sunt folosite pentru a lansa rachete proprii, e cate un buton pentru fiecare baza militara. Scopul jocului este de a preveni distrugerea acestor baze si a celor 6 orase. Rachetele lansate de jucator au urmatorul comportament: pornesc din baza din care au fost comandate, se deplaseaza pana in punctul indicat de tinta in momentul lansarii si cand ajung acolo explodeaza intr-o bila de foc care persista cateva secunde si distruge rachetele inamice. In cazul in care se epuizeaza rachetele inamice si a mai ramas macar un oras sau o baza atunci jucatorul a castigat.

Rezultate Obţinute

Sunt multumit de cum a iesit totul. Jocul merge foarte bine, nu se strica imaginea, nu crapa programul si butoanele raspund cum trebuie.

Concluzii

Proiectul a fost unic si interesant, cu parti bune si parti rele. Partea buna este ca am reusit in cele din urma sa creez un dispozitiv functional, stabil si distractiv. Pe langa asta, totul a decurs bine, am gasit cu usurinta componentele necesare la magazine si pe net. Cea mai buna parte este ca nu am avut probleme grave gen sa imi stric microcontrollerul. Partea rea a fost ca e foarte greu sa debugezi cand lucrezi cu un microcontroller. Daca nu-ti merge un buton, de exemplu, pot exista multe cauze: portul pe care e conectat nu e cel care crezi tu, nu ai lipit bine legatura de la buton la pini sau(ce am patit eu) nu ai conectat butoanele la un ground. Mai e si chestia ca nu am fost atent cand am lipit ledurile si le-am pus invers si dupaia am pierdut un laborator incercand sa le pun cum trebuie si a iesit o chestie oribila.

Download

Jurnal

22.04.2016 - Creat pagina de wiki

6.05.2016 - Am fost dupa piese pe Maica Domnului, am luat majoritatea pieselor care sunt in pachetul de baza, gen butoane si fire mama-mama

10.05.2016 - Mi-am cumparat LCD-ul

20.05.2016 - Am fost iar dupa piese pe Maica Domnului, in special pentru bareta de pini mama si fir conductiv(cred ca asa se cheama)

24.05.2016 - Am finalizat partea hardware

27.05.2016 - Am finalizat partea software

Bibliografie/Resurse

Datasheet ST7920 ST7920.pdf

Laboratoarele de PM pm

Pagina u8glib wiki

pm/prj2016/amusat/12341234.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0