Python游戏编程快速上手(第4版)_第1页
Python游戏编程快速上手(第4版)_第2页
Python游戏编程快速上手(第4版)_第3页
Python游戏编程快速上手(第4版)_第4页
Python游戏编程快速上手(第4版)_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python游戏编程快速上手(第4版)演讲人2021-11-11011交互式ShellONE1交互式Shell1.1.1整数和浮点数1.1.2表达式

01020304051.1一些简单的数学知识011.3语法错误031.5小结05021.2计算表达式041.4在变量中存储值022编写程序ONE2编写程序2.2连接字符串2.4HelloWorld程序如何工作2.6小结2.1字符串值2.3在IDLE的文件编辑器中编写程序2.5命名变量2编写程序2.3在IDLE的文件编辑器中编写程序20202.3.1创建HelloWorld程序0120212.3.2保存程序0220222.3.3运行程序032编写程序2.4HelloWorld程序如何工作CBA2.4.1注释2.4.2函数:程序中的小程序2.4.3终止程序033“猜数字”游戏ONE3“猜数字”游戏3.2“猜数字”程序的源代码3.4用random.randint()函数生成随机数3.6流程控制语句3.1“猜数字”的运行示例3.3导入random模块3.5欢迎玩家3“猜数字”游戏3.7玩家的猜测3.12判断玩家是否赢了3.11用break语句提早离开循环3.8使用int()函数、float()函数、str()函数和bool()函数来转换值3.9布尔数据类型3.10if语句3“猜数字”游戏013.13判断玩家是否输了023.14小结3“猜数字”游戏3.6流程控制语句CBA3.6.1使用循环来重复代码3.6.2组织语句块3.6.3for循环语句3“猜数字”游戏3.9布尔数据类型ADBC3.9.2用条件检查True或False3.9.3体验布尔值、比较操作符和条件3.9.4=和==的区别3.9.1比较操作符044一个讲笑话程序ONE4一个讲笑话程序014.1Jokes游戏的运行示例024.2Jokes游戏的源代码034.3代码如何工作044.4转义字符054.5单引号和双引号064.6print()的end关键字形参4一个讲笑话程序4.7小结055DragonRealmONE5DragonRealm5.2DragonRealm的运行示例5.4DragonRealm的源代码5.6DragonRealm中的函数5.1如何玩DragonRealm5.3DragonRealm的流程图5.5导入random和time模块5DragonRealm5.8while语句实现循环5.10返回值5.12函数形参5.7多行字符串5.9布尔操作符5.11全局作用域和局部作用域5DragonRealm5.13显示游戏结果5.14决定哪个山洞有友善的龙5.15游戏循环5.16小结DCAB5DragonRealm5.6DragonRealm中的函数5.6.1def语句5.6.2调用函数5.6.3把函数定义放在哪里5DragonRealm5.9布尔操作符5.9.1and操作符5.9.2or操作符5.9.3not操作符5.9.4布尔操作符的运算5DragonRealm5.15游戏循环A5.15.1在程序中调用函数5.15.2询问玩家要不要再玩一局B066使用调试器ONE6使用调试器6.1Bug的类型

026.2.1启动调试器6.2.2用调试器单步执行程序

060102030405016.3查找Bug036.5使用断点056.2调试器046.4设置断点066.6小结077用流程图设计HangmanONE7用流程图设计Hangman

7.1如何玩Hangman01

7.3ASCII字符图03

7.5小结057.4.1生成流程图7.4.2流程图的分支7.4.3结束或者重新开始游戏7.4.4再猜一次7.4.5为玩家提供反馈7.4用流程图来设计一个程序04

