Python代写:CSC108HTic-Tac-Toe


Requirement

Tic-tac-toe is a
two-player game that children often play to pass the time. The game is usually
played using a 3-by-3 game board. Each player chooses a symbol to play with
(usually an X or an O) and the goal is to be the first player to place 3 of
their symbols in a straight line on the game board (either across a row on the
board, down a column or along one of the two main diagonals).
In this Assignment, you are to complete some functions that make up part of a
larger program for playing tic-tac-toe. In the program, game boards are not
restricted to being 3-by-3, but are instead N-by-N, where N is one of the
integers from 1 through 9, inclusive. Our game boards will always be square.
When you have completed your functions for this Assignment, you will be able
to play games of tic-tac-toe on your computer!

Analysis

Tic-tac-toe又称 井字棋
,通常是在3x3的棋盘上,双方轮流落子,先将3枚棋子连成一线的一方获胜。本题将游戏进行了拓展,变为NxN的棋盘,加大了难度。我们需要根据提供的框架实现游戏的逻辑部分,尤其是AI部分。
解题的关键需要理解游戏的规则,读懂整个框架,找到切入点,根据给定的测试集不断调试即可。

Tips

从测试集入手
>>> game_won(‘XXX-O-O–’, ‘X’)
True
>>> game_won(‘XOXOXOOXO’, ‘X’)
False
—|—
从__main__开始一路调试,到
def play_tictatoe():

hava_a_winner = game_won(game_board, player_symbol)
—|—
进入函数后,增加处理逻辑,核心代码如下
def game_won(game_board, symbol):

for col in range(1, board_size + 1):
extract = tictactoe_functions.extract_line(game_board, ‘dowm’, col)
if extract == winning_string:
return True
for row in range(1, board_size + 1):
extract = tictactoe_functions.extract_line(game_board, ‘across’, row)
if extract == winning_string:
return True

return False
—|—


文章作者: SafePoker
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 SafePoker !
  目录