COIN GAME PROJECT

Level Design & Coordinate Systems

LEVEL 21

硬币游戏第1步:布局 (Layout)

设计师蓝图

欢迎来到游戏开发工作室!我们要制作一个经典的“吃豆人”风格游戏。
第一步是搭建舞台。虽然一行行写坐标很枯燥,但这是关卡设计师的基本功。

网格系统 (The Grid)

为了美观,我们按照严格的数学规律放置物体:
🌲 森林 (墙壁): 间隔 16米 (16, 32, 48, 64...)
🪙 硬币 (积分): 间隔 8米 (8, 16, 24, 32...)

填补空缺

代码中留了一些空白。你需要观察坐标的规律(比如每次加16或8),把缺失的森林和硬币补上,构建完整的迷宫。

(x, y) Coordinates
Precision is Key

level_1_layout.py
1
# 让我们开始新建一个吃豆人风格的街机游戏。
2
# 让我们以网格模式生成一些"forest"图块。
3
game.spawnXY("forest", 16, 16)
4
game.spawnXY("forest", 32, 16)
5
game.spawnXY("forest", 48, 16)
6
game.spawnXY("forest", 64, 16)
7
game.spawnXY("forest", 16, 32)
8
game.spawnXY("forest", 32, 32)
9
game.spawnXY("forest", 48, 32)
10
game.spawnXY("forest", 64, 32)
11
game.spawnXY("forest", 16, 48)
12
# 正如你所看到的,森林图块之间的距离是16米
13
# 在缺少的三个地点生成更多森林图标
14
game.spawnXY("forest", 32, 48)
补全森林
15
game.spawnXY("forest", 48, 48)
补全森林
16
game.spawnXY("forest", 64, 48)
补全森林
17
18
# 接下来,我们在森林中生成硬币。
19
game.spawnXY("bronze-coin", 16, 8)
20
game.spawnXY("bronze-coin", 24, 8)
21
game.spawnXY("bronze-coin", 32, 8)
22
game.spawnXY("bronze-coin", 48, 8)
23
game.spawnXY("bronze-coin", 56, 8)
24
game.spawnXY("bronze-coin", 64, 8)
25
game.spawnXY("bronze-coin", 72, 8)
26
27
game.spawnXY("bronze-coin", 8, 16)
28
game.spawnXY("bronze-coin", 24, 16)
29
game.spawnXY("bronze-coin", 40, 16)
30
game.spawnXY("bronze-coin", 56, 16)
31
game.spawnXY("bronze-coin", 72, 16)
32
33
game.spawnXY("bronze-coin", 8, 24)
34
game.spawnXY("bronze-coin", 16, 24)
35
game.spawnXY("bronze-coin", 24, 24)
36
game.spawnXY("bronze-coin", 32, 24)
37
game.spawnXY("bronze-coin", 40, 24)
38
game.spawnXY("bronze-coin", 48, 24)
39
game.spawnXY("bronze-coin", 56, 24)
40
game.spawnXY("bronze-coin", 64, 24)
41
game.spawnXY("bronze-coin", 72, 24)
42
43
game.spawnXY("bronze-coin", 24, 32)
44
game.spawnXY("bronze-coin", 56, 32)
45
46
game.spawnXY("bronze-coin", 8, 40)
47
game.spawnXY("bronze-coin", 16, 40)
48
game.spawnXY("bronze-coin", 24, 40)
49
game.spawnXY("bronze-coin", 32, 40)
50
game.spawnXY("bronze-coin", 40, 40)
51
game.spawnXY("bronze-coin", 48, 40)
52
game.spawnXY("bronze-coin", 56, 40)
53
game.spawnXY("bronze-coin", 64, 40)
54
game.spawnXY("bronze-coin", 72, 40)
55
56
game.spawnXY("bronze-coin", 8, 48)
57
game.spawnXY("bronze-coin", 24, 48)
58
game.spawnXY("bronze-coin", 40, 48)
59
game.spawnXY("bronze-coin", 56, 48)
60
game.spawnXY("bronze-coin", 72, 48)
61
62
game.spawnXY("bronze-coin", 8, 56)
63
game.spawnXY("bronze-coin", 16, 56)
64
game.spawnXY("bronze-coin", 24, 56)
65
game.spawnXY("bronze-coin", 32, 56)
66
67
# 硬币之间的距离是8米,在空的地方生成更多硬币
68
game.spawnXY("bronze-coin", 48, 56)
补全硬币
69
game.spawnXY("bronze-coin", 56, 56)
补全硬币
70
game.spawnXY("bronze-coin", 64, 56)
补全硬币
71
game.spawnXY("bronze-coin", 72, 56)
补全硬币
72
73
# 蘑菇将是我们的能力强化道具。
74
game.spawnXY("mushroom", 40, 8)
75
game.spawnXY("mushroom", 8, 32)
76
# 生成更多蘑菇。
77
game.spawnXY("mushroom", 72, 32)
能力道具
78
game.spawnXY("mushroom", 40, 56)
能力道具
79
80
player = game.spawnPlayerXY('knight', 8, 8)
主角登场
81
player.maxSpeed = 30
设置移动速度
82
game.addCollectGoal()
目标:收集所有