This is an old revision of the document!


Nim

Autor: Stefan Popovici

Introducere

Proiectul isi propune sa le ofere utilizatorilor posibilitatea de a juca jocul Nim, atat single player (jucator vs computer) cat si multiplayer (doi jucatori joaca unul impotriva celuilalt). Acesta este un joc simplu, care presupune existenta unor gramezi de obiecte din care jucatorii extrag, pe rand, unul sau mai multe obiecte la fiecare mutare, insa doar dintr-o singura gramada la un moment dat. Jucatorul care extrage ultimul pierde. Varianta implementata este cea cu trei gramezi de obiecte, cantitatile fiind generate aleatoriu (valori intre 1 si 50 inclusiv).

Descriere generala

Informatiile despre starea curenta a jocului sunt afisate pe un ecran LCD 16×2. Initial se vor afisa cele 2 moduri de joc disponibile. Odata ce unul dintre acestea este ales, in timpul derularii jocului se vor afisa cantitatile de obiecte ramase in fiecare din cele 3 gramezi, pe prima linie a ecranului, respectiv cantitatea ce se doreste a fi extrasa la urmatoarea mutare, pe a doua linie a ecranului, in dreptul gramezii (coloanei) dorite. Jucatorii au la dispozitie trei butoane si un potentiometru prin intermediul carora pot introduce mutarile pe care vor sa le faca atunci cand le vine randul. Cu ajutorul primelor doua butoane pot comuta spre stanga sau spre dreapta pentru a alege gramada din care vor sa extraga. Potentiometrul are rolul de a selecta cu usurinta cantitatea ce se doreste a fi extrasa, variind intre 1 si numarul de obiecte ramase in gramada respectiva. Nu in ultimul rand, ultimul buton (cel din dreapta) este folosit pentru a efectua mutarea stabilita in modul descris anterior si a ceda randul celuilalt jucator. In modul single player, pentru ca mutarile computerului sa poata fi observate cu usurinta de catre utilizator, acestea vor fi afisate pe ecran pentru un timp scurt, urmand apoi randul jucatorului. Cand jocul se termina, pe ecran se va afisa castigatorul, iar buzzerul va emite un sunet timp de cateva secunde.

Schema bloc

Hardware Design

Lista componente
Componenta Cantitate
Arduino UNO R3 1
LCD 16×2 1
Breadboard 400 points 1
Resistor 220 Ohm 1
Potentiometer 10kOhm 2
Pushbutton 3
Piezo capsule [PKM22EPP-40] 1
Solid core jumper wires
Schema circuitului

Software Design

Concluzii

Download

Jurnal

  • descriere + schema bloc: 30 aprilie 2021

Bibliografie/Resurse

pm/prj2021/avaduva/nim.1622030055.txt.gz · Last modified: 2021/05/26 14:54 by stefan.popovici
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