🎮 游戏开发 I 🗺️

CodeCombat 编程冒险指南

🏰 ⚔️ 💎

准备好开始你的代码之旅了吗?
让我们一起去探索笛卡尔坐标和宝石的秘密!

包含关卡:第 1 - 6 关
🗺️ 游戏开发1 - 越过花园墙 LEVEL 1

笛卡尔坐标系 📐

Cartesian Coordinate System

💡 什么是坐标?
想象你在一个大城市里。X轴是街道的宽度(左右走),Y轴是楼层的高度(上下走)。
每一个位置都有一个名字,比如 (39, 16)
🚧 任务
我们需要在草地上修栅栏!
(39, 16)
# game.spawnXY(类型, x坐标, y坐标)

# 在 x=39, y=16 的地方放一个围栏
game.spawnXY("fence", 39, 16)

# 往上一点,y变成20,再放一个!
game.spawnXY("fence", 39, 20)
👉 改变 Y 坐标,物体就会垂直移动哦!
📏
🗺️ 游戏开发1 - 点击步态 LEVEL 2

事件驱动编程 🖱️

Event-driven Programming

💡 什么是事件?
就像你按遥控器电视会换台一样。在游戏里,"鼠标点击"就是一个事件。
程序会监听你的点击,然后命令角色走过去。
🏃 任务
点击屏幕,告诉骑士要走到哪里去!
# 1. 先把骑士召唤出来
game.spawnPlayerXY("knight", 5, 8)

# 2. 告诉系统:如果玩家点击了,就走到这里
game.addMoveGoalXY(10, 18)
game.addMoveGoalXY(10, 38)
👆 addMoveGoalXY 就是在设置移动的目标点
👆
🗺️ 游戏开发1 - 英雄的旅程 LEVEL 3

游戏目标 🏁

Game Goals

💡 为什么要设置目标?
没有目标的游戏就像没有球门的足球赛!
我们需要告诉玩家:“嘿,你得走到那个位置才能赢!”。
🦸 任务
我是队长(Captain),我要走到地图的尽头 (53, 45)!
# 生成一个叫 "captain" 的英雄
game.spawnPlayerXY("captain", 9, 9)

# 设定获胜条件:走到 (53, 45)
game.addMoveGoalXY(53, 45)
🚀 只要走到那个坐标,屏幕就会显示 VICTORY (胜利)!
🏆
🗺️ 游戏开发1 - 太-棒-了 LEVEL 4

收集目标 🎒

Collecting Goals

💡 寻宝游戏
除了走路,我们还可以让玩家去收集东西
比如金币、钥匙、或者神秘的宝箱。
💎 任务
看到那个宝箱了吗?我们需要设置一个“收集目标”,玩家必须把它捡起来才能赢。
# 告诉游戏:玩家必须收集完所有物品
game.addCollectGoal()

# 在 (8, 14) 放一个宝箱
game.spawnXY("chest", 8, 14)

# 顺便种棵树装饰一下
game.spawnXY("forest", 26, 51)
📦
🗺️ 游戏开发1 - 宝石太棒了 LEVEL 5

宝石元素 💎

Gem Elements

💡 亮闪闪的奖励
宝石 (Gem) 是游戏里最常见的奖励。
它们通常代表分数或者通关的关键道具。
✨ 任务
在地图的不同角落撒下宝石,让玩家去探索吧!
# 这里有一颗...
game.spawnXY("gem", 28, 28)

# 那里也有一颗...
game.spawnXY("gem", 69, 10)

# 别忘了角落里这颗!
game.spawnXY("gem", 9, 36)
Tip: 坐标间隔远一点,游戏会更好玩!
🗺️ 游戏开发1 - 风险与回报 LEVEL 6

条件设置 🔢

Conditional Settings

💡 制定规则
游戏不能太简单!我们可以设置更具体的规则。
比如:“你不需要收集所有宝石,但你必须至少收集6颗才能过关。”
🎲 任务
设置一个数字条件。这就叫“风险与回报”,玩家需要自己决定走哪条路去凑够6颗宝石。
# 设置收集目标为:6
game.addCollectGoal(6)

# (地图上可能生成了10颗宝石,
# 但玩家只需要找到其中6颗就行)
📝 括号里的数字就是通关条件!
🎲