This shows you the differences between two versions of the page.
pm:prj2021:apredescu:slotmachine [2021/06/03 00:50] andrei.gherghe0602 |
pm:prj2021:apredescu:slotmachine [2021/06/03 02:55] (current) andrei.gherghe0602 |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Slot Machine ===== | ===== Slot Machine ===== | ||
- | Autor: Andrei-Cristi Gherghe Grupa: 331CC | + | Autor: Andrei-Cristi Gherghe |
+ | Grupa: 331CC | ||
===== Introducere ===== | ===== Introducere ===== | ||
Simulator Slot Machine cu ecran LCD | Simulator Slot Machine cu ecran LCD | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Jucatorul va miza sume la alegere cu ajutorul butoanelor pe combinatii aleatorii de simboluri ce vor fi afisate pe un ecran LCD. Combinatiile castigatoare vor fi intampinate de aprinderea unor LED-uri si o animatie pe ecran. | + | Jucatorul va miza sume la alegere cu ajutorul unui buton si al unui joystick pe combinatii aleatorii de simboluri ce vor fi afisate pe un ecran LCD. Combinatiile castigatoare vor fi intampinate de aprinderea unui LED si o animatie pe ecran. Jocul este similar cu Sizzling Hot si scopul acestuia este de a obtine cat mai multe simboluri de acelasi fel pe o linie sau pe diagonala. Numarul minim necesar de simboluri consecutive de acelasi tip este 2 daca simbolul este cerc de culoare magenta, altfel 3 si simbolul '7' va genera in combinatiile norocoase un castig de 8 ori mai mare decat in cazul celorlalte. |
- | {{:pm:prj2021:apredescu:slot-machine.png?500|}} | + | {{:pm:prj2021:apredescu:schema-bloc_1_.png?500|}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- Arduino UNO | - Arduino UNO | ||
- Breadboard | - Breadboard | ||
- LCD Display | - LCD Display | ||
- | - Butoane | + | - Buton |
- Modul LED RGB | - Modul LED RGB | ||
- | - Rezistente | + | - Rezistenta 330 Ω |
- Fire pentru legatura | - Fire pentru legatura | ||
- Joystick | - Joystick | ||
+ | |||
+ | {{:pm:prj2021:apredescu:electric_scheme.png?500|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Pentru dezvoltarea programului pentru simulatorul de pacanele am folosit IDE-ul Arduino iar debugging-ul in consola de output pentru seriala. Am folosit bibliotecile Adafruit_GFX si Adafruit_ST7735 specifica LCD-ului TFTST7735 pentru desenarea simbolurilor si background-ului, doar cu functii primitive precum drawRect(...) si fillRect(...). Codul sursa se gaseste la sectiunea "Bibliografie/Resurse". | ||
+ | Exista 2 functii principale: drawMainMenu(), in care se deseneaza pe ecran meniul principal in care se selecteaza credit-ul initial pentru joc si drawGame() in care sunt generate simbolurile si optiunile pentru inceperea jocului, alegerea bet-ului si pentru intoarcerea in meniul principal. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | {{:pm:prj2021:apredescu:poza_arduino.jpg?500|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Ar fi fost mai usor daca nu desenam simbolurile cu functii primitive pentru forme geometrice simple, ci doar le citeam de pe un modul cu card microSD conectat la Arduino, dar mi-am dat seama prea tarziu xD. Partea dificila a fost la partea de scrierea a programului, avand in vedere coliziunile dintre forme, sincronizarea intre rendering-urile acestora si incadrarea acestora in alte forme. | ||
===== Download ===== | ===== Download ===== | ||
+ | https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/slotmachine?do=export_pdf | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
+ | * [18.04.2021]: Achizitionare piese | ||
+ | * [30.04.2021]: Asamblarea componentelor | ||
+ | * [31.04.2021]: Documentatie biblioteci Adafruit | ||
+ | * [01.05.2021]: Scriere program | ||
+ | * [03.05.2021]: Finalizare proiect | ||
+ | |||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/slotmachine?do=export_pdf | + | * Github: https://github.com/andrew160full/Arduino-Slot-Machine/blob/main/version_alpha.ino |
+ | * Demo youtube: https://www.youtube.com/watch?v=P-wzrwLHcIY | ||
+ | * Biblioteca folosita: https://github.com/adafruit/Adafruit-ST7735-Library |