Reimplemented AI (old one was too slow)
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@443 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
1b9c7c4778
commit
e06ba8ea13
26 changed files with 623 additions and 1755 deletions
|
@ -147,13 +147,14 @@ public class HandTest {
|
|||
/** */
|
||||
@Test
|
||||
public void testInvalid() {
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9, RED),
|
||||
new Stone(10, RED), new Stone(12, RED), new Stone(13, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9,
|
||||
RED), new Stone(10, RED), new Stone(12, RED),
|
||||
new Stone(13, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(10, RED), new Stone(10,
|
||||
BLACK), new Stone(11, RED), new Stone(11, BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(10, RED),
|
||||
new Stone(10, RED), new Stone(10, BLACK), new Stone(11, RED),
|
||||
new Stone(11, BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(10, RED), new Stone(10,
|
||||
RED), new Stone(10, BLACK), new Stone(11, RED), new Stone(11,
|
||||
BLACK)));
|
||||
|
||||
testInitialMeld(false, Arrays.asList(new Stone(10, RED), new Stone(11,
|
||||
BLACK), new Stone(12, RED)));
|
||||
|
@ -162,66 +163,66 @@ public class HandTest {
|
|||
/** */
|
||||
@Test
|
||||
public void testNotEnoughPoints() {
|
||||
testInitialMeld(false,
|
||||
Arrays.asList(new Stone(8, RED), new Stone(9, RED), new Stone(10, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2, RED),
|
||||
new Stone(3, RED), new Stone(4, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2, RED),
|
||||
new Stone(3, RED), new Stone(1, BLACK), new Stone(2, BLACK), new Stone(
|
||||
3, BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9,
|
||||
RED), new Stone(10, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2,
|
||||
RED), new Stone(3, RED), new Stone(4, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2,
|
||||
RED), new Stone(3, RED), new Stone(1, BLACK), new Stone(2,
|
||||
BLACK), new Stone(3, BLACK)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testNotEnoughPointsWithJoker() {
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9, RED),
|
||||
new Stone(RED), new Stone(3, BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(4, RED), new Stone(5, RED),
|
||||
new Stone(4, BLACK), new Stone(5, BLACK), new Stone(RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9,
|
||||
RED), new Stone(RED), new Stone(3, BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(4, RED), new Stone(5,
|
||||
RED), new Stone(4, BLACK), new Stone(5, BLACK), new Stone(RED)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testNotEnoughPointsWithTwoJokers() {
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2, BLUE),
|
||||
new Stone(3, BLACK), new Stone(RED), new Stone(BLACK)));
|
||||
testInitialMeld(false,
|
||||
Arrays.asList(new Stone(8, RED), new Stone(RED), new Stone(BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2,
|
||||
BLUE), new Stone(3, BLACK), new Stone(RED), new Stone(BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(RED),
|
||||
new Stone(BLACK)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testValid() {
|
||||
testInitialMeld(true, Arrays.asList(new Stone(11, RED), new Stone(12, RED),
|
||||
new Stone(13, RED)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(4, RED), new Stone(5, RED),
|
||||
new Stone(6, RED), new Stone(5, ORANGE), new Stone(5, BLACK),
|
||||
new Stone(5, BLUE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(10, RED),
|
||||
new Stone(10, BLACK), new Stone(10, ORANGE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(11, RED), new Stone(12,
|
||||
RED), new Stone(13, RED)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(4, RED),
|
||||
new Stone(5, RED), new Stone(6, RED), new Stone(5, ORANGE),
|
||||
new Stone(5, BLACK), new Stone(5, BLUE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(10, RED), new Stone(10,
|
||||
BLACK), new Stone(10, ORANGE)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testValidWithJoker() {
|
||||
testInitialMeld(true,
|
||||
Arrays.asList(new Stone(11, RED), new Stone(RED), new Stone(13, RED)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(10, RED), new Stone(BLACK),
|
||||
new Stone(10, ORANGE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(4, RED), new Stone(5, RED),
|
||||
new Stone(6, RED), new Stone(5, BLACK), new Stone(5, BLUE), new Stone(
|
||||
RED)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(11, RED), new Stone(RED),
|
||||
new Stone(13, RED)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(10, RED),
|
||||
new Stone(BLACK), new Stone(10, ORANGE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(4, RED),
|
||||
new Stone(5, RED), new Stone(6, RED), new Stone(5, BLACK),
|
||||
new Stone(5, BLUE), new Stone(RED)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testValidWithTwoJokers() {
|
||||
testInitialMeld(true,
|
||||
Arrays.asList(new Stone(9, RED), new Stone(RED), new Stone(BLACK)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(9, RED), new Stone(RED),
|
||||
new Stone(BLACK)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test(timeout = 1000)
|
||||
@Test
|
||||
public void testValidHuge() {
|
||||
List<Stone> stones = new ArrayList<Stone>();
|
||||
for (int i = 1; i <= 10; i++) {
|
||||
|
@ -232,15 +233,15 @@ public class HandTest {
|
|||
}
|
||||
|
||||
/** */
|
||||
@Test(timeout = 1000)
|
||||
@Test
|
||||
public void testInvalidHuge() {
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2, RED),
|
||||
new Stone(4, RED), new Stone(6, RED), new Stone(8, RED), new Stone(10,
|
||||
RED), new Stone(13, RED), new Stone(1, BLACK), new Stone(2, BLACK),
|
||||
new Stone(4, BLACK), new Stone(5, BLACK), new Stone(8, BLACK),
|
||||
new Stone(9, BLACK), new Stone(12, BLACK), new Stone(3, BLUE),
|
||||
new Stone(5, BLUE), new Stone(7, BLUE), new Stone(11, BLUE), new Stone(
|
||||
RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2,
|
||||
RED), new Stone(4, RED), new Stone(6, RED), new Stone(8, RED),
|
||||
new Stone(10, RED), new Stone(13, RED), new Stone(1, BLACK),
|
||||
new Stone(2, BLACK), new Stone(4, BLACK), new Stone(5, BLACK),
|
||||
new Stone(8, BLACK), new Stone(9, BLACK), new Stone(12, BLACK),
|
||||
new Stone(3, BLUE), new Stone(5, BLUE), new Stone(7, BLUE),
|
||||
new Stone(11, BLUE), new Stone(RED)));
|
||||
}
|
||||
|
||||
/** */
|
||||
|
|
Reference in a new issue