- 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
- 部编语文三年级下册-第1单元-习作我的植物朋友教案教学设计一课一练同步练习-精品.doc
- 部编语文三年级下册-第2单元-8池子与河流教案教学设计一课一练同步练习.doc
- 部编语文三年级下册23.海底世界表格式-教案教学设计+备课素材+课后作业word.docx
- 部编语文三年级下册-第8单元-27漏教案教学设计一课一练同步练习.doc
- 部编语文-现代文阅读理解最全答题模板与技巧+专项训练练习题(含答案解析).doc
- 部编语文三年级下册-第4单元-习作·我做了一项小实验教案教学设计一课一练同步练习-word.doc
- 部编语文三年级下册-第1单元-习作我的植物朋友教案教学设计一课一练同步练习-精品资料.doc
- 部编语文三年级下册26方帽子店表格式-教案教学设计及课后作业word.docx
- 部编语文三年级下册04-昆虫备忘录表格式-教案教学设计及课后作业word.docx
- 部编语文三年级下册-第2单元-快乐读书吧教案教学设计一课一练同步练习-word.doc
最近下载
- (正式版)D-L∕T 544-2012 电力通信运行管理规程.docx VIP
- 2024年四川省南充市从“五方面人员”中选拔乡镇领导班子成员201人历年【高频考点汇总500题】模拟卷及参考答案详解.docx
- 储气罐使用说明书.docx
- 产能利用率与能源消耗的关系.pptx
- 最新部编版五年级语文上册学历案(精心撰写).docx
- 2020全国新高考语文一卷(山东)及答案.pdf VIP
- (正式版)D-L∕T 1164-2012 汽轮发电机运行导则.docx VIP
- (正式版)D-L∕T 1919-2018 发电企业应急能力建设评估规范.docx VIP
- 【大单元整体教学】第一单元《周围的植物》整体设计 教科版科学一年级上册.docx
- 人力资源管理中级经济师专业知识与实务复习资料.pdf VIP
文档评论(0)