gtheler 5 лет назад
Родитель
Сommit
3ca029c622
3 измененных файлов: 64 добавлений и 7 удалений
  1. +58
    -2
      src/base.cpp
  2. +4
    -4
      src/base.h
  3. +2
    -1
      src/blackjack.cpp

+ 58
- 2
src/base.cpp Просмотреть файл

#include <iostream> #include <iostream>
#include "base.h" #include "base.h"


void Hand::draw(void) {
void Hand::draw(bool holeCardShown) {
for (auto it : cards) { for (auto it : cards) {
std::cout << card[it].utf8() << std::endl;
std::cout << " _____ ";
} }
std::cout << std::endl;
unsigned int i = 0;
for (auto it : cards) {
if (holeCardShown || i != 1) {
std::cout << "|" << card[it].getNumberASCII() << ((card[it].number != 10)?" ":"") << " | ";
} else {
std::cout << "|#####| ";
}
i++;
}
std::cout << std::endl;

i = 0;
for (auto it : cards) {
if (holeCardShown || i != 1) {
std::cout << "| | ";
} else {
std::cout << "|#####| ";
}
i++;
}
std::cout << std::endl;
i = 0;
for (auto it : cards) {
if (holeCardShown || i != 1) {
std::cout << "| " << card[it].getSuitUTF8() << " | ";
} else {
std::cout << "|#####| ";
}
i++;
}
std::cout << std::endl;
i = 0;
for (auto it : cards) {
if (holeCardShown || i != 1) {
std::cout << "| | ";
} else {
std::cout << "|#####| ";
}
i++;
}
std::cout << std::endl;

i = 0;
for (auto it : cards) {
if (holeCardShown || i != 1) {
std::cout << "|___" << ((card[it].number != 10)?"_":"") << card[it].getNumberASCII() << "| ";
} else {
std::cout << "|#####| ";
}
i++;
}
std::cout << std::endl;
return; return;

+ 4
- 4
src/base.h Просмотреть файл

// TODO: delete copy & move // TODO: delete copy & move
// TODO: decidir si conviene usar getters o public members // TODO: decidir si conviene usar getters o public members
/*
Suit getSuit() { return suit; }; Suit getSuit() { return suit; };
unsigned int getNumber() { return number; }; unsigned int getNumber() { return number; };
unsigned int getValue() { return value; }; unsigned int getValue() { return value; };
*/
// std::string get

std::string getNumberASCII() { return numberASCII; };
std::string getSuitUTF8() { return suitUTF8; };
Suit suit; Suit suit;
unsigned int number; unsigned int number;
return (total() > 21); return (total() > 21);
} }
void draw();
void draw(bool = true);
}; };
class PlayerHand : public Hand { class PlayerHand : public Hand {

+ 2
- 1
src/blackjack.cpp Просмотреть файл

holeCard = dealCard(&hand); holeCard = dealCard(&hand);
std::cout << "card_dealer_hole" << std::endl; std::cout << "card_dealer_hole" << std::endl;


// TODO: print (draw) the hand
hand.draw(hand.holeCardShown);
player->currentHand->draw();


// step 7.a. if the upcard is an ace ask for insurance // step 7.a. if the upcard is an ace ask for insurance
if (card[upCard].value == 11) { if (card[upCard].value == 11) {

Загрузка…
Отмена
Сохранить