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; 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; return score;
} }

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

@ -143,12 +143,19 @@ class LogicTest {
{2, 0, 0, 0, 0, 0}, {2, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0}, {1, 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( return Stream.of(
Arguments.of("emptyField", new int[6][6], 1, 1000), Arguments.of("emptyField", new int[6][6], 1, 1000),
Arguments.of("9 chips played", playfield1, 1, 1090), Arguments.of("9 chips played", playfield1, 1, 1090),
Arguments.of("first row filled", playfield2, 1, 1120), Arguments.of("first row filled", playfield2, 1, 1120),
Arguments.of("2 rows filled", playfield3, 1, 1240), 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