当前位置: 首页 > news >正文

上海微信网站建设做网站的程序员留备份

上海微信网站建设,做网站的程序员留备份,厦门网,广东室内设计公司排名前言 在本教程中#xff0c;我们将使用Python写一个创意五子棋游戏 #x1f4dd;个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列#xff1a; ☄️爬虫JS逆向系列专栏 - 爬虫逆向教学 ☄️python系列专栏 - 从零开始学python 首先 GomokuGame 类的构造函数 __ini… 前言 在本教程中我们将使用Python写一个创意五子棋游戏     个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列 ☄️爬虫JS逆向系列专栏 - 爬虫逆向教学 ☄️python系列专栏 - 从零开始学python 首先 GomokuGame 类的构造函数 __init__ 初始化游戏。board_size 参数默认为 15表示棋盘大小。board 是一个二维列表代表棋盘上的状态。current_player 记录当前玩家初始为 X。winner 记录胜利者初始为 None。 class GomokuGame:def __init__(self, board_size15):self.board_size board_sizeself.board [[ for _ in range(board_size)] for _ in range(board_size)]self.current_player Xself.winner Noneprint_board 方法用于打印当前棋盘的状态。首先它打印列索引。然后遍历每一行打印出当前行的棋子状态。 def print_board(self):print( .join(str(i) for i in range(self.board_size)))for i in range(self.board_size):print(str(i) .join(self.board[i]))print()make_move 方法用于玩家落子。如果指定位置为空将当前玩家的标记放置在该位置。然后调用 check_winner 方法检查是否有胜利者。最后切换当前玩家。 def make_move(self, row, col):if self.board[row][col] :self.board[row][col] self.current_playerif self.check_winner(row, col):self.winner self.current_playerself.current_player X if self.current_player O else Oreturn Truereturn Falsecheck_winner 方法用于检查是否有玩家获胜。它通过检查当前位置的四个方向来判断是否有五个连续相同的棋子。如果存在则返回 True表示有玩家获胜。 def check_winner(self, row, col):directions [(0, 1), (1, 0), (1, 1), (1, -1)]for dr, dc in directions:count 1for i in range(1, 5):r, c row i * dr, col i * dcif 0 r self.board_size and 0 c self.board_size and self.board[r][c] self.current_player:count 1else:breakfor i in range(1, 5):r, c row - i * dr, col - i * dcif 0 r self.board_size and 0 c self.board_size and self.board[r][c] self.current_player:count 1else:breakif count 5:return Truereturn Falseplay 方法是游戏的主循环。它持续运行直到有玩家获胜。在每一轮中它打印当前棋盘然后获取玩家输入的行和列进行落子操作。如果落子无效则要求玩家重新输入。如果有玩家获胜则打印胜利信息并结束游戏。 def play(self):while not self.winner:self.print_board()try:row int(input(玩家{}的回合请输入你要下的行数: .format(self.current_player)))col int(input(请输入你要下的列数: ))if 0 row self.board_size and 0 col self.board_size:if self.make_move(row, col):if self.winner:self.print_board()print(玩家{},你赢了.format(self.winner))breakelse:print(无效移动。再试一次。)else:print(输入无效。再试一次。)except ValueError:print(输入无效。输入一个数字。)在代码的末尾通过这个条件判断确保仅在直接运行该脚本时才会执行创建游戏对象并开始游戏。 if __name__ __main__:game GomokuGame()game.play()下面是完全代码可以直接复制运行 class GomokuGame:def __init__(self, board_size15):self.board_size board_sizeself.board [[ for _ in range(board_size)] for _ in range(board_size)]self.current_player Xself.winner Nonedef print_board(self):print( .join(str(i) for i in range(self.board_size)))for i in range(self.board_size):print(str(i) .join(self.board[i]))print()def make_move(self, row, col):if self.board[row][col] :self.board[row][col] self.current_playerif self.check_winner(row, col):self.winner self.current_playerself.current_player X if self.current_player O else Oreturn Truereturn Falsedef check_winner(self, row, col):directions [(0, 1), (1, 0), (1, 1), (1, -1)]for dr, dc in directions:count 1for i in range(1, 5):r, c row i * dr, col i * dcif 0 r self.board_size and 0 c self.board_size and self.board[r][c] self.current_player:count 1else:breakfor i in range(1, 5):r, c row - i * dr, col - i * dcif 0 r self.board_size and 0 c self.board_size and self.board[r][c] self.current_player:count 1else:breakif count 5:return Truereturn Falsedef play(self):while not self.winner:self.print_board()try:row int(input(玩家{}的回合请输入你要下的行数: .format(self.current_player)))col int(input(请输入你要下的列数: ))if 0 row self.board_size and 0 col self.board_size:if self.make_move(row, col):if self.winner:self.print_board()print(玩家{},你赢了.format(self.winner))breakelse:print(无效移动。再试一次。)else:print(输入无效。再试一次。)except ValueError:print(输入无效。输入一个数字。)if __name__ __main__:game GomokuGame()game.play()
http://www.hkea.cn/news/14541257/

相关文章:

  • 有专做代金券的网站吗效果图制作网站有哪些
  • 建设电子网站试卷织梦网站图片修改
  • 网站改版多久恢复网站制作案例策划
  • app门户网站长宁集团网站建设
  • 专门做ppt背景的网站有哪些电子拜年贺卡在线制作网站
  • 东莞响应式网站建设定制布吉做棋牌网站建设哪家便宜
  • 开封建网站的公司php企业网站开发源码
  • 网站的功能搜索优化指的是什么
  • 为企业设计网站泰州建站程序
  • 做的网站有广告图片网上接做网站的单子
  • 网站后台建设公司广州联雅网络科技有限公司
  • 如何用用dw做网站后台学网站开发技术
  • 怎么查看网站哪个公司做的装饰公司网站源码
  • 企业建设网站的价值扩展名 网站
  • 免费手机端网站模板下载工具兰州新区农投建设网站
  • 青岛做网站哪个公司好做任务领取礼品的网站
  • 什么是网站微商城的建设html网页制作表格代码
  • 微信h5制作网站开发wordpress文章样式插件
  • 北京网站优化服务商个人如何推广app
  • 保险网站建设公司深圳网站建设制作哪家口碑好
  • 游戏平台网站制作用毛做简单的网站
  • wps免费模板网站山西省建设工程信息网站
  • 网站建设的工作流程规划设计公司网站
  • 织梦婚纱网站模板凡客诚品失败的主要原因
  • 潍坊网站建设公司哪家好哈尔滨市住房和城乡建设局局网站
  • 谁有做任务网站wordpress 背景特效
  • 莱芜网站同城分类信息网站
  • 临桂建设局网站郑州做网站推广价格
  • 网站建设选哪个外贸网站建设要求
  • 手机网站建设推广软文营业执照 网站开发