📘 C++ 基础 Intro

C++ 游戏架构 🏛️

Game Architecture

📐 如何构建一个大型游戏?
在 C++ 中,我们不能随意写代码。我们需要结构:

  • 全局变量:定义在最外面,所有地方都能用。
  • 回调函数:比如 onVictory,当事情发生时被调用。
  • int main():游戏的主入口,一切从这里开始。
// 1. 定义事件处理函数 (在 main 之前) void onVictory(auto event) { // 胜利时要做的事... } // 2. 主程序入口 int main() { // 3. 在这里设置游戏 game.spawnMaze(1); return 0; }
🏗️
🎮 游戏开发1:丛林游戏 第 22 关

游戏元素的生成 🏗️

Game Element Spawning

🌍 建造你的世界!
生成(Spawning)就像变魔术,让物体凭空出现在地图上。
我们需要使用 game.spawnXY() 命令。这不仅能造人,还能造宝箱、钥匙、甚至会源源不断吐出怪物的“生成器”!

🔑 小任务:
把钥匙藏在角落,把宝箱锁起来!
// 胜利回调函数 void onVictory(auto event) { db.add("defeated", game.defeated); } int main() { // 1. 创建迷宫 game.spawnMaze(1); // 2. 召唤主角 auto player = game.spawnPlayerXY("raider", 28, 60); player.maxHealth = 200; // 3. 添加游戏目标 game.addCollectGoal(); game.addSurviveGoal(); // 4. 放置道具和敌人 game.spawnXY("locked-chest", 44, 28); game.spawnXY("silver-key", 43, 60); auto s1 = game.spawnXY("skeleton", 43, 50); s1.behavior = "Defends"; game.on("victory", onVictory); return 0; }
🗝️
🎮 游戏开发1:白手起家 第 23 关

项目设计与开发 🎨

Design & Development

🧠 你是游戏导演!
现在,你有一张白纸。你需要结合之前学的所有知识:
生成主角、设置敌人AI、放置道具,最后还要用数据库记录胜利次数!

🛡️ 🆚 👹
void onVictory(auto event) { db.add("wins", 1); } int main() { // 1. 设定目标 game.addDefeatGoal(); game.addSurviveGoal(); // 2. 生成主角 auto player = game.spawnPlayerXY("knight", 40, 40); // 3. 生成敌人并设置AI auto e1 = game.spawnXY("ogre", 30, 40); e1.behavior = "AttacksNearest"; auto e2 = game.spawnXY("ogre", 50, 20); e2.behavior = "AttacksNearest"; // 4. 监听胜利事件 game.on("victory", onVictory); return 0; }
🏆
🚀 附加知识 游戏开发流程

如何从零开始做一个游戏?🗺️

💡 1. 构思与规划 决定主题:是冒险?射击?还是解谜?
🧱 2. 设计元素 生成主角、敌人、场景和道具。
📜 3. 设置规则 怎么赢?怎么输?设定游戏目标。
⚙️ 4. 实现逻辑 编写交互代码,让游戏动起来。
🐛 5. 调试与优化 测试游戏,修复Bug,让体验更流畅。
📢 6. 分享与展示 邀请朋友来玩,收集反馈!
🚀