else: last_skip[cur_player] = False voice.say("%s plays %s %s%s." % (cur_player, ", and ".join(strs), extra_str, ("for a total of %d points" % total_score) if len(strs) > 1 or extra_str != "" else "")) rsp = ask("Commit changes? (enter \"no\" to retry, anything else to continue)").lower().strip() if "n" in rsp: print "Changes aborted. Please retry." voice.say("Turn has been undone.") else: #Save changes to game state tiles_left = scoreboard.subtract_tiles(cur_player, len(diffs)) game_board.add_diffs(diffs) #Update game board w/ the changes round_completed = scoreboard.add_move(cur_player, total_score, words_with_scores) finished = False clock.clock_reset() if tiles_left == 0: #Game over! print "Game finished! %s is out of letters!" % cur_player player_out = cur_player voice.say("%s is out of letters. The game is over." % cur_player) finished = True elif all(last_skip.values()) and scoreboard.get_tiles_in_bag() == 0: #All players have skipped @ end of game print "All players have skipped. Game is over." voice.say("All players have skipped their turns. The game is over.") finished = True elif round_completed: voice.say("End of round %d." % (scoreboard.turn_round - 1)) leader, points = scoreboard.get_scores()[0] if leader != prev_leader: prev_leader = leader