This is an old revision of the document!


Sudoku

  • Autor: Axinia Claudiu-Andrei
  • Grupa: 335CC

Introducere

Proiectul reprezinta implementarea unui joc Sudoku(varianta 4×4), folosind materiale si concepte legate de materia Proiectarea cu Microprocesoare.

Este o varianta mai rapida si mai distractiva atat de implementat, cat si de jucat chiar si pentru pasionatii de Sudoku(inclusiv eu, de unde mi-a venit si ideea pentru acest proiect), comparativ cu variantele clasice pe foaie sau un dispozitiv mobil.

Descriere generală

Jocul poate fi jucat de un jucator pornind de la o configuratie initiala afisata pe un ecran LCD. Trebuie respectate regulile Sudoku: nu pot exista cifre duplicate pe un rand, pe o coloana sau intr-un careu din grila.

Jucatorul va putea selecta din butoanele disponibile atat pozitionarea pe grila de Sudoku(sus/jos/stanga/dreapta), cat si incrementarea si apoi plasarea/stergerea inainte de plasare a unei cifre. In final, in caz de victorie se va primi un mesaj “Ai castigat!” si se va afisa scorul primit.

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Lista componente folosite:

  • Placa compatibila cu Arduino UNO
  • Ecran LCD 128 x 160
  • Breadboard
  • Butoane(x7)
  • LED
  • Buzzer
  • Fire tata-tata
  • Rezistoare 1000 & 470 Ohmi

Schema Bloc

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Am obtinut jocul de Sudoku(versiunea 4×4), respectand, prin implementarile hardware si software, regulile si design-ul binecunoscute. Jucatorul se poate deplasa in toate cele 4 directii pe ecran si poate plasa/sterge numere in grila pentru a rezolva jocul. In final, se calculeaza scorul conform regulilor afisate la inceput si, in caz de victorie, se afiseaza un mesaj de felicitari “Ai castigat!”. Functionalitati:

Reguli - ecran de start

Joc initial

Joc final

Mesaj "Ai castigat!" si scor

Concluzii

- A fost un proiect distractiv de implementat, care a necesitat cunostinte matematice pentru implementarea software a Sudoku, rabdare in intampinarea si solutionarea dificultatilor si munca pentru asamblarea hardware prin aplicarea cunostintelor invatate la materia PM.

- Jocul este foarte asemanator cu cel clasic pe hartie, folosind bineinteles o altfel de implementare prin jocul din butoane push pe LCD.

- Am tratat si cazuri absurde precum jucatorul incercand sa stearga numerele date deja initial sau iesirea in afara grilei.

- Codul este o baza solida caruia i se pot aplica in viitor lucruri/functii suplimentare prin updatarea acestuia.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

06.05: Creare pagina de ocw si descriere detalii despre proiect, implementare, piese folosite si schema bloc.

Saptamana 16-20 mai: procurare materiale si piese necesare, incepere implementare hardware(conectare ecran LCD) & software(reguli Sudoku).

Saptamana 23-27 mai: finalizare implementare hardware & software, finalizare wiki pagina OCW.

Bibliografie/Resurse

https://github.com/olikraus/ucglib - Biblioteca UCGLIB;

https://www.youtube.com/watch?v=boagCpb6DgY&ab_channel=educ8s.tv - Conectare ecran LCD 128 x 160;

https://acoptex.com/project/263/basics-project-054a-18-spi-tft-lcd-128x160-module-and-flickering-streaks-at-acoptexcom/ - Conectare ecran LCD & alte informatii legate de el;

- Diverse surse de pe internet( + cunostinte proprii :) ) referitoare la regulile Sudoku si cum ar corespunde ele in cadrul proiectului;

Export to PDF

pm/prj2022/robert/sudoku.1653682030.txt.gz · Last modified: 2022/05/27 23:07 by claudiu.axinia
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