Python游戏设计案例实战全套PPT课件.ppt

Python游戏设计案例实战全套PPT课件.ppt

  1. 1、本文档共356页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

您可能关注的文档

文档评论(0)

153****9532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6101234030000022

1亿VIP精品文档

相关文档