返回

Python代码编写:CSC108H Tic-Tac-Toe

发布时间:2022-11-08 22:35:20 278
# 数据

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
复制代码

Python代码编写:CSC108H Tic-Tac-Toe_数据


特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线