7.2Hangman的运行示例02088编写Hangman的代码ONE8编写Hangman的代码8.6从单词列表中获取一个神秘单词8.5调用方法8.4列表数据类型8.3常量8.2导入random模块8.1Hangman的源代码8编写Hangman的代码8.12回顾Hangman中的函数8.11询问玩家是否想再玩一局8.10确保玩家输入一个有效的猜测8.9elif语句8.8获取玩家的猜测8.7向玩家显示游戏板8编写Hangman的代码8.13游戏循环8.14小结8编写Hangman的代码8.4列表数据类型8.4.1用索引访问元素8.4.2列表连接8.4.3in操作符8编写Hangman的代码8.5调用方法AB8.5.2字符串方法split()8.5.1列表方法reverse()和append()8编写Hangman的代码8.7向玩家显示游戏板CBA8.7.1list()函数和range()函数8.7.2列表和字符串分片8.7.3用空格表示神秘单词8.8获取玩家的猜测8编写Hangman的代码8.8.2离开while循环8.8.1字符串方法lower()和upper()8.13游戏循环8编写Hangman的代码8.13.2让玩家输入他们的猜测8.13.4判断玩家是否获胜8.13.6检查玩家是否输了8.13.1调用displayBoard()函数8.13.3判断字母是否在这个神秘单词中8.13.5当玩家猜错时8编写Hangman的代码8.13游戏循环8.13.7结束并重新设置游戏099Hangman扩展ONE9Hangman扩展0102030405069.1添加更多的猜测机会9.2字典数据类型9.3从一个列表中随机选取9.4从列表中删除项9.5多变量赋值9.6向玩家显示单词的分类9Hangman扩展9.7小结9Hangman扩展9.2字典数据类型9.2.1用len()函数获取字典的大小9.2.2字典和列表的区别9.2.3字典方法keys()和values()9.2.4在Hangman中使用单词的字典1010TicTacToeONE10TicTacToe10.2TicTacToe的源代码10.4导入random模块10.6让玩家来选择X或O10.1TicTacToe的运行示例10.3设计程序10.5在屏幕上打印游戏板10TicTacToe10.8在游戏板上放置一个标记10.10复制游戏板的数据10.12让玩家输入他们的落子10.7决定谁先走10.9判断玩家是否获胜10.11判断游戏板上的格子是否为空10TicTacToe10.14从落子列表中选择一个落子10.16创建计算机的AI10.18小结10.13短路求值10.15None值10.17游戏循环10TicTacToe10.3设计程序10.3.1用数据表示游戏板10.3.2游戏AI10TicTacToe10.8在游戏板上放置一个标记110.8.1列表引用210.8.2在makeMove()中使用列表引用10TicTacToe10.16创建计算机的AI110.16.1计算机判断自己能否落子即获胜310.16.3依次判断角、中心和边210.16.2计算机判断玩家是否可以落子即获胜410.16.4判断游戏板是否满了10TicTacToe10.17游戏循环10.17.1决定玩家的符号和谁先走10.17.3运行计算机的轮次10.17.4询问玩家是否再玩一次10.17.2运行玩家的轮次1111推理游戏BagelsONE11推理游戏Bagels11.2Bagels的源代码11.4导入random并定义getSecretNum()11.6复合赋值操作符11.1Bagels的运行示例11.3Bagels的流程图11.5打乱一组唯一数的顺序11推理游戏Bagels11.8列表方法sort()11.10检查字符串中是否只包含数字11.12字符串插值11.7计算要给出的线索11.9字符串方法join()11.11游戏的开始11推理游戏Bagels11.13游戏循环11.14小结LOGO/11推理游戏Bagels11.5打乱一组唯一数的顺序0111.5.1用random.shuffle()函数改变列表项的顺序0211.5.2从打乱次序的数中获取神秘数字11推理游戏Bagels11.13游戏循环11.13.1获取玩家的猜测11.13.3判断玩家的输赢11.13.4询问玩家是否再玩一局11.13.2根据玩家的猜测给出线索1212笛卡尔坐标ONE12笛卡尔坐标

12.1网格和笛卡尔坐标12.2负数

