gtheler hace 5 años
padre
commit
a2943e8b13
Se han modificado 7 ficheros con 32 adiciones y 7 borrados
  1. +0
    -1
      blackjack.conf
  2. +4
    -1
      src/base.h
  3. +15
    -0
      src/blackjack.cpp
  4. +2
    -2
      src/conf.cpp
  5. +9
    -1
      src/stdinout.cpp
  6. +1
    -1
      src/tty.cpp
  7. +1
    -1
      src/tty.h

+ 0
- 1
blackjack.conf Ver fichero

@@ -1,4 +1,3 @@
flat_bet = 1
no_insurance = true
delay = 0


+ 4
- 1
src/base.h Ver fichero

@@ -203,12 +203,15 @@ class Player {
Player(Player &&) = delete;
Player(const Player &&) = delete;

virtual int play() = 0;
virtual int play(void) = 0;
virtual void info(Libreblackjack::Info = Libreblackjack::Info::None, int = 0, int = 0) = 0;
Libreblackjack::PlayerActionRequired actionRequired = Libreblackjack::PlayerActionRequired::None;
Libreblackjack::PlayerActionTaken actionTaken = Libreblackjack::PlayerActionTaken::None;

int dealerValue = 0;
int playerValue = 0;
bool verbose = false;
bool flat_bet = false;
bool no_insurance = false;

+ 15
- 0
src/blackjack.cpp Ver fichero

@@ -213,6 +213,8 @@ void Blackjack::deal(void) {
}

// step 7.c. ask the player to play
player->playerValue = playerTotal;
player->dealerValue = dealerTotal;
player->actionRequired = Libreblackjack::PlayerActionRequired::Play;
nextAction = Libreblackjack::DealerAction::AskForPlay;
return;
@@ -280,12 +282,16 @@ void Blackjack::deal(void) {
}
nextAction = Libreblackjack::DealerAction::AskForPlay;
player->playerValue = playerTotal;
player->dealerValue = dealerTotal;
player->actionRequired = Libreblackjack::PlayerActionRequired::Play;
return;
}
break;
case Libreblackjack::DealerAction::AskForPlay:
player->playerValue = playerTotal;
player->dealerValue = dealerTotal;
player->actionRequired = Libreblackjack::PlayerActionRequired::Play;
nextAction = Libreblackjack::DealerAction::AskForPlay;
return;
@@ -302,6 +308,8 @@ void Blackjack::deal(void) {
nextAction = Libreblackjack::DealerAction::MoveOnToNextHand;
return;
} else {
player->playerValue = playerTotal;
player->dealerValue = dealerTotal;
player->actionRequired = Libreblackjack::PlayerActionRequired::Play;
nextAction = Libreblackjack::DealerAction::AskForPlay;
return;
@@ -626,6 +634,8 @@ int Blackjack::process(void) {
nextAction = Libreblackjack::DealerAction::MoveOnToNextHand;
return 1;
} else {
// player->playerValue = playerTotal;
// player->dealerValue = dealerTotal;
player->actionRequired = Libreblackjack::PlayerActionRequired::Play;
nextAction = Libreblackjack::DealerAction::AskForPlay;
return 1;
@@ -636,6 +646,9 @@ int Blackjack::process(void) {
return 1;
}
} else {
// player->playerValue = playerTotal;
// player->dealerValue = dealerTotal;
player->actionRequired = Libreblackjack::PlayerActionRequired::Play;
nextAction = Libreblackjack::DealerAction::AskForPlay;
return 1;
@@ -675,6 +688,8 @@ int Blackjack::process(void) {
} else {
// player->playerValue = playerTotal;
// player->dealerValue = dealerTotal;
player->actionRequired = Libreblackjack::PlayerActionRequired::Play;
nextAction = Libreblackjack::DealerAction::AskForPlay;
return 1;

+ 2
- 2
src/conf.cpp Ver fichero

@@ -139,10 +139,10 @@ Configuration::Configuration(int argc, char **argv) {
if (set(player, {"player"}) == false) {
// if we are on an interactive terminal we play through tty otherwise stdinout
if (isatty(1)) {
if (isatty(0)) {
player = "tty";
} else {
player = "stdinout";
player = "stdio";
}
}

+ 9
- 1
src/stdinout.cpp Ver fichero

@@ -217,10 +217,12 @@ void StdInOut::info(Libreblackjack::Info msg, int p1, int p2) {
}
std::cout << s << std::endl;
return;
}

int StdInOut::play() {
int StdInOut::play(void) {
std::string s;
@@ -246,6 +248,12 @@ int StdInOut::play() {
std::string command;
std::cin >> command;

if (std::cin.eof()) {
actionTaken = Libreblackjack::PlayerActionTaken::Quit;
return 0;
}

trim(command);
actionTaken = Libreblackjack::PlayerActionTaken::None;

+ 1
- 1
src/tty.cpp Ver fichero

@@ -325,7 +325,7 @@ int Tty::play() {
case Libreblackjack::PlayerActionRequired::Play:
renderTable();
s = "Play?";
s = "Play? " + std::to_string(dealerValue) + " " + std::to_string(playerValue);
break;
case Libreblackjack::PlayerActionRequired::None:

+ 1
- 1
src/tty.h Ver fichero

@@ -36,7 +36,7 @@ class Tty : public Player {
Tty(Configuration &);
~Tty() { };
int play() override;
int play(void) override;
void info(Libreblackjack::Info = Libreblackjack::Info::None, int = 0, int = 0) override;

// for readline's autocompletion

Cargando…
Cancelar
Guardar