Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:alazar:joc_pac-man [2021/06/01 18:00]
eduard.azamfirei [Software Design]
pm:prj2021:alazar:joc_pac-man [2021/06/01 18:09] (current)
eduard.azamfirei [Bibliografie/Resurse]
Line 59: Line 59:
 La **nivel global** au fost salvate poziția jucătorului (pe Ox și Oy), coordonatele și dimensiunile obstacolelor(zidurilor).\\ La **nivel global** au fost salvate poziția jucătorului (pe Ox și Oy), coordonatele și dimensiunile obstacolelor(zidurilor).\\
 De asemenea, se va salva un array is_drawn pentru punctele de colectat, ce va spune dacă punctul respectiv a fost colectat sau nu.\\ De asemenea, se va salva un array is_drawn pentru punctele de colectat, ce va spune dacă punctul respectiv a fost colectat sau nu.\\
-Se vor salva și alte variabile la nivel global, acestea trebuind să fie independente de iterația funcției loop() (scor, număr de vieți,\\ +Se vor salva și alte variabile la nivel global, acestea trebuind să fie independente de iterația funcției loop() 
-puncte rămase de colectat, counter pentru timpul rămas, counter pentru abilitatea specială și dacă jocul s-a terminat cu victorie/​înfrângere\\ +(scor, număr de vieți, puncte rămase de colectat, counter pentru timpul rămas, counter pentru abilitatea specială și dacă jocul s-a terminat cu victorie/​înfrângere sau a început).\\
-sau a început).+
 Se vor declara global și cele 2 ecrane ILI9341 și LCD 1602.\\ Se vor declara global și cele 2 ecrane ILI9341 și LCD 1602.\\
   
-Funcția **setColorRGB()** aprinde LED-urile RGB în funcție de numărul de vieți ale jucătorului. Astfel, un LED roșu simbolizează că\\ +Funcția **setColorRGB()** aprinde LED-urile RGB în funcție de numărul de vieți ale jucătorului. Astfel, un LED roșu simbolizează că jucătorul nu are viața ​respectivă ​iar un LED aprins verde simbolizează că jucătorul are viața ​respectivă. Jucătorul are 2 vieți maxim și schimbarea culorilor se realizează cu funcția analogWrite() pe pinii asociați.\\
-jucătorul nu are viața ​respectiva ​iar un LED aprins verde simbolizează că jucătorul are viața ​respectiva. Jucătorul are 2 vieți maxim\\ +
-și schimbarea culorilor se realizează cu funcția analogWrite() pe pinii asociați.\\+
   
