Beispiel #1
0
 def testNpc(self):
     B = Board(7, 7)
     B.Set(1, 1, 1)
     C = NPC(B)
     for i in range(1, 500):
         C.FirstMove()
         x, y, v = B.Moves[1][0], B.Moves[1][1], B.Moves[1][2]
         self.assertTrue([x, y] != [1, 1])
         self.assertTrue(x >= 0)
         self.assertTrue(x < 7)
         self.assertTrue(y >= 0)
         self.assertTrue(y < 7)
         B.Set(x, y, 0, True)
     self.assertEqual(C.hScore(1, 1, 1), 1)
     B.Set(1, 2, 1)
     self.assertEqual(C.hScore(1, 1, 1), 2)
     B.Set(1, 3, 1)
     self.assertEqual(C.hScore(1, 1, 1), 3)
     B.Set(1, 4, 1)
     self.assertEqual(C.hScore(1, 1, 1), 4)
     B.Set(1, 5, 1)
     self.assertEqual(C.hScore(1, 1, 1), 5)
     # Same idea applies for vScore, d1Score, d2Score, therefore we assume that if this works then those work as well
     # Checking the defense
     B.Set(1, 5, 0, True)
     B.Set(1, 4, 0, True)
     x, y = C.FindBlockMove()
     self.assertEqual(x, 1)
     self.assertEqual(y, 0)
     # Checking the offensive
     B.Set(2, 1, -1)
     B.Set(2, 2, -1)
     B.Set(2, 3, -1)
     x, y, v = C.FindBestMove()
     self.assertEqual(x, 2)
     self.assertEqual(y, 0)
     self.assertEqual(v, 4)