12.3计算机屏幕的坐标系12.4数学技巧

12.5绝对值和abs()函数12.6小结12.4.1技巧1:减号吃掉它左边的加号12.4.2技巧2:两个减号合并为一个加号12.4.3技巧3:加法的可交换性

1313SonarTreasureHunt游戏ONE13SonarTreasureHunt游戏AEDFBC13.2SonarTreasureHunt的源代码13.3设计程序13.5创建一个新的游戏板13.4导入random、sys和math模块13.6绘制游戏板13.1SonarTreasureHunt的运行示例13SonarTreasureHunt游戏113.7创建随机的藏宝箱213.8判断一次移动是否有效313.9在游戏板上进行一次移动413.10为玩家打印出游戏说明513.11游戏循环613.12小结13SonarTreasureHunt游戏13.6绘制游戏板13.6.1在顶部绘制X轴13.6.2绘制海洋13.6.3打印出海洋中的行13.6.4在游戏板底部绘制X轴坐标LOGO/13SonarTreasureHunt游戏13.9在游戏板上进行一次移动13.9.1找到最近的藏宝箱的算法13.9.2使用列表方法remove()删除值13.9.3获取玩家的移动13.11游戏循环13SonarTreasureHunt游戏13.11.2处理玩家的移动13.11.4判断玩家是否赢了13.11.6用sys.exit()函数终止程序13.11.1为玩家显示游戏的状态13.11.3找到一个沉没的藏宝箱13.11.5判断玩家是否输了1414凯撒密码ONE14凯撒密码14.6决定加密还是解密14.5设置最大键长度14.4凯撒密码程序的源代码14.3凯撒密码的运行示例14.2凯撒密码简介14.1密码学和加密14凯撒密码01020304050614.7从玩家处得到消息14.8从玩家处得到密钥14.9加密或解密消息14.10程序开始14.11暴力破解14.12添加暴力破解模式14凯撒密码14.13小结14凯撒密码14.9加密或解密消息14.9.2加密或解密每个字母14.9.1使用字符串方法find()找到所传递的字符串1515Reversegam游戏ONE15Reversegam游戏15.2Reversegam的运行示例15.4导入模块和设置常量15.6判断一次落子是否有效15.1如何玩Reversegam15.3Reversegam的源代码15.5游戏板数据结构15Reversegam游戏0115.7判断有效的坐标0215.8计算游戏板的得分0315.9获取玩家的棋子选择0415.10决定谁先走0515.11在游戏板上落下一个棋子0615.12复制游戏板数据结构15Reversegam游戏15.14获取玩家的移动15.16在屏幕上打印分数15.18游戏循环15.13判断一个格子是否在角落上15.15获取计算机的移动15.17游戏开始15Reversegam游戏15.20小结15.19询问玩家是否再玩一局15Reversegam游戏15.5游戏板数据结构AB15.5.2创建一个新的游戏板数据结构15.5.1在屏幕上绘制游戏板数据结构15Reversegam游戏15.6判断一次落子是否有效15.6.2发现是否有可以反转的棋子15.6.1查看8个方向中的每一个方向12LOGO/15Reversegam游戏15.7判断有效的坐标115.7.1得到所有有效移动的一个列表215.7.2调用bool()函数LOGO/15Reversegam游戏15.15获取计算机的移动A15.15.1角落移动策略15.15.2获取最高得分的移动的列表B15Reversegam游戏15.17游戏开始15.17.2运行玩家的轮次13215.17.1检查僵局15.17.3运行计算机的轮次1616ReversegamAI模拟ONE16ReversegamAI模拟16.1让计算机和自己下棋16.2让计算机自己多玩几次16.3比较不同的AI算法16.4小结DCAB16ReversegamAI模拟16.1让计算机和自己下棋16.1.2模拟程序1的源代码贰16.1.1模拟程序1的运行示例壹16.1.3删除玩家提示并添加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论