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)
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])
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'))
def testAIPlayerShouldWorkWithBlackStoneAsWell(self): player = AIRenjuPlayer(black, RenjuBoard(), self.FourInARowPattern) player.placeStones(parseStonePatternString('A0|OOOO_')[0]) move = player.getMyMove() self.assertEqual(move, stop('A0|____O'))
def testAIPlayerShouldGiveThePatternRank(self): player = AIRenjuPlayer(white, RenjuBoard(), self.FourInARowPattern) player.placeStones(parseStonePatternString('A0|XXXX_')[0]) move = player.getMyMove() self.assertEqual(move, stop('A0|____O'))
def boardWithStones(self, stoneString): aiBoard = AIBoard(15, stonePatterns, blackCopyOfPattern(stonePatterns)) stones, expects = parseStonePatternString(stoneString) aiBoard.placeStones(stones) return aiBoard