This shows you the differences between two versions of the page.
pm:prj2021:agrigore:chromedinosaur [2021/06/02 14:13] mihai.pirvulet [Software Design] |
pm:prj2021:agrigore:chromedinosaur [2021/06/02 15:02] (current) mihai.pirvulet [Jurnal] |
||
---|---|---|---|
Line 8: | Line 8: | ||
{{:pm:prj2021:agrigore:1_82d2cg8gpe9cvisaph6rpg.gif?nolink&300|}} | {{:pm:prj2021:agrigore:1_82d2cg8gpe9cvisaph6rpg.gif?nolink&300|}} | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Se conectează la Arduino UNO un ecran LCD si butoane de up/down/left/right. Acestea vor fi butoanele care vor fi folosite la controlul jucatorului, fiind nevoie sa sara peste obstacole. De asemenea, va fi conectat si un buzzer pentru feedback audio in joc si eventual niste LED-uri pentru a marca diverse evenimente speciale in timpul jocului. | + | Se conecteaza la un Arduino UNO: un ecran LCD, un buton, un led RGB si un buzzer. Jocul este similar celui din browser atunci cand iti pica netul. Ai un personaj pe care il controlezi (l-am botezat "Jimmy", idk why) si trebuie sa sara peste obstacole generate random. La fiecare obstacol sarit cu succes primesti 1 punct. |
+ | |||
+ | LED-ul RGB indica dificultatea: verde - usor, galben - mediu, rosu - greu, si se schimba la pragul de 5, respectiv 10 puncte, ca sa mentina jocul interesant. Buzzerul e folosit pentru feedback atunci cand jucatorul sare sau primeste 1 punct, precum si un cantec de incurajare (sau troll) la final de joc. Potentiometrul e folosit la setarea contrastului ecranului LCD. | ||
=== Schema Bloc === | === Schema Bloc === | ||
- | {{:pm:prj2021:agrigore:dino_diagram.png?nolink|}} | + | {{:pm:prj2021:agrigore:schema_chrome2.png?nolink|}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 33: | Line 36: | ||
== Versiunea finala - EAGLE == | == Versiunea finala - EAGLE == | ||
- | {{:pm:prj2021:agrigore:schema_electrica_chromedinosaur.png?nolink&800|}} | + | {{:pm:prj2021:agrigore:schema_electrica_chromedinosaur.png?nolink&700|}} |
Dupa implementarea efectiva a proiectului, am adus cateva modificari. Schema EAGLE reprezinta varianta finala, cu led RGB si pinii corecti. | Dupa implementarea efectiva a proiectului, am adus cateva modificari. Schema EAGLE reprezinta varianta finala, cu led RGB si pinii corecti. | ||
Line 71: | Line 74: | ||
* **generate()** - returneaza un tip de obstacol random din cele setate (am apucat sa fac doar 2, dar e usor sa se adauge unele noi). | * **generate()** - returneaza un tip de obstacol random din cele setate (am apucat sa fac doar 2, dar e usor sa se adauge unele noi). | ||
* **playSong()** - functie ce reda o melodie definita folosind **pitches.h** | * **playSong()** - functie ce reda o melodie definita folosind **pitches.h** | ||
+ | |||
+ | == Observatii == | ||
+ | * Mi s-a parut destul de greu sa fac jocul "playable", m-am jucat foarte mult cu parametri lui pana sa ajunga intr-o versiune decenta, sa nu fie nici prea plictisitor nici imposibil. | ||
+ | * Un aspect de implementare interesant mi s-a parut animatia de sarit a jucatorului, care a fost destul de dificila. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | Demo:[[https://youtu.be/Rp5U3N3E26o|https://youtu.be/Rp5U3N3E26o]] | ||
+ | |||
+ | {{:pm:prj2021:agrigore:chrome_demo.jpg?nolink&700|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Mie imi place ce a iesit, am stat o gramada sa configurez jocul sa fie cat de cat enjoyable (si usor addictive). Cred ca ar mai putea fi imbunatatita viteza de raspuns la inputul utilizatorului, dar overall mi s-a parut un proiect dragut care a rezumat bine ce am invatat la PM semestrul acesta. | ||
===== Download ===== | ===== Download ===== | ||
+ | {{:pm:prj2021:agrigore:proiect_chrome_dinosaur.zip|}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 84: | Line 96: | ||
* 24 Mai - Schema Electrica varianta initiala | * 24 Mai - Schema Electrica varianta initiala | ||
* 2 Iunie - Schema Electrica varianta finala | * 2 Iunie - Schema Electrica varianta finala | ||
+ | * 2 Iunie - Finalizare pagina wiki, upload cod, poze, demo, bibliografie | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | * [[https://www.arduino.cc/en/Tutorial/LibraryExamples/HelloWorld|https://www.arduino.cc/en/Tutorial/LibraryExamples/HelloWorld]] | ||
+ | * [[https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneMelody|https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneMelody]] | ||
+ | * Laboratoarele de PM | ||
+ | |||
+ | |||
Pdf: https://ocw.cs.pub.ro/courses/pm/prj2021/agrigore/chromedinosaur?do=export_pdf | Pdf: https://ocw.cs.pub.ro/courses/pm/prj2021/agrigore/chromedinosaur?do=export_pdf |