Big commit.

Added indicator showing selected Player.
Added maximum of two bets.
When selecting a different player, his current bets will now be shown.
Creating dialog box for bet input dynamically.
This commit is contained in:
greek 2024-06-02 21:13:43 +01:00
parent 16df570727
commit c2e9d6ff7d
7 changed files with 253 additions and 112 deletions

View file

@ -2,49 +2,65 @@
PlayerAreaModel::PlayerAreaModel(QObject *parent)
{
Player defaultValues;
for(int i = 0; i < 7; i++){
playerNames.append("N/A");
players.append(defaultValues);
}
}
QString PlayerAreaModel::getPlayerName(int n)
uint PlayerAreaModel::focusedPlayer()
{
return playerNames.at(n);
}
void PlayerAreaModel::setPlayerName(QString s, int n)
{
switch(n) {
case 0:
playerNames[n] = s;
break;
case 1:
playerNames[n] = s;
break;
case 2:
playerNames[n] = s;
break;
case 3:
playerNames[n] = s;
break;
case 4:
playerNames[n] = s;
break;
case 5:
playerNames[n] = s;
break;
case 6:
playerNames[n] = s;
break;
}
return focusedPlayer_;
}
void PlayerAreaModel::setFocusedPlayer(int n)
{
focusedPlayer = n;
focusedPlayer_ = n;
Player player = players.at(n);
BetType b1 = player.bet1.betType;
BetType b2 = player.bet2.betType;
uint n1 = player.bet1.betSpot;
uint n2 = player.bet2.betSpot;
emit focusedPlayerChanged(b1, n1, b2, n2);
}
QString PlayerAreaModel::getPlayerName(int n)
{
return players.at(n).playerName;
}
void PlayerAreaModel::setPlayerName(QString s, int n)
{
this->players[n].playerName = s;
}
void PlayerAreaModel::bet(BetType b, int n, int bet)
{
printf("Received %d-%d for player %s for %d gil\n", b, n, playerNames[focusedPlayer].toLocal8Bit().data(), bet);
Player *player = &players[focusedPlayer_];
if (player->bet1.betType == NONE) {
player->bet1.betType = b;
player->bet1.betValue = bet;
player->bet1.betSpot = n;
} else if (player->bet2.betType == NONE) {
player->bet2.betType = b;
player->bet2.betValue = bet;
player->bet2.betSpot = n;
}
}
void PlayerAreaModel::removeBet(BetType b, int n)
{
Player *player = &players[focusedPlayer_];
if (player->bet1.betType != NONE) {
player->bet1.betType = NONE;
} else {
player->bet2.betType = NONE;
}
}
void PlayerAreaModel::cancelBet(int n) {
emit betCanceled(n);
}