Finds a Straight

This commit is contained in:
2015-04-28 09:47:02 +02:00
parent 610a48657b
commit 05ba0ebb03
2 changed files with 27 additions and 2 deletions

View File

@@ -23,7 +23,9 @@ public class PokerGame {
char[] values = getValues(hand);
char[] colors = getColors(hand);
if (findFlush(colors) == true)
if (findStraight(values) == true)
score = 12;
else if (findFlush(colors) == true)
score = 10;
else if (findFullHouse(values) == true)
score = 9;
@@ -149,6 +151,20 @@ public class PokerGame {
return false;
}
/**
* Finds a Straight by looking if the value of the next card is 1 higher
* throughout all the cards
*
* @param values
* @return
*/
private boolean findStraight(char[] values) {
for (int i = 0; i < values.length - 1; i++)
if (values[i + 1] != values[i] + 1)
return false;
return true;
}
/**
* Extracts all the values from the given String (hand)
*

View File

@@ -78,4 +78,13 @@ public class PokerGameTest {
assertEquals(10, result);
}
}
@Test
public void straight_gives_12() throws Exception {
String hand = "K2S3H4R5R6";
int result = myGame.getScore(hand);
assertEquals(12, result);
}
}