少儿编程教学:手把手教你用Python编写推星星游戏(一)

上传人:jiups****uk12 文档编号:38509999 上传时间:2018-05-03 格式:PDF 页数:4 大小:212.96KB
返回 下载 相关 举报
少儿编程教学:手把手教你用Python编写推星星游戏(一)_第1页
第1页 / 共4页
少儿编程教学:手把手教你用Python编写推星星游戏(一)_第2页
第2页 / 共4页
少儿编程教学:手把手教你用Python编写推星星游戏(一)_第3页
第3页 / 共4页
少儿编程教学:手把手教你用Python编写推星星游戏(一)_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《少儿编程教学:手把手教你用Python编写推星星游戏(一)》由会员分享,可在线阅读,更多相关《少儿编程教学:手把手教你用Python编写推星星游戏(一)(4页珍藏版)》请在金锄头文库上搜索。

1、游戏分享:手把手教你用游戏分享:手把手教你用 PythonPython 编写推星星编写推星星 游戏(游戏(一一)2017.12.032017.12.03相信大家小时候 一定都玩过一个经典游戏 推箱子推箱子 今天,我们就一起来学习 推箱子的姐妹版游戏 推星星推星星 这款游戏可以说是进阶版 不仅在视觉效果上进行了增进 关卡设计也相对较难 你,准备好了吗?游戏介绍游戏介绍 推星星推星星游戏中,玩家在一个地上有许多星星、砖块、箱子的小房间里,他需将所 有星星找出来并推到带有星标方块的方格中;当星星推到靠墙或者碰到另外一个星 星的时候,玩家就不能再继续推动当前星星了,唯一的办法只能是重启关卡;当所 有星

2、星被推上星标方块后,这一关就完成了并进入下一关。TIPSTIPS游戏中的每一关都由许多 2D 网格方块组成,所有方块元素都能放在彼此的旁边, 所以我们可以通过增加一些障碍方块来创造出许多困难有趣的关卡。TheThe InitialInitial SetupSetup(初始设置)(初始设置)1. # 2. # 游戏分享之五:推星星 3. # 4. # 5. 6. import random, sys, copy, os, pygame 7. from pygame.locals import * 8. 9. FPS = 30 # 帧数 10. WINWIDTH = 800 # 游戏窗口宽度(像素

3、) 11. WINHEIGHT = 600 # 游戏窗口高度(像素) 12. HALF_WINWIDTH = int(WINWIDTH / 2) 13. HALF_WINHEIGHT = int(WINHEIGHT / 2) 14. 15. # 每个方块大小(像素). 16. TILEWIDTH = 50 17. TILEHEIGHT = 85 18. TILEFLOORHEIGHT = 45 19. 20. CAM_MOVE_SPEED = 5 # 镜头移动时每一帧的像素 21. 22. 23. # 地图外有额外装饰的方块比例 24. OUTSIDE_DECORATION_PCT = 20

4、25. 26. BRIGHTBLUE = ( 0, 170, 255) 27. WHITE= (255, 255, 255) 28. BGCOLOR = BRIGHTBLUE 29. TEXTCOLOR = WHITE 30. 31. UP = up 32. DOWN = 33. LEFT = left 34. RIGHT = right这些常量将用在程序的各个部分中。TILEWIDTH 和 TILEHEIGHT 变量将方块设置为 50 像素宽和 85 像素高。然而这些方 块在屏幕上显示的时候会重叠起来(稍后解释) TILEFLOORHEIGHT 意味着充当地板的部分方块大小为 45 像素。请

5、见下面这张对这 些设置的图解:在关卡房间外长草的方块将可能带有额外的装饰(E.g.树或石头) OUTSIDE_DECORATION_PCT 常量表示这些方块将有多大比例获得这些随机装饰。37. def main(): 38.global FPSCLOCK, DISPLAYSURF, IMAGESDICT, TILEMAPPING, OUTSIDEDECOMAPPING, BASICFONT, PLAYERIMAGES, currentImage 39. 40.# pygame 初始化并创建全局变量 41.pygame.init() 42.FPSCLOCK = pygame.time.Clock

6、() 43. 44.# 因为储存在 DISPLAYSURF 中的表层对象 45.# 是 pygame.display.set_mode()函数的返回值 46.# 所以当函数 pygame.display.update()被调出时 47.# 这个表层对象就正如实际屏幕一样 48.DISPLAYSURF = pygame.display.set_mode(WINWIDTH, WINHEIGHT) 49. 50.pygame.display.set_caption(Star Pusher) 51.BASICFONT = pygame.font.Font(freesansbold.ttf, 18)这是

7、通常 Pygame 在程序最开始设置时需要做的53.# 一个全局字典里的值将包含由 pygame.image.load()函数返回的54.# 所有 Pygame 表层对象 55.IMAGESDICT = uncovered goal: pygame.image.load(RedSelector.png), 56.covered goal: pygame.image.load(Selector.png), 57.star: pygame.image.load(Star.png), 58.corner: pygame.image.load(Wall Block Tall.png), 59.wall

8、: pygame.image.load(Wood Block Tall.png), 60.inside floor: pygame.image.load(Plain Block.png), 61.outside floor: pygame.image.load(Grass Block.png), 62.title: pygame.image.load(star_title.png), 63.solved: pygame.image.load(star_solved.png), 64.princess: pygame.image.load(princess.png), 65.boy: pygam

9、e.image.load(boy.png), 66.catgirl: pygame.image.load(catgirl.png), 67.horngirl: pygame.image.load(horngirl.png), 68.pinkgirl: pygame.image.load(pinkgirl.png), 69.rock: pygame.image.load(Rock.png), 70.short tree: pygame.image.load(Tree_Short.png), 71.tall tree: pygame.image.load(Tree_Tall.png), 72.ugly tree: pygame.image.load(Tree_Ugly.png)IMAGESDICT 是储存所有已读图片的字典。 而这将使其他函数使用这些图片时方便许多,因为只有 IMGAESDICT 需要变为全局 变量。 如果我们将这些图片分别储存在不同的变量里,那么这 18 个变量(游戏中使用了 18 张图片)都需要改为全局变量。而字典就能将所有带有图片的表层对象储存起 来,使用起来将方便很多。(我是游戏里的小草堆,可爱嘛!)(我是游戏里的小草堆,可爱嘛!)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号