Added croupier as a "Player".

This commit is contained in:
greek 2024-06-07 10:06:28 +01:00
parent 14009e8a5d
commit af6401ddd5
4 changed files with 65 additions and 13 deletions

View file

@ -20,11 +20,17 @@ Item {
border.width: 0
color: {
if (rouletteTable.numberOfBets < 2 || border.width == 3) {
if (tapHandler.pressed) {
"#88999999"
} else if (hoverHandler.hovered) {
"#88EEEEEE"
if (PlayerAreaModel.focusedPlayer == 0 && rouletteTable.numberOfBets == 1 && border.width != 3) {
"#00000000"
} else if (rouletteTable.numberOfBets < 2 || border.width == 3) {
if ((PlayerAreaModel.focusedPlayer == 0 && rouletteTable.numberOfBets < 1) || PlayerAreaModel.focusedPlayer != 0 || border.width == 3) {
if (tapHandler.pressed) {
"#88999999"
} else if (hoverHandler.hovered) {
"#88EEEEEE"
} else {
"#00000000"
}
} else {
"#00000000"
}
@ -40,10 +46,19 @@ Item {
id: tapHandler
onTapped: {
if (rouletteTable.numberOfBets < 2 && parent.border.width == 0) {
if (PlayerAreaModel.focusedPlayer == 0 && rouletteTable.numberOfBets == 1 && parent.border.width != 3) {
} else if (rouletteTable.numberOfBets < 2 && parent.border.width == 0) {
parent.border.width = 3
roulette.showBetInputDialog(betType, index_, betButton.parent.x + offsetX,
betButton.parent.y + offsetY)
/* Don't show this dialog for the croupier */
if (PlayerAreaModel.focusedPlayer != 0) {
roulette.showBetInputDialog(betType, index_, betButton.parent.x + offsetX,
betButton.parent.y + offsetY)
} else {
rouletteTable.numberOfBets = 1
PlayerAreaModel.bet(betType, index_, 0)
}
} else if (parent.border.width == 3) {
parent.border.width = 0
PlayerAreaModel.removeBet(betType, index_)

View file

@ -4,7 +4,7 @@ PlayerAreaModel::PlayerAreaModel(QObject *parent)
{
Player defaultValues;
for(int i = 0; i < 7; i++){
for(int i = 0; i < 8; i++){
players.append(defaultValues);
}
}

View file

@ -12,7 +12,38 @@ Item {
Text {
id: croupier
font.pointSize: 18
text: "Croupier"
color: {
if (tapHandler.pressed) {
"#99000000"
} else {
"#000000"
}
}
TapHandler {
id: tapHandler
onSingleTapped: {
PlayerAreaModel.focusedPlayer = 0
}
}
Rectangle {
id: indicator
color: "red"
height: 10
width: 10
opacity: 0.5
visible: PlayerAreaModel.focusedPlayer == 0
anchors {
verticalCenter: parent.verticalCenter
right: parent.left
rightMargin: 5
}
}
}
ColumnLayout {
@ -47,7 +78,7 @@ Item {
* This check will run once when the object is created, but then only refresh
* when the NOTIFY signal for .focusedPlayer is sent
*/
visible: PlayerAreaModel.focusedPlayer == index
visible: PlayerAreaModel.focusedPlayer - 1 == index
opacity: 0.5
anchors {
@ -69,7 +100,7 @@ Item {
onActiveFocusChanged: {
/* focusReason 0, 1 and 2 are mouse, tab forward, and tab backward, respectively */
if (activeFocus && (focusReason == 0 || focusReason == 1 || focusReason == 2)) {
PlayerAreaModel.focusedPlayer = index
PlayerAreaModel.focusedPlayer = index + 1
}
}
}
@ -108,7 +139,7 @@ Item {
target: PlayerAreaModel
function onBetChanged(b, n, bet) {
if (PlayerAreaModel.focusedPlayer == index) {
if (PlayerAreaModel.focusedPlayer - 1 == index) {
if (currentBet1.text == "") {
currentBet1.betType = b
currentBet1.n = n
@ -184,7 +215,7 @@ Item {
}
function onBetRemoved(b, n) {
if (PlayerAreaModel.focusedPlayer == index) {
if (PlayerAreaModel.focusedPlayer - 1 == index) {
if (currentBet1.betType == b && currentBet1.n == n) {
currentBet1.text = ""
} else if (currentBet2.betType == b && currentBet2.n == n) {

View file

@ -12,6 +12,12 @@ Window {
Pane {
anchors.fill: parent
MouseArea {
anchors.fill: parent
onClicked: focus = true
}
PlayerAreaView {
id: playerAreaView
}