This shows you the differences between two versions of the page.
pm:prj2024:ccontasel:theodor.rolea [2024/05/25 19:07] theodor.rolea [Rezultate Obţinute] |
pm:prj2024:ccontasel:theodor.rolea [2024/05/25 19:28] (current) theodor.rolea |
||
---|---|---|---|
Line 75: | Line 75: | ||
Github: [[https://github.com/TedyR10/Arduino_SlotMachine| Slot Machine Code]] | Github: [[https://github.com/TedyR10/Arduino_SlotMachine| Slot Machine Code]] | ||
</note> | </note> | ||
+ | |||
+ | Explicație pe scurt a codului: | ||
+ | |||
+ | 1. **Structura și Variabile Globale**: | ||
+ | - Am creat o structură `spinDigit` pentru a ține informațiile despre fiecare roată a jocului. | ||
+ | - Am inițializat variabile globale pentru statistici și setările jocului, cum ar fi balanța de credite, numărul de jocuri jucate, sumele plătite etc. | ||
+ | |||
+ | 2. **Funcția `setup()`**: | ||
+ | - În această funcție configurez pinii, inițializez componentele hardware, setez un seed pentru randomizare și inițializez afișajele. | ||
+ | - Afișez un ecran de pornire și setez simbolurile inițiale ale rolelor. | ||
+ | |||
+ | 3. **Funcția `loop()`**: | ||
+ | - Aștept apăsarea unui buton pentru a începe jocul. | ||
+ | - Realizez rotirea rolelor și calculez câștigurile. | ||
+ | - Actualizez balanța de credite și afișez miza curentă. | ||
+ | |||
+ | 4. **Alte funcții**: | ||
+ | - `spinTheWheels()`: Controlează rotirea rolelor. | ||
+ | - `displayWheelSymbol()`: Afișează simbolurile pe roți. | ||
+ | - `highlightWinAndCalculatePayout()`: Determină dacă jucătorul a câștigat și calculează câștigurile. | ||
+ | - `flashSymbol()`: Flash-uri pentru simbolurile câștigătoare. | ||
+ | - `playSplashScreen()`, `playMelody()`, `winSound()`: Funcții pentru efecte sonore și vizuale. | ||
+ | - `adjustCreditBalance()`, `displayWager()`: Actualizează și afișează balanța de credite. | ||
+ | - `waitOnButtonPress()`, `waitOnButtonPressDouble()`: Gestionează apăsarea butoanelor pentru a începe jocul și pentru a dubla câștigurile. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 81: | Line 105: | ||
Video demo: [[https://youtu.be/2NWTOX1ZXZM|Demo Video Slot Machine]] | Video demo: [[https://youtu.be/2NWTOX1ZXZM|Demo Video Slot Machine]] | ||
- | Video varianta finala: [[https://youtu.be/h3RXs2wkHik|Video Slot Machine]] | + | Video varianta finală: [[https://youtu.be/h3RXs2wkHik|Video Slot Machine]] |
</note> | </note> | ||
{{:pm:prj2024:ccontasel:slotmachine_final.jpg?500|}} | {{:pm:prj2024:ccontasel:slotmachine_final.jpg?500|}} | ||
+ | |||
+ | ===== Concluzii ===== | ||
+ | |||
+ | Acest proiect nu doar că mi-a aprofundat înțelegerea programării Arduino și a integrării hardware, dar a evidențiat și importanța organizării și modularității codului. Îmbunătățirile viitoare ar putea include animații mai sofisticate, efecte sonore suplimentare și elemente de interfață cu utilizatorul îmbunătățite. | ||
+ | |||
+ | ===== Download ===== | ||
+ | Cod sursă, biblioteci folosite si README (.zip): | ||
+ | |||
+ | {{:pm:prj2024:ccontasel:slotmachine_sourcecode.zip|}} | ||
+ | |||
===== Jurnal ===== | ===== Jurnal ===== | ||
<note tip> | <note tip> | ||
- | 02.05.2024: Am incarcat datele principale despre proiect: introducere, descriere, bill of materials. | + | 02.05.2024: Am încărcat datele principale despre proiect: introducere, descriere, bill of materials. |
- | 09.05.2024: Am incarcat si o schema provizorie a circuitului si am mai ajustat cateva componente. | + | 09.05.2024: Am încărcat și o schemă provizorie a circuitului și am mai ajustat câteva componente. |
- | 16.05.2024: Am refacut schemele cu noile componente cumparate si am adaugat si codul sursa. | + | 16.05.2024: Am refăcut schemele cu noile componente cumpărate și am adăugat și codul sursă. |
- | 24.05.2024: Upload final code + demo inainte de a fi completata carcasa. | + | 24.05.2024: Am încărcat codul final + demo |
</note> | </note> |