Beispiel #1
0
 def aiPattern(self, stonesPattern, level = 0):
     self.player = AIRenjuPlayer(white, RenjuBoard())
     stones, expects = parseStonePatternString(stonesPattern)
     self.player.placeStones(stones)
     move = self.player.getMyMove(level)
     self.assertIn(move, expects)
Beispiel #2
0
 def aiMoveForPatternShouldBeIn(self, stones, expects):
     self.player = AIRenjuPlayer(white, RenjuBoard())
     for s in stones:
         self.player.placeStones(parseStonePatternString(s)[0])
     move = self.player.getMyMove()
     self.assertIn(move, [stop(e) for e in expects])
Beispiel #3
0
 def testAIPlayerShouldChooseTheMoveWithHighestRank(self):
     player = AIRenjuPlayer(white,  RenjuBoard(), dict(self.FourInARowPattern.items() + self.ThreeInARowPattern.items()))
     player.placeStones(parseStonePatternString('C0|XXXX_')[0])
     player.placeStones(parseStonePatternString('G0|_XXX_')[0])
     move = player.getMyMove()
     self.assertEqual(move, stop('C0|____O'))
Beispiel #4
0
 def testAIPlayerShouldWorkWithBlackStoneAsWell(self):
     player = AIRenjuPlayer(black, RenjuBoard(), self.FourInARowPattern)
     player.placeStones(parseStonePatternString('A0|OOOO_')[0])
     move = player.getMyMove()
     self.assertEqual(move, stop('A0|____O'))
Beispiel #5
0
 def testAIPlayerShouldGiveThePatternRank(self):
     player = AIRenjuPlayer(white,  RenjuBoard(), self.FourInARowPattern)
     player.placeStones(parseStonePatternString('A0|XXXX_')[0])
     move = player.getMyMove()
     self.assertEqual(move, stop('A0|____O'))
Beispiel #6
0
 def boardWithStones(self, stoneString):
     aiBoard = AIBoard(15, stonePatterns, blackCopyOfPattern(stonePatterns))
     stones, expects = parseStonePatternString(stoneString)
     aiBoard.placeStones(stones)
     return aiBoard