- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
少儿编程教学:手把手教你用Python编写推星星游戏(二)
游戏分享:手把手教你用Python编写推星星
游戏 (二)
2017.12.04
制作游戏的难度是很高的
所以每个想要学习制作的游戏的学生
一定要打好代码基础、理解代码内容和逻辑
才能在以后做出让人惊叹的游戏噢!
话不多说,来看之后的代码吧。
73.
74. # 字典里的值都是全局值,
75. # 并规划字符在关卡文件中所代表的表层对象
76. TILEMAPPING {x: IMAGESDICT[corner],
77. #: IMAGESDICT[wall],
78. o: IMAGESDICT[inside floor],
79. : IMAGESDICT[outside floor]}
地图的数据结构只是一系列的2D字符串。TILEMAPPING字典将地图数据结构中
使用的字符与他们所代表的图片链接起来。 (在drawMap()函数的解释里将显得
更直观易懂)
80. OUTSIDEDECOMAPPING {1: IMAGESDICT[rock],
81. 2: IMAGESDICT[short tree],
82. 3: IMAGESDICT[tall tree],
83. 4: IMAGESDICT[ugly tree]}
OUTSIDEDECOMAPPING也是一个将地图数据结构中使用的字符与读取图片链
接起来的字典。
“外部装饰”图将绘制在草地方块上方。
85. # PLAYERIMAGES是一个列表包括所有玩家可以变成的字符
86. # currentImage 是玩家当前使用的角色图片的索引
87. currentImage 0
88. PLAYERIMAGES [IMAGESDICT[princess],
89. IMAGESDICT[boy],
90. IMAGESDICT[catgirl],
91. IMAGESDICT[horngirl],
92. IMAGESDICT[pinkgirl]]
PLAYERIMAGES列表储存用来改变控制角色形象的图片。
currentImage变量跟随当前使用的角色图片的序号。举个例子,当currentImage
设置为0那么PLAYERIMAGES也为[0],而角色就会显示” “公主”这一形象的
图片
(我是游戏里的人物,快来选我!)
94. startScreen()# 显示标题画面直到玩家按下任意一个键
95.
96. # 读取关卡文件里的关卡
97. # 通过readLevelsFile()来获取关卡文件格式的细节并了解如何编写自己的
关卡
98. levels readLevelsFile(starPusherLevels.txt)
99. currentLevelIndex 0
startScreen()函数将会持续显示初始画面(这个画面带有游戏教程)直到玩家按下任
意一个键。当玩家按下任意键后,startScreen()函数将返回并通过关卡文件读取关
卡。玩家将从第一关开始,而这第一关就是在列表中序号为0的关卡。
(开始界面)
101. # 主要的游戏循环,这个循环在单个关卡运行
102. # 当玩家完成这个关卡,循环将读取上/下一关
103. while True:# 主要游戏循环
104. # 运行关卡至开始游戏阶段:
105. result runLevel(levels, currentLevelIndex)
runLevel()函数为游戏处理所有行为。这个函数通过一系列关卡对象并决定运行哪
个整数序号关卡。
当玩家完成关卡,runLevel()将反馈以下字符串:’solved’意味着玩家达成关卡
目标,’next’意味着玩家想要跳关,’back’意味着玩家想返回上一关,’
reset’意味着玩家想重启关卡。
107. if result in (solved, next):
您可能关注的文档
最近下载
- 培智数学《10以内的加法》教案(共12课时).doc VIP
- 《建筑装饰工程施工技术》课件——4.2 木龙骨吊顶.pptx VIP
- UBI车险对我国车险行业的影响研究.docx VIP
- J B-T 9168.9-1998切削加工通用工艺守则 齿轮加工.pdf VIP
- 2025至2030中国石油化工行业市场深度分析及前景趋势与投资报告.docx
- 中国UBI车险行业市场前景如何_中国UBI车险行业市场前景分析报告.docx VIP
- 《中考数学专题讲座》.pptx VIP
- 物联网设备安装与调试(中职)PPT完整全套教学课件.pptx VIP
- 社区工作人员一对一谈心谈话记录三篇 .pdf VIP
- AI赋能教育的思考与应用 教师培训课件.pptx VIP
文档评论(0)