Beispiel #1
0
 def ai_move(self):
     wht_default = Records(self.size, [0, 0], self)
     # If there are no white moves available after a valid black turn.
     if wht_default.turns_avail is False:
         print("No white moves available!")
         wht_default.add_skipped_turn()
         self.player_color(self.color)
         blk_test = Records(self.size, [0, 0], self)
         # If no more possible black moves, declare a winner.
         if blk_test.turns_avail is False:
             print("No black moves available!")
             print(blk_test.winner_is(blk_test.score_counter("black"),
                   blk_test.score_counter("white")))
             self.black_score = blk_test.score_counter("black")
             self.winner_declared = True
             turtle.bye()
     else:
         to_play = wht_default.best_move
         wht_default.play_ai_move(to_play)
         print("White is thinking.....")
         print("White plays coordinate {}".format(to_play[:2]))
         self.comp_draw_piece(to_play)
         for entry in wht_default.will_flip:
             x_coord = entry[0]
             y_coord = entry[1]
             self.draw_piece(x_coord, y_coord, self.color)
         # If no more open squares after white plays, declare a winner.
         if wht_default.is_winner() is True:
             print(wht_default.winner_is(wht_default.score_counter("black"),
                   wht_default.score_counter("white")))
             self.black_score = wht_default.score_counter("black")
             self.winner_declared = True
             turtle.bye()
         else:
             print("Current score - Black: {}, White: {}".format
                   (wht_default.score_counter("black"),
                    wht_default.score_counter("white")))
             blk_test = Records(self.size, [0, 0], self)
             # After white goes, determine if there is a possible black move.
             if blk_test.turns_avail is False:
                 print("No black moves available!")
                 blk_test.add_skipped_turn()
                 self.player_color(self.color)
                 white_test = Records(self.size, [0, 0], self)
                 # If no possible black or white move, declare a winner.
                 if white_test.turns_avail is False:
                     print("No white moves available!")
                     print(white_test.winner_is(white_test.score_counter
                           ("black"), white_test.score_counter("white")))
                     self.black_score = white_test.score_counter("black")
                     self.winner_declared = True
                     turtle.bye()
                 else:
                     self.ai_move()