This shows you the differences between two versions of the page.
pm:prj2024:vstoica:andrei.petrea1210 [2024/05/25 23:10] andrei.petrea1210 [Software Design] |
pm:prj2024:vstoica:andrei.petrea1210 [2024/05/27 00:19] (current) andrei.petrea1210 [Bibliografie/Resurse] |
||
---|---|---|---|
Line 164: | Line 164: | ||
return (val >= low && val <= high); | return (val >= low && val <= high); | ||
} | } | ||
- | |||
- | | ||
</code> | </code> | ||
- | Inedit, pentru inamici, am folosit un algoritm de tip **[[https://en.wikipedia.org/wiki/Hill_climbing|Hill-Climbing]]**, care este apelat atunci cand jucatorul face o mutare, facand ca acestia sa se deplaseze catre PacMan. Fiecare inamic se va uita la starile sale vecine (UP, DOWN, LEFT, RIGHT in ordinea aceasta) si va alege prima stare mai apropiata decat pozitia sa curenta, folosind distanta Manhattan ca euristica. | + | Inedit, pentru inamici, am folosit un algoritm de tip **[[https://en.wikipedia.org/wiki/Hill_climbing|Hill-Climbing]]**, care este apelat atunci cand jucatorul face o mutare, facand ca acestia sa se deplaseze catre PacMan. Fiecare inamic se va uita la starile sale vecine (//UP//, //DOWN//, //LEFT//, //RIGHT// in ordinea aceasta) si va alege prima stare mai apropiata decat pozitia sa curenta, folosind distanta Manhattan ca euristica. |
<code cpp> | <code cpp> | ||
Line 216: | Line 214: | ||
{ | { | ||
// Rest of code... | // Rest of code... | ||
- | TFTscreen.fillScreen(TFT_BLACK); | + | TFTscreen.fillScreen(TFT_BLACK); |
char scoreSir[11]; | char scoreSir[11]; | ||
sprintf(scoreSir, "Scor: %d\n", score); | sprintf(scoreSir, "Scor: %d\n", score); | ||
Line 238: | Line 236: | ||
+ | ===== Concluzii ===== | ||
+ | * Proiectul a fost amuzant de facut (exceptand partea hardware :( ), si acum simt ca inteleg mai bine arhitectura calculatoarelor | ||
+ | * Nu pot sa folosesc memoria la fel ca si pe calculator, deoarece am foarte putina memorie si se umple foarte repede | ||
+ | * Sa va uitati de 10 ori in datasheet sa verificati ca ati legat bine firele :) | ||
+ | * Sa va aveti planuri cum o sa arate proiectul, ca sa nu va cumparati piese degeaba si sa va cumparati piese de calitate | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | <html> |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | <iframe width="560" height="315" src="https://www.youtube.com/embed/M0we7dr7Ifs?si=FwVCBkxV57mRdraP" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> |
- | </note> | + | </html> |
- | + | ||
- | ===== Concluzii ===== | + | |
- | + | ||
- | ===== Download ===== | + | |
- | + | ||
- | <note warning> | + | |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | 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**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 264: | Line 256: | ||
* **19.05** - Adaugat legarea initiala | * **19.05** - Adaugat legarea initiala | ||
* **21.05** - Adaugat design software initial + bibliografie + legarea finala | * **21.05** - Adaugat design software initial + bibliografie + legarea finala | ||
+ | * **25.05** - Finalizat design software + pagina OCW | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
Line 270: | Line 263: | ||
* [[https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf|Arduino UNO R3 Datasheet]] | * [[https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf|Arduino UNO R3 Datasheet]] | ||
* [[https://www.openhacks.com/uploadsproductos/tutorial_display_tft.pdf|KMR 1.8" TFT LCD Datasheet]] | * [[https://www.openhacks.com/uploadsproductos/tutorial_display_tft.pdf|KMR 1.8" TFT LCD Datasheet]] | ||
+ | * [[https://www.youtube.com/watch?v=FGqRiPqg4Ds|TUTORIAL: How to work with a 1.8" SPI TFT with strange incorrect labelling!]] | ||
+ | * [[https://www.instructables.com/Accessing-5-buttons-through-1-Arduino-pin-Revisi/| Accessing 5 Buttons Through 1 Arduino Pin - Revisited]] | ||
=== Resurse Software === | === Resurse Software === | ||
Line 275: | Line 270: | ||
* [[https://www.arduino.cc/en/software| Arduino IDE]] | * [[https://www.arduino.cc/en/software| Arduino IDE]] | ||
* [[https://github.com/robsoncouto/arduino-songs| Arduino Songs]] | * [[https://github.com/robsoncouto/arduino-songs| Arduino Songs]] | ||
+ | * [[https://en.wikipedia.org/wiki/Hill_climbing| Hill climbing]] | ||
+ | ===== Download ===== | ||
+ | <html><a class="media mediafile mf_zip" href="https://ocw.cs.pub.ro/courses/_media/pm/prj2024/vstoica/petrea_andrei_pacman.zip">Download archive</a></html> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||