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

少儿编程教学:手把手教你用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在程序最开始设置时需要做的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值