Autorul poate fi contactat la adresa: Login pentru adresa
WACK A MOLE este un joc de dexteritate in care jucatorul trebuie sa loveasca cartita care iese din gropi. Exista 4 gropi, cartita iese aleator din gropi si ramane pe aceea gaura un timp de aproximativ 1.5 sec. Exista un contor cu scorul in stanga jos si un contor cu timpul in dreapta jos. Obiectivul e sa lovesti cartita de cat mai multe ori intr-un timp dat. As fi dorit ca highscorurile sa fie salvate pe SD card, dar nu am reusit sa citesc/scriu pe card.
Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html
Am pornit de la sursele laboartorului 4 rezolvat (SPI, FAT, Filessytem). Butoanele sunt conectate in coloana intercalate de rezistenta. Formeaza astfel un potentiometru cu “push-button-uri”. Ansamblul are 3 borne VCC, de unde este alimentata coloana de rezistente, GND, si iesisrea de la coloana de push-button-uri care intra in canalul 0 de ADC al UC.
Am folosit timerul 2 in modul CTC cu perioada de 1 sec, pentru masurarea timpului de joc.
Am folosit libraria pentru ecranul LCD pentru afisarea hartii si a scorului, la intervale regulate, folosind _delay_ms(1600), timp in care jucatorul trebuie sa nimereasca cartita.
In plus fata de ki-utl PM 2013:
Mediul de dezvoltare: WinAVR (Programmer's Notepad)
In infinite-loop-ul din Main afisez harta scorul si timpul.
1.harta este calculata folosind un sir fibonacci pentru a genera numere aleatoare: http://en.wikipedia.org/wiki/Lagged_Fibonacci_generator (una din cele 4 gauri este inlocuita de capul cartitei) 2.scorul este modificat atunci cand timpul (_delay_ms(1500)) de la afisarea hartii pana la citirea butoanelor a expirat (daca selectia realizata prin buton este aceeasi cu pozitia cartitei va mai fi afisat un cadru de 400ms cu cartita lovita) 3.timpul este modificat separat, de procedura de intrerupere pentru Timer-ul 2, care este setat CTC si perioada de 1 sec.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Resurse hardware: sd_card.pdf powertip.pdf http://cs.curs.pub.ro/wiki/pm/ Resurse software: http://www.edaboard.com/