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.
Se trage o carte si se sta.
Dealerul are doua reguli dupa care joaca:
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:
Daca jucatorul primeste As-ul cu orice carte fata aceste are mana BlackJack care se resplateste cu 1.5 din pariu.
Schema realizata in Proteus:
Am folosit :
Lista componente:
Piesa | Tip | Numar |
---|---|---|
LCD | Philips PCD8544 | 1 |
Rezistor | 1k8 | 5 |
Rezistor | 3k3 | 5 |
Condensator | 10uF | 1 |
Dioda | 1N4007 | 2 |
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
Simularea proiectului in Proteus a fost un succes.
Proiectul este realizat, dar intre timp s-a ars LCD-ul.
Proiect Proteus & Surse proiect.zip
Proiectul a fost interesant si educativ.