📘 C++ 基础 Intro

CodeCombat C++ ⚡

Basic Syntax

👋 欢迎使用 C++!
与 Python 不同,C++ 需要更严谨的格式:

  • 📦 int main() { ... }
    所有主要代码都必须写在这个大括号里。
  • 🛑 ; (分号)
    每行代码结束必须加分号,不能忘!
  • auto
    用来自动推断变量类型,比如 auto player = ...
int main() { // 这是你的主程序 // 记得用分号结束每一行 auto hero = game.spawnXY("knight", 40, 40); hero.maxHealth = 100; return 0; }
💻
🎮 游戏开发1:眼见为实 第 18 关

用户界面 (UI) 🖥️

User Interface

👀 怎么让玩家看到分数?
我们需要使用 ui.track() 把藏在代码里的数字(比如击败数)展示在屏幕上。

👇 屏幕上会显示这个 👇
💀 Defeated: 5
⏳ Time: 12s
int main() { auto player = game.spawnPlayerXY("samurai", 20, 20); game.addSurviveGoal(20); auto spawner = game.spawnXY("generator", 50, 50); spawner.spawnType = "munchkin"; // UI 追踪显示 ui.track(game, "time"); ui.track(game, "defeated"); player.maxSpeed = 20; return 0; }
📊
🎮 游戏开发1:生存时间 第 19 关

生存目标 ⏱️

Survival Goal

🛡️ 活下去就是胜利!
在这一关,我们给玩家定了一个小目标:坚持20秒!
使用 game.addSurviveGoal(20); 来实现。

⚠️ 挑战模式:
敌人会源源不断涌来,保护好你的血条!
int main() { // 告诉游戏:玩家必须存活20秒 game.addSurviveGoal(20); // 使用 auto 定义生成器 auto generator = game.spawnXY("generator", 60, 40); generator.spawnType = "munchkin"; auto player = game.spawnPlayerXY("knight", 15, 15); player.maxHealth = 100; player.attackDamage = 10; return 0; }
🎮 游戏开发1:持续付出 第 20 关

数据库 💾

Database

📝 永远记住你!
数据库 (db) 就像一个永久的笔记本。
它可以记录你玩了多少次、总共赢了多少局。哪怕你关掉电脑明天再来,数据还在!

// 胜利时的回调函数 (定义在 main 之前) void onVictory(auto event) { db.add("wins", 1); db.add("total defeated", game.defeated); } int main() { auto player = game.spawnPlayerXY("raider", 36, 30); game.addSurviveGoal(8); // 写入数据库:游玩次数 + 1 db.add("plays", 1); // 显示数据库记录 ui.track(db, "plays"); ui.track(db, "wins"); // 监听胜利事件 game.on("victory", onVictory); return 0; }
🗄️
🎮 游戏开发1:农夫与小矮人 第 21 关

生态系统模拟 🦁

Ecosystem Simulation

🌍 上帝视角创造世界
我们要模拟一个真实的生态圈:
1. 食人魔 是捕食者 🐺
2. 农民 是猎物 🐑
3. 硬币 是食物 🌿
通过调整变量,观察生态平衡!

👹
食人魔
👊
👨‍🌾
农民
🤏
🪙
硬币
int main() { // --- 食人魔设定 (捕食者) --- game.startingOgres = 8; // 初始数量 game.ogreSpeed = 15; // 移动速度 game.ogreSplit = 3; // 繁殖需求 // --- 农民设定 (猎物) --- game.startingPeasants = 15; game.peasantSpeed = 6; // --- 硬币设定 --- game.coinSpawnTime = 1; game.coinSpawnAmount = 8; // 实时监控数据 ui.track(game, "humans"); ui.track(game, "ogres"); return 0; }
🌍