Autorul poate fi contactat la adresa: Login pentru adresa
Sudoku 9×9 este un joc interactiv ce testeaza de capacitatea de gandire logica a jucatorului si ii ofera acestuia o modalitate de a se relaxa. Acesta versiune a jocului presupune existenta unei tabele patratice ce este impartita in 9 subtabele patratice de dimensiune 3×3 (in total 81 de casute). Jocul poate fi jucat de un singur jucator, a carui obiectiv este sa completeze intreaga tabela sudoku, respectand urmatoarele reguli:
Initial, tabela are completate anumite casute, iar jucatorul trebuie sa porneasca de la acestea pentru a obtine o completare valida.
Jucatorul va putea seta 3 nivele de dificultate: usor, mediu, dificil. Dupa aceasta etapa, pe LCD va aparea tabela ce trebuie completata. O parte din casute vor avea deja numere asignate, obiectivul jucatorului fiind sa obtina o solutie valida pornind de la acestea. Folosind butoanele, jucatorul se va putea deplasa pe ecran catre casuta dorita, o va selecta si va putea completa acea casuta cu valoarea dorita.
In momentul de fata, m-am gandit ca jucatorul sa aiba la dispozitie 4 butoane speciale, ce reprezinta numerele 1, 2, 4 si 8 si pornind de la aceastea, jucatorul sa le apese in asa fel incat suma valorilor butoanelor apasate sa fie valoarea pe care doreste sa o introduca. Aceasta varianta este una corecta, intrucat orice numar poate fi scris ca o suma de puteri ale lui doi. Daca valoarea este o suma de puteri, jucatorul va trebui sa apese simultan 2 sau 3 butoane (astfel incat suma valorilor butoanelor sa dea valorea cautata).
Partea de software va verifica daca valoarea introdusa respecta regulile jocului. Daca valoarea nu poate fi introdusa in acea casuta, se va aprinde LED-ul utilizator timp de jumatate de secunda.
In momentul terminarii unui joc, va aparea un mesaj de terminare,dupa care jucatorul va putea selecta alt joc.
In momentul pornirii, va fi afisat un meniu, din care jucatorul trebui sa selecteze nivelul de dificultate dorit folosind butonul DOWN. In momentul in care este hotarat ce nivel doreste, jucatorul va apasa butonul de SELECT pentru a incepe jocul. Pe ecran va fi afisata tabela de sudoku. Casutele deja completate la inceputul jocului nu pot fi modificate si vor fi marcate distinctiv.
Trecerea de la o stare la alta se face folosind butonul de SELECT. Casuta in care se afla jucatorul in momentul curent este de asemenea marcata distinctiv.
Pe ecran vor fi afisate si “numar_casute_completate/numar_de_casute_totale”. In momentul in care cele doua valori devin egale (jucatorul a completat toate casutele cu valori valide), pe ecran va fi afisat un mesaj de notificare, dupa care jucatorul va reveni la meniul de selectare a nivelului.
<WRAP center round box 84%>
Am gasit acest proiect interesant si consider ca in urma acestei experiente am capatat cunostintele elementare in ceea ce priveste proiectarea folosind microprocesoare. De asemenea, o parte pozitiva a reprezentat-o faptul ca nu a trebuit sa umblu foarte mult dupa componentele necesare realizarii proiectului. Sunt destul de multumit de rezultatul obtinut. Cu toate acestea, exista functionalitati la care m-am gandit, insa nu am avut timp sa le implementez, motiv pentru care, daca voi avea timp voi continua sa imbunatatesc acest proiect.
<WRAP center round download 60%> Arhiva ce contine codul sursa, fisierul de README, biblioteca u8glib si un Makefile se gaseste la urmatoarea adresa. </WRAP>
Resurse hardware