- 1、本文档共356页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
8.4游戏逻辑实现1.常量定义及加载图片2.图像块(拼块)类3.初始化游戏4.绘制游戏界面各元素5.鼠标事件6.输赢判断7.重置游戏8.重新开始按钮的单击事件9.主程序第9章人机对战井字棋游戏主讲夏敏捷计算机学院副教授9.1人机对战井字棋游戏功能人机对战井字棋游戏。在九宫方格内进行,如果一方首先某方向(横、竖、斜)连成3子,则获取胜利。游戏中输入方格位置代号,形式如下:游戏中,board棋盘存储玩家、电脑落子信息,未落子处为EMPTY。由于人机对战,需要实现电脑智能性,下面是为这个电脑机器人设计的简单策略:(1)如果有一步棋可以让电脑机器人在本轮获胜,就选那一步走。(2)否则,如果有一步棋可以让玩家在本轮获胜,就选那一步走。(3)否则,电脑机器人应该选择最佳空位置来走。最佳位置就是中间那个,第二好位置是四个角,剩下的就都算第三好的了。9.2人机对战井字棋游戏设计思想9.3对战井字棋游戏设计步骤1.确定谁先走#询问玩家你是否先走defask_yes_no(question):response=Nonewhileresponsenotin(y,n): #如果输入不是y,n,继续重新输入response=input(question).lower()returnresponse#询问谁先走,先走方为X,后走方为O#函数返回电脑方、玩家的角色代号defpieces():go_first=ask_yes_no(玩家你是否先走(y/n):)ifgo_first==y:print(\n玩家你先走.)human=Xcomputer=Oelse:print(\n电脑先走.)computer=Xhuman=Oreturncomputer,human9.3对战井字棋游戏设计步骤2.产生新的保存走棋信息列表和显示棋盘#产生保存走棋信息列表boarddefnew_board():board=[]forsquareinrange(9):board.append(EMPTY)returnboard#显示棋盘defdisplay_board(board):board2=board[:]#创建副本,修改不影响原来列表boardforiinrange(len(board)):ifboard[i]==EMPTY:board2[i]=iprint(\t,board2[0],|,board2[1],|,board2[2])print(\t,---------)print(\t,board2[3],|,board2[4],|,board2[5])print(\t,---------)print(\t,board2[6],|,board2[7],|,board2[8],\n)9.3对战井字棋游戏设计步骤3.产生可以合法走棋位置序列#产生可以合法走棋位置序列(也就是还未下过子位置)deflegal_moves(board):moves=[]forsquareinrange(9):ifboard[square]==EMPTY:moves.append(square)returnmoves9.3对战井字棋游戏设计步骤4.玩家走棋defhuman_move(board,human):#人走棋legal=legal_moves(board)move=Nonewhilemovenotinlegal:move=ask_number(你走那个位置?(0-8):,0,9)ifmovenotinlegal:print(\n此位置已经落过子了)#print(Fine...)returnmove#输入位置数字defask_number(question,low,high):response=None
您可能关注的文档
- 信息技术导论-全套PPT课件.pptx
- JavaScript前端开发模块化教程_全套PPT课件.pptx
- 计算机常用算法与程序设计教程(第2版)全套PPT课件.ppt
- Java Web程序设计与案例教程(微课版)全套PPT课件.pptx
- Linux网络操作系统项目教程(RHEL7.4CentOS7.4)(第3版)》全套PPT课件.pptx
- 财经法规与会计职业道德(第3版)——全套PPT课件.ppt
- 高级财务会计_全套PPT课件.pptx
- Python编程基础(视频讲解版)全套PPT课件.pptx
- Vue.js前端开发技术-全套PPT课件.pptx
- 礼仪规范教程(第3版)全套PPT课件.pptx
最近下载
- 前景理论_风险决策分析.pdf
- 苏教版小学六年级下册数学 第七单元 总复习 图形与几何 第1课时 平面图形的认识.ppt
- 人教版高中历史选择性必修1--第9课 近代西方的法律与教化.docx VIP
- 常见的面试题及其回答技巧.ppt
- 人教版高中历史选择性必修1--第6课 西方的文官制度.docx VIP
- DB36_T 943.1-2017 中小型水利水电工程单元工程施工质量验收评定规程 第1部分:土石方工程.pdf VIP
- 沙特阿拉伯王国法律法规.pdf
- 配电自动化终端检测实验报告.docx
- 人教版高中历史选择性必修1--第12课 近代西方民族国家与国际法的发展.docx VIP
- 2024年11月-JC10心理咨询伦理单元作业题(答案版).pdf VIP
文档评论(0)