Differences

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

Link to this comparison view

pm:prj2021:agrigore:connect4 [2021/05/27 15:04]
mihaela.nuta1207
pm:prj2021:agrigore:connect4 [2021/06/03 14:38] (current)
mihaela.nuta1207
Line 82: Line 82:
 |GND      |GND | |GND      |GND |
 |VCC      |5V  |  |VCC      |5V  | 
 +
 +
 +===== Software Design =====
 +  * mediu de dezvoltare - **Arduino Ide** 
 +  * librării şi surse 3rd-party
 +    * **PinChangeInt.h** - librărie cu funcționalități de attach și detach pentru întreruperi
 +    * **TFT.h** - librărie Arduino pentru ecran tft
 +    * **SPI.h** - librărie Arduino pentru comunicare SPI având ca master plăcuța Arduino
 +    * Un exemplu Arduino built-in: [[https://​www.arduino.cc/​en/​Tutorial/​BuiltInExamples/​toneMelody]]
  
 ==== Diagrama stărilor ==== ==== Diagrama stărilor ====
Line 90: Line 99:
   * **REPLAY SCREEN**: dupa câteva secunde, pe ecran apare: ​ **PRESS GREEN TO PLAY**. După ce se apasă pe butonul verde, jocul repornește,​ iar starea va deveni starea inițială, adică **BEGIN**   * **REPLAY SCREEN**: dupa câteva secunde, pe ecran apare: ​ **PRESS GREEN TO PLAY**. După ce se apasă pe butonul verde, jocul repornește,​ iar starea va deveni starea inițială, adică **BEGIN**
  
- +==== Implementare ​==== 
-===== Software Design ===== +  * Pe baza butoanelor, jocul poate fi urmărit ca un automat ​de stări. 
-  * mediu de dezvoltare - **Arduino Ide**  +  * În loop se pot observa aceste stări: GAME_INIT, GAME_BEGINS,​ GAME_STARTED,​ cât și alte variabile de stare: player_switched (care imi spune dacă un player și-a realizat tura, eu ar trebui să afișez pe ecran ceea ce el a făcut, iar următorul jucător poate continua) 
-  * librării şsurse 3rd-party +  Am ales să folosesc destul de multe variabile de stări, înafară de acestea, deoarece am dorit să nu desenez la fiecare apel de loop încontinuu aceleași forme care oricum erau desenate. 
-    * **PinChangeInt.h** - librărie cu funcționalități de attach ​și detach pentru întreruperi +  În funcție de starea jocului, în anumite situații, am ales să redesenez ceea ce voiam să șterg cu culoarea background-ului, deoarece era mai costisitor să dau clear la ecran, după care să redesenez totul (în primul rând ar fi trebui să țin minte ce am desenat șîn al 2-lea rând ecranul ar fi făcut un flicker constant, ceea ce ar fi fost urât). 
-    * **TFT.h** - librărie Arduino pentru ​ecran tft +  * Se poate observa că în cod sunt foarte multe define-uri, deoarece am vrut să economisesc cât mai multă memorie, define-urile fiind folosite doar in etapa de preprocesare
-    * **SPI.h** - librărie Arduino pentru comunicare SPI având ca master plăcuța Arduino +
-  * algoritmi şstructuri +
-  * surse şi funcţii implementate+
  
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +  * {{:​pm:​prj2021:​agrigore:​1.jpeg?​400|}}
 +  * {{:​pm:​prj2021:​agrigore:​2.jpeg?​400|}}
 +  * {{:​pm:​prj2021:​agrigore:​3.jpeg?​400|}}
  
 ===== Concluzii ===== ===== Concluzii =====
 +  * Jocul este unul practic, realizat destul de low-cost. Am reușit să realizez tot ce mi-am propus, ba chiar am adăugat și lucruri în plus (la nivel de efect/​software) 
 +  * Dacă nu ai jocuri, îți faci LOL
 ===== Download ===== ===== Download =====
 +{{:​pm:​prj2021:​agrigore:​nuta_mihaela_madalina_334cb_connect4.zip|}}
 ===== Jurnal ===== ===== Jurnal =====
   * 26 aprilie - creare pagină pe ocw   * 26 aprilie - creare pagină pe ocw
Line 139: Line 149:
   * documentație librărie tft.h: [[https://​www.arduino.cc/​en/​Reference/​TFTLibrary]]   * documentație librărie tft.h: [[https://​www.arduino.cc/​en/​Reference/​TFTLibrary]]
   * librăria PinChangeInt:​ [[https://​code.google.com/​archive/​p/​arduino-pinchangeint/​downloads]]   * librăria PinChangeInt:​ [[https://​code.google.com/​archive/​p/​arduino-pinchangeint/​downloads]]
 +  * sunete: [[https://​www.arduino.cc/​en/​Tutorial/​BuiltInExamples/​toneMelody]]
 +  * PDF pagina wiki: [[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​agrigore/​connect4?​do=export_pdf|Connect4]]
  
  
pm/prj2021/agrigore/connect4.1622117083.txt.gz · Last modified: 2021/05/27 15:04 by mihaela.nuta1207
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