def testReasonableLettersRandomPlayer(): crossword.loadDictionary() player3 = ReasonableLettersRandomPlayer("Scott") letters = dict([(chr(c),0) for c in range(ord('a'), ord('z')+1)]) for i in range(0, 1000): letters[player3.chooseLetter(Grid())] += 1 distribution = letters.items() distribution.sort() print distribution ## TODO assert something sensible
def testGameCompletion(): crossword.loadDictionary() player1 = ConstantPlayer("Guy", "a") player2 = RandomPlayer("Kim") player3 = ReasonableLettersRandomPlayer("Scott") players = [player1, player2] leaderboard = main_game.playGame(players) # check all letters were filled for i in range(0, config.grid_size): for j in range(0, config.grid_size): assert leaderboard[0].grid.getLetter(i,j) != config.null_char
def main(): crossword.loadDictionary() num_players = 1 games = [] for i in range(0, 1): players = [BasicPlayer("Player " + str(i + 1)) for i in range(0,num_players)] players.append(ReasonableLettersRandomPlayer("Random Player")) players.append(ReasonableLettersRandomPlayer("Random Player")) players.append(ReasonableLettersRandomPlayer("Random Player")) games.append(main_game.playGame(players)) total_score = 0 high_score = 0 for scoreboard in games: for p in scoreboard: total_score += p.score if p.score > high_score: high_score = p.score average_score = total_score / len(players) / len(games) print "Average Score:", average_score print "High Score:", high_score