Differences

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

Link to this comparison view

pm:prj2024:mdinica:andreea.drehuta [2024/05/26 15:40]
andreea.drehuta [Organizarea Codului]
pm:prj2024:mdinica:andreea.drehuta [2024/05/26 23:28] (current)
andreea.drehuta [Jurnal]
Line 35: Line 35:
   * Mediu de dezvoltare este Arduino IDE.   * Mediu de dezvoltare este Arduino IDE.
   * Librariile include sunt Keypad_I2C.h si LiquidCrystal_I2C.h pentru simplificarea utilizarii LCD-ului si al Numpad-ului cu ajutorul protocolului I2C.   * Librariile include sunt Keypad_I2C.h si LiquidCrystal_I2C.h pentru simplificarea utilizarii LCD-ului si al Numpad-ului cu ajutorul protocolului I2C.
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi 
-  * (etapa 3) surse şi funcţii implementate 
 </​note>​ </​note>​
  
Line 54: Line 52:
   * menu(): va printa numele jocului si trecerea spre urmatorul state, va astepta o apasare de buton verde pentru a trece la state-ul CHOOSE_DIFF.   * menu(): va printa numele jocului si trecerea spre urmatorul state, va astepta o apasare de buton verde pentru a trece la state-ul CHOOSE_DIFF.
   * choose_diff():​ va printa optiunile de dificultate "​easy"​ si "​hard"​. Jucatorul poate alege navigand stanga prin apasarea (*) si dreapta prin apasarea (#). Pentru a confirma alegerea, se asteapta apasarea butonului verde. Pentru a se intoarce in state-ul de pornire se va apasa butonul rosu.   * choose_diff():​ va printa optiunile de dificultate "​easy"​ si "​hard"​. Jucatorul poate alege navigand stanga prin apasarea (*) si dreapta prin apasarea (#). Pentru a confirma alegerea, se asteapta apasarea butonului verde. Pentru a se intoarce in state-ul de pornire se va apasa butonul rosu.
-  * game(): va procesa tastele apasate pe numpad de catre jucator. Fiecare apasare va genera un sunet prin buzzer. Jucatorul poate adauga cifrele in ce ordine doreste, pentru a face acest lucru va muta cursorul stanga(*) dreapta(#). Cand o cifra este selectata, va palpai si daca jucatorul apasa o alta tasta, cifra va fi suprascrisa. Pentru a trimite codul, jucatorul va apasa butonul verde+  * game(): va procesa tastele apasate pe numpad de catre jucator ​si va verifica corectitudinea acestora (correct_code[i] = 1, daca este corecta si  correct_code[i] = -1, daca este gresita). Fiecare apasare va genera un sunet prin buzzer. Jucatorul poate adauga cifrele in ce ordine doreste, pentru a face acest lucru va muta cursorul stanga(*) dreapta(#). Cand o cifra este selectata, va palpai si daca jucatorul apasa o alta tasta, cifra va fi suprascrisa. Pentru a trimite codul, jucatorul va apasa butonul verde. In situatia in care jucatorul nu a tastat toate cele 4 cifrele, buzzer-ul va scoate un sunet si jocul nu va progresa. Daca jucatorul vrea sa renunte la jocul curent, poate apasa pe butonul rosu. 
 +  * easy_check_game():​ va calcula cate cifre sunt corecte si va aprinde atatea leduri verzi, restul rosii. Va scrie pe lcd cate cifre au fost corecte si le va arata pozitia in cod. Daca jucatorul vrea sa renunte la jocul curent, poate apasa pe butonul rosu. 
 +  * hard_check_game():​ va calcula cate cifre sunt corecte si va aprinde atatea leduri verzi, restul rosii. Va scrie pe lcd cate cifre au fost corecte. Daca jucatorul vrea sa renunte la jocul curent, poate apasa pe butonul rosu. 
 +  * final(): va fi apelat daca toate cifrele sunt corecte. Va printa un  mesaj de incurajare si va intreba jucatorul daca vrea sa joace din nou. La apasarea butonului verde, se va intoarce in state-ul de menu. 
 +  * choose_give_up():​ va fi apelata daca jucatorul vrea sa renunte prin apasarea butonului rosu. Jucatorul poate alege intre "​yes"​ si "​no"​ prin mutarea cursoului stanga(*) dreapta(#). Pentru a confirma decizia, jucatorul trebuie sa apese butonul verde. 
 +  * final_give_up():​ va scrie pe lcd care este codul corect si va intreba jucatorul daca vrea sa joace din nou. Pentru a face acest lucru, jucatorul trebuie sa apese butonul verde, iar jocul se va intoarce in state-ul CHOOSE_DIFF. 
 + 
 +Functii ajutatoare:​ 
 +  * setColor(int redValue, int greenValue, int blueValue, RGBLed led): Valorile pentru rosu, verde si albastru si ledul pe care sa il aprinda. 
 +  * beep(int ms, uint8_t freq): Numarul de milisecunde si frecventa pentru buzzer 
 +  * get_button_input(int buttonPin): debounce button 
 +  * pressed_one_time(int buttonPin): va verifica daca butonul a fost apasat si va returna true cand butonul nu mai este eliberat.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 <note tip> <note tip>
-Care au fost rezultatele ​obţinute ​în urma realizării proiectului vostru.+Rezultatele ​obţinute: \\ 
 +GitHub: https://​github.com/​AndreeaDrehuta/​CrackTheCode \\ 
 + 
 +Youtube: https://​youtu.be/​m9wbOW-NLac 
 </​note>​ </​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
 +O experienta interesanta
 ===== Download ===== ===== Download =====
  
Line 74: Line 87:
  
 <note tip> <note tip>
-Update schema fusion+  * Update schema fusion 
 +  * Adaugare Software Design 
 +  * Adaugare github 
 +  * Adaugare youtube
 </​note>​ </​note>​
  
pm/prj2024/mdinica/andreea.drehuta.1716727223.txt.gz · Last modified: 2024/05/26 15:40 by andreea.drehuta
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