소스 검색

draw cards

master
gtheler 5 년 전
부모
커밋
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 파일 보기

@@ -1,11 +1,67 @@
#include <iostream>
#include "base.h"

void Hand::draw(void) {
void Hand::draw(bool holeCardShown) {
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;

+ 4
- 4
src/base.h 파일 보기

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

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

+ 2
- 1
src/blackjack.cpp 파일 보기

@@ -151,7 +151,8 @@ void Blackjack::deal(Player *player) {
holeCard = dealCard(&hand);
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
if (card[upCard].value == 11) {

Loading…
취소
저장