Browse Source

4gewinnt: calcScore pointsForAnyColumn

4gewinnt
Steffen Helmke 2 years ago
committed by Lorenz Hohmann
parent
commit
3589384226
  1. 12
      src/main/java/de/tims/viergewinnt/ai/Logic.java
  2. 9
      src/test/java/de/tims/viergewinnt/ai/LogicTest.java

12
src/main/java/de/tims/viergewinnt/ai/Logic.java

@ -160,9 +160,15 @@ public class Logic {
score += 60;
}
}
if(playfield[0][0] != 0 && playfield[1][0] != 0 && playfield[2][0] != 0 &&
playfield[3][0] != 0 && playfield[4][0] != 0 && playfield[5][0] != 0) {
score += 60;
for(int i = 0; i < playfield[0].length; i++) {
for(int j = 0; j < playfield.length; j++) {
if(playfield[j][i] == 0) {
break;
}
if(j == playfield.length - 1) {
score += 60;
}
}
}
return score;
}

9
src/test/java/de/tims/viergewinnt/ai/LogicTest.java

@ -143,12 +143,19 @@ class LogicTest {
{2, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0}};
int[][] playfield5 = {{2, 0, 1, 0, 0, 0},
{2, 0, 1, 0, 0, 0},
{1, 0, 2, 0, 0, 0},
{2, 0, 2, 0, 0, 0},
{1, 0, 2, 0, 0, 0},
{1, 0, 1, 0, 0, 0}};
return Stream.of(
Arguments.of("emptyField", new int[6][6], 1, 1000),
Arguments.of("9 chips played", playfield1, 1, 1090),
Arguments.of("first row filled", playfield2, 1, 1120),
Arguments.of("2 rows filled", playfield3, 1, 1240),
Arguments.of("first column filled", playfield4, 1, 1120)
Arguments.of("first column filled", playfield4, 1, 1120),
Arguments.of("2 column filled", playfield5, 1, 1240)
);
}

Loading…
Cancel
Save