BlackJack

Introducere

Proiectul isi propune implementarea celebrului joc BlackJack. Scopul jocului este de a strange o valoare a cartilor cat mai apropiata de 21, fara insa a depasi.

Voi implementa o versiune simplificata a jocului. Jucatorul va juca contra unui dealer si va avea trei optiuni: Hit, Stand si Double.

  • Hit = jucatorul mai cere o carte.
  • Stand = jucatorul se opreste.
  • Double = poate fi folosita doar daca nu a mai tras vreo carte si are ca efect plasarea a inca unui pariu cu scopul de a realiza unui castig dublu.

Se trage o carte si se sta.

Dealerul are doua reguli dupa care joaca:

  • Daca are sub 16 inclusiv va mai cere o carte.
  • Daca are peste 16 se opreste.

Secventa jocului:

Dealerul primeste o carte, urmand ca jucatorul sa primeasca doua. Valorile cartilor se pot vedea.

Urmeaza decizia jucatorului. Acesta poate folosi cele trei optiuni. Runda de decizie a jucatorului se termina cand alege optiunea Stand sau depaseste 21. Daca jucatorul depaseste 21, pierde si dealerul nu mai trage carti.

In cazul in care nici jucatorul, nici dealer-ul nu depasesc 21, castigatorul este cel cu valoarea cartilor mai apropiata de 21.

Valoarea cartilor:

  • ItemCartile de la 2 la 10 au valoarea cifrei.
  • Cartile fete(J, Q, K) au valoarea 10.
  • As-ul are valoarea 1 sau 11 in functie de dorinta jucatorului.

Daca jucatorul primeste As-ul cu orice carte fata aceste are mana BlackJack care se resplateste cu 1.5 din pariu.

Descriere generala

  • Jucatorul ia deciziile folosind cele trei butoane.
  • Afisarea se va face pe un LCD Nokia 3310.

Hardware Design

Schema realizata in Proteus:

Am folosit :

  • Divizoare de tensiune formate din 2 rezistente de 1k8 si 3k3 pe fiecare din cele 5 intrari ale LCD-ului.
  • Doua diode 1N4007 pentru a asigura 3,3 V pe a alimenta LCD-ul.
  • Un condensator de 10uF intre masa si VOUT.

Lista componente:

Piesa Tip Numar
LCD Philips PCD8544 1
Rezistor 1k8 5
Rezistor 3k3 5
Condensator 10uF 1
Dioda 1N4007 2

Software Design

Am folosit ca mediu de dezvoltare WinAVR.

Am folosit urmatoarele functii din libraria inclusa la download pentru a implementa jocul:

void LCD_init(void);

void LCD_clear(void);

void LCD_update (void);

void LCD_goto(unsigned char x, unsigned char y);

void LCD_putchr(unsigned char character);

void LCD_write(unsigned char data);

void LCD_command(unsigned char command);

void LCD_putstr(const char *string);

void LCD_border(void);

void delay(int millisec);

Am folosit FastLCD pentru a crea cartile.

FastLCD download: fastlcd.zip

Rezultate obtinute

Simularea proiectului in Proteus a fost un succes.

Proiectul este realizat, dar intre timp s-a ars LCD-ul.

Download

Proiect Proteus & Surse proiect.zip

Concluzii

Proiectul a fost interesant si educativ.

Bibliografie/Resurse

pm/prj2010/mcarjaliu/blackjack.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