diff --git a/src/main/java/com/wcs/poker/gamestate/GameState.java b/src/main/java/com/wcs/poker/gamestate/GameState.java index 02cde99..2334bac 100644 --- a/src/main/java/com/wcs/poker/gamestate/GameState.java +++ b/src/main/java/com/wcs/poker/gamestate/GameState.java @@ -210,8 +210,10 @@ public Integer getMinimumBet() { } public boolean areWeBlind(){ + + return ((dealer+1)%players.size()==inAction - ||(dealer+2)%players.size()==inAction); + ||((dealer+2)%players.size()==inAction))&&(activePlayers()>2); } diff --git a/src/main/java/org/leanpoker/player/CheckConditions.java b/src/main/java/org/leanpoker/player/CheckConditions.java index e75c8ee..4452b2c 100644 --- a/src/main/java/org/leanpoker/player/CheckConditions.java +++ b/src/main/java/org/leanpoker/player/CheckConditions.java @@ -54,7 +54,7 @@ private void preFlop() { break; case HIGH_CARD: if (Card.getBigRank().contains(highRank1)) { - if (gameState.getCall() < 150) { + if (gameState.getCall() < gameState.requestBigBlind() * 5) { if (allIn() > limit) { bet = gameState.getCall(); } else { @@ -74,7 +74,7 @@ private void preFlop() { if (bet == 0 && gameState.areWeBlind() && gameState.getCall() <= gameState.requestBigBlind()) { bet = gameState.getCall(); } - System.out.println("bet:"+bet); + } private void afterPreFlop() { @@ -237,7 +237,7 @@ private void afterPreFlop() { if (Card.getBigRank().contains(highRank1)) { if (isFlop()) { - if (allIn() > limit && gameState.getCall() < 200) { + if (allIn() > limit && gameState.getCall() < gameState.requestBigBlind() * 7) { bet = gameState.getCall(); } else { bet = 0; @@ -245,7 +245,7 @@ private void afterPreFlop() { } if (isTurn()) { - if (allIn() > limit && gameState.getCall() < 150) { + if (allIn() > limit && gameState.getCall() < gameState.requestBigBlind() * 5) { bet = gameState.getCall(); } else { bet = 0; @@ -254,7 +254,7 @@ private void afterPreFlop() { if (isRiver()) { System.out.println("allin: " + allIn() + "call: " + gameState.getCall()); - if (allIn() > limit && gameState.getCall() < 150) { + if (allIn() > limit && gameState.getCall() < gameState.requestBigBlind() * 5) { bet = gameState.getCall(); System.out.println("true"); } else { @@ -265,14 +265,14 @@ private void afterPreFlop() { } else { if (isFlop()) { - if (allIn() > limit && gameState.getCall() < 100) { + if (allIn() > limit && gameState.getCall() < gameState.requestBigBlind()) { bet = gameState.getCall(); } else { bet = 0; } } if (isTurn()) { - if (allIn() > limit && gameState.getCall() < 100) { + if (allIn() > limit && gameState.getCall() < gameState.requestBigBlind()) { bet = gameState.getCall(); } else { bet = 0; @@ -288,7 +288,7 @@ private void afterPreFlop() { case HIGH_CARD: bet = 0; } - System.out.println("bet:"+bet); + } private boolean isFlop() { diff --git a/src/test/java/org/leanpoker/player/GameStateTest.java b/src/test/java/org/leanpoker/player/GameStateTest.java new file mode 100644 index 0000000..5c56439 --- /dev/null +++ b/src/test/java/org/leanpoker/player/GameStateTest.java @@ -0,0 +1,40 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.leanpoker.player; + +import com.wcs.poker.gamestate.GameState; +import java.util.Arrays; +import org.git_egylet.tools.Tools; +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * + * @author poker07 + */ +public class GameStateTest { + + @Test + public void testAreWeBlind() { + final GameState gameState = new GameState(10, 320, 400, 241, 1, 7, 1); + com.wcs.poker.gamestate.Player player1 = new com.wcs.poker.gamestate.Player(1, "Albert", "active", "Default random player", 1590, 80); + com.wcs.poker.gamestate.Player player2 = new com.wcs.poker.gamestate.Player(2, "Máté", "active", "Default random player2", 1200, 70); + + gameState.setCommunityCards(Tools.makeCardList("J,hearts", "K,clubs", "2,diamonds", "5,spades", "7,diamonds")); + player1.setHoleCards(Tools.makeCardList("A,hearts", "A,clubs")); + player2.setHoleCards(Tools.makeCardList("K,hearts", "4,clubs")); + gameState.setPlayers(Arrays.asList(player1, player2)); + assertEquals(false, gameState.areWeBlind()); + gameState.setDealer(0); + assertEquals(false, gameState.areWeBlind()); + com.wcs.poker.gamestate.Player player3 = new com.wcs.poker.gamestate.Player(3, "sanyi", "active", "Default random player3", 1200, 70); + gameState.setPlayers(Arrays.asList(player1, player2,player3)); + gameState.setInAction(2); + assertTrue(gameState.areWeBlind()); + + } + +}