Constantin-Alexandru ALECU - X si 0

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in implementarea bine-cunoscutului joc X si 0 , atat player vs player cat si player vs bot (pe o matrice 3×3 de leduri bicolore). Scopul sau este de “entertainment” . Ideea de la care am pornit se gaseste intr-un laborator de Proiectarea Algoritmilor.

Descriere generală

Un utilizator poate controla jocul cu ajutorul a 4 butoane sageti(sus , jos , stanga ,dreapta) si un buton 'select' , prin care un jucator confirma pozitia pe care pune (x-ul sau 0-ul). Incepatorul jocului este ales random ( 50% - 50% ) .

Schema proiectului este urmatoarea :

Hardware Design

Schema electrica : untitled.sch

Lista de componente:

  • Led bicolor : 10 bucati
  • Butoane : 5 bucati
  • Rezistente 0.1k : 10 bucati
  • Fire conectoare
  • Placuta de test cu gaurele

Software Design

Software folosit:

  • Eagle
  • WinAVR
  • Programmer's Notepad

Tabela de joc este formata din 9 leduri bi-colore asezate in mod egal pe trei linii. Am implementat trei funcii , una pentru fiecare mod al jocului:

  • PVP - player vs player
  • PVB - player vs bot
  • PVAIB - player vs bot inteligent

Botul “neinteligent” muta pe urmatoarea pozitie libera , deci este foarte usor de invins.

Botul Inteligent muta dupa un algoritm de backtracking , cu care poate fi facut cel mult remiza .

Rezultate Obţinute

N-am avut timp sa testez proiectul.

Concluzii

Proiectul necesita responsibilitate , timp . Daca nu ai fi fost asa incarcat semestrul l-as fi terminat in timp util . Sper sa il termin dupa sesiune.

Download

constantinalecu.zip

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

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Proiectele din anii trecuti , Laboratoarele de PM .

pm/prj2014/ddragomir/3008.txt · Last modified: 2021/04/14 17:07 (external edit)
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