-Funcția **move_character()** este funcția de mișcare a caracterului în care acesta este poziționat la noile coordoanate date de\\ +Funcția **move_character()** este funcția de mișcare a caracterului în care acesta este poziționat la noile coordoanate date de joystick și care verifică coliziunea cu obiectele din jur și cu punctele de acumulat.\\ 
-joystick și care verifică coliziunea cu obiectele din jur și cu punctele de acumulat.\\ +Se vor declara mai întai coordonatele pixelilor modelului jucătorului (relative la poziția curentă) și poziția pixelilor ce trebuie ștersi dupa fiecare tip de deplasare. La orice deplasare se vor sterge treptat pixeli poziției anterioare.\\ 
-Se vor declara mai întai coordonatele pixelilor modelului jucătorului (relative la poziția curentă)și poziția pixelilor\\ +Se vor citi coordonatele axelor x si y ale joystick-ului cu funcția analogRead() ce se vor delimita în 4 cazuri: mișcare în sus, in jos, la stânga sau la dreapta.\\ 
-ce trebuie ștersi dupa fiecare tip de deplasare. La orice deplasare se vor sterge treptat pixeli poziției anterioare.\\ +În funcție de direcția aleasă, se va verifica coliziunea cu toate obstacolele și daca acestea nu sunt validenu vor fi acceptate. Apoi se vor verifica coliziunile cu toate punctele de acumulat.\\ 
-Se vor citi coordonatele axelor x si y ale joystick-ului cu funcția analogRead() ce se vor delimita în 4 cazuri:\\ +În cazul intersectării cu unul dintre acestea, se va crește scorul, se va șterge punctul și se va transmite un sunet cu ajutorul buzzer-ului prin funcția tone().\\ 
-mișcare în sus, in jos, la stânga sau la dreapta.\\ +În cele din urmă se vor desena pixeli caracterului și se vor șterge ​pixelii ​ultimei poziții înainte de deplasare.\\
-În funcție de direcția aleasă, se va verifica coliziunea cu toate obstacolele și daca acestea nu sunt valide\\ +
-nu vor fi acceptate. Apoi se vor verifica coliziunile cu toate punctele de acumulat.\\ +
-În cazul intersectării cu unul dintre acestea, se va crește scorul, se va șterge punctul și se va transmite un sunet\\ +
-cu ajutorul buzzer-ului prin funcția tone().\\ +
-În cele din urmă se vor desena pixeli caracterului și se vor șterge ​pixeli ​ultimei poziții înainte de deplasare.\\+
   
 În funcția **draw_map()** vor fi desenate toate zidurile/​obstacolele cu ajutorul funcției de bibliotecă drawRoundRect().\\ În funcția **draw_map()** vor fi desenate toate zidurile/​obstacolele cu ajutorul funcției de bibliotecă drawRoundRect().\\
  
 În funcția **setup()** se vor seta pini pentru switch, led de abilitate. \\ În funcția **setup()** se vor seta pini pentru switch, led de abilitate. \\
-De asemenea, se vor inițializare cele 2 ecrane, se va apela funcția draw_map() pentru desenarea hărții/​labirintului\\ +De asemenea, se vor inițializare cele 2 ecrane, se va apela funcția draw_map() pentru desenarea hărții/​labirintului și se vor desena punctele de acumulat.\\
-și se vor desena punctele de acumulat.\\+
   
 Întreruperea **intrerupt()** este handler-ului întreruperii externe asociate butonului.\\ Întreruperea **intrerupt()** este handler-ului întreruperii externe asociate butonului.\\
 Prin apăsarea butonului se va porni jocul și se va putea activa abilitatea ce oprește pentru o perioadă timpul ce trebuie învins.\\ Prin apăsarea butonului se va porni jocul și se va putea activa abilitatea ce oprește pentru o perioadă timpul ce trebuie învins.\\
  
-În funcția **loop()** este implementata logica jocului privind scaderea/​creșterea timpului jocului, a finalului jocului\\ +În funcția **loop()** este implementata logica jocului privind scaderea/​creșterea timpului jocului, a finalului jocului (victorie/​înfrângere) dar și logica folosirii abilității speciale.\\ 
-(victorie/​înfrângere) dar și logica folosirii abilității speciale.\\ +Daca jucătorul a acumulat toate punctele de pe hartă, acesta va fi felicitat cu o mică melodie, i se va afișa scorul (la care se adaugă ca bonus viața în plus și timpul rămas) și un mesaj.\\
-Daca jucătorul a acumulat toate punctele de pe hartă, acesta va fi felicitat cu o mică melodie, i se va afișa scorul\\ +
-(la care se adaugă ca bonus viața în plus și timpul rămas) și un mesaj.\\+
 În caz că timpul a ajuns la 0 și jucătorul nu mai are nicio viața, procedura este identică dar opusă.\\ În caz că timpul a ajuns la 0 și jucătorul nu mai are nicio viața, procedura este identică dar opusă.\\
 La un anumit număr de iterații timpul va mai scădea cu o unitate.\\ La un anumit număr de iterații timpul va mai scădea cu o unitate.\\
pm/prj2021/alazar/joc_pac-man.1622559639.txt.gz · Last modified: 2021/06/01 18:00 by eduard.azamfirei
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