Table of Contents

Blackjack

Introducere

Prezentarea pe scurt a proiectului:

  • Oferă o versiune interactivă a jocului clasic de cărți, blackjack, utilizând senzori pentru a determina modul în care miza este aleasă și cum jucătorii pot paria și interacționa cu dealerul.
  • Scopul este de a crea o experiență de joc unică, folosind senzori pentru a influența acțiunile jucătorilor și rezultatul jocului, oferind în același timp oportunitatea de a explora funcționarea acestor senzori într-un context creativ.
  • Ideea a fost de a combina tehnologia modernă cu un joc tradițional, adăugând un strat de interactivitate.
  • Este util, deoarece îi ajută pe alții să înțeleagă modul în care tehnologia poate fi aplicată pentru a îmbunătăți experiențele tradiționale.

Descriere generală

  • Joc interactiv de blackjack dezvoltat pe Arduino Uno;
  • Fotorezistorul este echivalentul butonului de hit, in funcție de luminozitate se dă sau nu hit;
  • Senzorul PIR detectează mișcarea pentru decizii de joc(Stand);
  • Microfonul ajustează miza pe baza nivelului de zgomot;
  • Un ecran LCD afișează scorul.

Hardware Design

  Listă de piese:
    * Arduino UNO (ATmega328p)
    * Modul senzor PIR HC-SR501 (senzor de mișcare)
    * Modul cu fotorezistor
    * Modul senzor de sunet cu microfon
    * LCD 1602 cu I2C
    * Breadboard
    * Fire mamă-mamă, tată-tată
    * Cablu USB 

Schema electrică:

Schema arduino:

Utilizare pini pentru fiecare componentă:

Software Design

  • Mediu de dezvoltare : Arduino IDE

Librării utilizate :

  • LiquidCrystal_I2C - pentru controlul LCD-ului cu interfata I2C
  • Wire - pentru comunicarea I2C
  • time.h - pentru generarea de numere in ordine aleatoare

  • Card: Reprezintă o carte de joc, având câmpurile value (valoarea cărții) și symbol (simbolul cărții - inimă, caro, treflă, pică).
  • Vectorul deck: Stochează pachetul de 52 de cărți.
  • Vectorii playerCards și dealerCards: Stochează cărțile jucătorului și respectiv ale dealerului.

  • placeBetWithAudio: Utilizează intrarea de la senzorul audio pentru a plasa un pariu.
  • resetDeck: Resetează pachetul de cărți.
  • dealCard: Împarte o carte din pachet și actualizează scorul.
  • adjustAceValue: Ajustează valoarea unui as dacă scorul depășește 21.
  • playDealerTurn: Gestionează tura dealer-ului, împărțind cărți până când scorul dealer-ului ajunge la cel puțin 17.
  • determineWinner: Determină câștigătorul pe baza scorurilor și actualizează banii jucătorului.
  • displayPlayerScreen: Afișează scorul și cărțile jucătorului.
  • displayDealerScreen: Afișează scorul și cărțile dealer-ului.
  • displayResult: Afișează rezultatul jocului (câștig, pierdere sau egalitate) și mâinile finale ale jucătorului și dealer-ului.
  • resetGame: Resetează starea jocului pentru o rundă nouă.

Rezultate Obţinute

Concluzii

Download

Arhiva : blackjack.zip

Bibliografie/Resurse

Export to PDF