- 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.03
相信大家小时候
一定都玩过一个经典游戏
推箱子
今天,我们就一起来学习
推箱子的姐妹版游戏
推星星
这款游戏可以说是进阶版
不仅在视觉效果上进行了增进
关卡设计也相对较难
你,准备好了吗?
游戏介绍
推星星游戏中,玩家在一个地上有许多星星、砖块、箱子的小房间里,他需将所
有星星找出来并推到带有星标方块的方格中;当星星推到靠墙或者碰到另外一个星
星的时候,玩家就不能再继续推动当前星星了,唯一的办法只能是重启关卡;当所
有星星被推上星标方块后,这一关就完成了并进入下一关。
TIPS
游戏中的每一关都由许多2D网格方块组成,所有方块元素都能放在彼此的旁边,
所以我们可以通过增加一些障碍方块来创造出许多困难有趣的关卡。
The InitialSetup (初始设置)
1.#
2.# 游戏分享之五:推星星
3.#
4.#
5.
6. import random, sys, copy, os, pygame
7.from pygame.locals import *
8.
9.FPS 30# 帧数
10.WINWIDTH 800# 游戏窗口宽度 (像素)
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
25.
26.BRIGHTBLUE ( 0, 170, 255)
27.WHITE (255, 255, 255)
28.BGCOLOR BRIGHTBLUE
29.TEXTCOLOR WHITE
30.
31.UP up
32.DOWN down
33.LEFT left
34.RIGHT right
这些常量将用在程序的各个部分中。
TILEWIDTH和TILEHEIGHT变量将方块设置为50像素宽和85像素高。然而这些方
块在屏幕上显示的时候会重叠起来 (稍后解释)
TILEFLOORHEIGHT意味着充当地板的部分方块大小为45像素。请见下面这张对这
些设置的图解:
在关卡房间外长草的方块将可能带有额外的装饰 (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()
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)
这是通常Pygame在程序最开始设置时需要做的
文档评论(0)