function result = tictactoe_test (n_games, player1, player2, order) % TICTACTOE_TEST Tabulating statistics based on many tic-tac-toe games % % function result = tictactoe_test (n_games, player1, player2, order) % A histogram of results will be shown % % Input: % n_games: How many games to play % player1: Name of player one (i.e., 'monkey', 'wessel') % player2: Name of player two (i.e., 'monkey', 'wessel') % To play against yourself give the same name twice % order: 1 = Player 1 starts, 2 = player 2 starts, 0 alternates % Output: % result: Array of length 3 with the percentages of wins for % player one, draws, and wins for player two trials = zeros(1,n_games); % Initialize empty table of each result. figure (2) clf if strcmp (player1, 'user') | strcmp (player2, 'user') watch = 1; else watch = 0; end result = zeros(1,3); for i=1:n_games % Play all the games if order == 0 turn = mod (i,2)+1; % This will alternate between 1 and 2 else turn = order; end winner = tictactoe (player1, player2, watch, turn); % Play one game result(winner+2) = result(winner+2) + 1; figure (2) bar (-1:+1, result) axis ([-1.5 1.5 0 n_games]) title (['Games won by player ' player1 ' (-1), Player ' player2 ' (+1), and Draws (0) after ' int2str(i) ' games']) drawnow end input ('==> Hit return to plot percentages: '); clf result = 100*result/n_games; bar (-1:+1, result) axis ([-1.5 1.5 0 100]) title ([player1 ' won ' int2str(round(result(1))) '%, ' player2 ' won ' int2str(round(result(3))) '%, with Draws = ' int2str(round(result(2))) '%.'])