Fake Player #1075
Unanswered
mancioshell
asked this question in
Q&A
Fake Player
#1075
Replies: 1 comment 8 replies
-
Hi @mancioshell! Would it work for you to have a 3-player turn order like this?
edit: Wait! My first answer won’t work 😅 Instead it’s probably easiest to use a custom play order: order: {
playOrder: (G, ctx) => ctx.numPlayers === 3 ? ['0', '1', '0', '2'] : ['0', '1', '2', '3'],
}, The tricky thing here is that with 4 players the teams are 0 + 2 and 1 + 3, but with 3 players the teams are 0 and 1 + 2. |
Beta Was this translation helpful? Give feedback.
8 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
thank you for this awesome projects. I was looking for something similar for a long time.
I have studied docs and i'm trying to realize an implementation of an italian card game (tresette). Tipically this game is played in 4 players divided in pairs. I have already completed the basic game, but there is a variation in 3 players, where there is also a fake player (the dead) which plays in pair (all the match) with one of the players.
The fake player moves, are made by this player.
Is there any best practice to create a turn order which permit the player in pairs with the dead to play 2 times in a round?
Constraints:
The round is over when 4 card are on the table:
endIf: (G, ctx) => G.table.length === 4
Any player can play only one card and automatically end the turn.
The dead plays between the other players pair.
Example: Player1, Player2, The Dead, Player3. Player1 is in pair with The Dead.
The winner of the round, will be the player which move first next round.
Actually in 4 players i have implemented this custom turn order:
order: { first: (G, ctx) => G.lastWinner ? G.lastWinner : (G.lastDealer + 1) % ctx.numPlayers, next: (G, ctx) => { return (ctx.playOrderPos + 1) % ctx.numPlayers; }, }
Thank you in advance.
Beta Was this translation helpful? Give feedback.
All reactions