Gabriela-Angelica MIHALESCU (24928) - BlackJack

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Blackjack este un joc popular de carti in cazinourile din toata lumea.

Scopul jucatorilor este acela de a obtine o mana cu un total de puncte mai aproape de 21 decat mana dealerului (calculatorul), insa fara a depasi 21. Blackjack se joaca cu un pachet standart de 52 de carti (exceptand Jokerii).

Obiectivul jocului este acela de a acumula un punctaj mai mare ca al dealerului (calculatorul), insa fara a depasi 21. Punctajul se calculeaza adunand valoarea cartilor primite.

Valoarea catilor de la 2 la 10 este chiar cea scrisa pe ele. J, Q si K valoreaza fiecare cate 10 puncte. Asul valoreaza 11. La inceput atat jucatorii cat si dealerul primesc 2 carti fiecare. Jucatorii primesc cartile cu fata in sus, in timp ce dealerul va primi una cu fata in jos si una cu fata in sus.

Cea mai buna mana care se poate obtine este cea formata din As + orice carte de 10 puncte. Aceasta poarta denumirea de Blackjack. Jucatorul care o are castiga automat daca dealerul nu are de asemenea Blackjack. Daca dealerul are si el Blackjack este egalitate si nimeni nu castiga. Daca doar dealerul are Blackjack, nu si ceilalti jucatori, acestia pierd automat chiar daca au 21 de puncte.

Dupa impartirea cartilor fiecare jucator poate face o serie de actiuni: poate pastra doar cele 2 carti primite (STAND) sau mai poate cere carti (HIT) pana cand ajunge suficient de aproape sau la 21 de puncte. Cine depaseste 21 de puncte pierde automat!

Descriere generală

<WRAP center round important 55%>

</WRAP>

Pentru implementarea hardware, am folosit placa de baza facuta la laborator (microcontroller AtMega), un LCD Arduino ST7920 si 2 butoane conectate pe o placa de test.

Microcontroller-ul comanda LCD-ul acesta avand o conexiune paralela pe 8 biti.

Hardware Design

Schema electrica

<WRAP center round important 55%>

</WRAP>

<WRAP center round box 60%>

Lista piese

  1. ATMEGA324PA-PU
  2. USB-B
  3. 16MHZ QMIM016
  4. ZENER
  5. LED EL333
  6. K1X10 WSL040
  7. K2X10
  8. PUSHBUTTON
  9. 100R
  10. 470R
  11. 1K5
  12. 10K
  13. 100nF
  14. 15pF KEPF015
  15. Soclu DIP40 dil40emf
  16. Jumper
  17. Butoane
  18. LCD grafic ST7920
  19. Buzzer
  20. Placa de test
  21. Leduri
  22. Fire mama-mama
  23. Barete 10 pini
  24. Barete 40 pini

</WRAP>

Software Design

Pentru mediu de dezvoltare am folosit WinAvr si Sublime.

Pentru implementare am folosit libraria u8glib pentru interfatarea LCD-ului (controller ST7920).

Rezultate Obţinute

<WRAP center round info 60%> Un filmulet despre cum functioneaza joculetul la final poate fi gasit AICI.

</WRAP>

Concluzii

<WRAP center round help 60%>

Mi-a placut foarte mult sa implementez acest proiect, imi pare rau ca nu am avut sufiecient timp sa fac un joculet mai complex.

</WRAP>

Download

<WRAP center round download 60%> Arhiva ce contine codul sursa, Makefileul si biblioteca: mihalescu_gabriela_331cc_blackjack.rar </WRAP>

Jurnal

Pasii principali realizati sunt:

  1. Cumpararea pieselor de baza
  2. Realizarea placutei de baza
  3. Alegerea temei proiectului
  4. Achizitionarea LCD-ului si a pieselor necesare principale
  5. Lipirea pieselor noi
  6. Conectarea si alimentarea LCD-ului
  7. Acomodarea cu biblioteca u8glib
  8. Implementarea algoritmului
  9. Testarea algoritmului
  10. Desenare carti, imagini pentru design
  11. Realizare wiki

pm/prj2016/aconstantinescu/gmihalescu.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