21xrx.com
2024-11-05 17:25:40 Tuesday
登录
文章检索 我的文章 写文章
C++小游戏程序代码
2023-06-28 04:08:16 深夜i     --     --
C++ 小游戏 程序代码

C++小游戏程序是一种让初学者快速了解编程概念和基础语法的练手项目,通过模拟简单的游戏场景和交互反馈,帮助新手理解C++的实现方式和程序功能。

以下是一份简单的C++小游戏程序代码,可以供初学者参考:

#include

#include

using namespace std;

//定义游戏玩家的类

class Player {

public:

  string name;

  int health;

  int mana;

  int attack;

  int defense;

  //构造函数

  Player(string n, int h, int m, int a, int d)

    name = n;

    health = h;

    mana = m;

    attack = a;

    defense = d;

  //玩家攻击方法,对另一玩家造成伤害并输出结果

  void attackPlayer(Player& p) {

    int damage = (attack - p.defense) <= 0 ? 1 : (attack - p.defense);

    p.health -= damage;

    cout << name << " 攻击了 " << p.name << " ,造成了 " << damage << " 点伤害。" << endl;

  }

  //玩家使用魔法方法,对另一玩家造成伤害并扣除自身魔法值

  void castSpell(Player& p) {

    if (mana < 10)

      cout << "魔法值不足!" << endl;

      return;

    p.health -= 20;

    mana -= 10;

    cout << name << " 施展了火球术,造成了 20 点伤害。" << endl;

  }

  //玩家使用恢复法术,恢复自身生命值并扣除自身魔法值

  void heal() {

    if (mana < 5)

      cout << "魔法值不足!" << endl;

      return;

    health += 15;

    mana -= 5;

    cout << name << " 使用了治疗术,恢复了 15 点生命值。" << endl;

  }

};

int main() {

  //创建两个玩家并初始化属性

  Player player1("张三", 100, 50, 20, 10);

  Player player2("李四", 80, 30, 25, 5);

  //游戏循环,直到一方生命值小于等于0

  while (player1.health > 0 && player2.health > 0) {

    //输出当前状态

    cout << "现在是 " << player1.name << " 的回合" << endl;

    cout << player1.name << " 当前生命值为 " << player1.health << ",魔法值为 " << player1.mana << endl;

    cout << player2.name << " 当前生命值为 " << player2.health << endl;

    //玩家选择操作

    int choice;

    cout << "请选择操作(1:攻击,2:使用魔法,3:恢复生命值):";

    cin >> choice;

    switch (choice) {

    case 1:

      player1.attackPlayer(player2);

      break;

    case 2:

      player1.castSpell(player2);

      break;

    case 3:

      player1.heal();

      break;

    default:

      cout << "无效操作!" << endl;

      break;

    }

    //判断游戏是否结束

    if (player2.health <= 0)

      cout << player1.name << " 获得胜利!" << endl;

      break;

    //下一个玩家回合

    cout << endl;

    cout << "现在是 " << player2.name << " 的回合" << endl;

    cout << player2.name << " 当前生命值为 " << player2.health << ",魔法值为 " << player2.mana << endl;

    cout << player1.name << " 当前生命值为 " << player1.health << endl;

    cout << "请选择操作(1:攻击,2:使用魔法,3:恢复生命值):";

    cin >> choice;

    switch (choice) {

    case 1:

      player2.attackPlayer(player1);

      break;

    case 2:

      player2.castSpell(player1);

      break;

    case 3:

      player2.heal();

      break;

    default:

      cout << "无效操作!" << endl;

      break;

    }

    if (player1.health <= 0)

      cout << player2.name << " 获得胜利!" << endl;

      break;

    cout << endl;

  }

  return 0;

}

以上代码实现了一个双人对战的简单游戏,其中玩家可以选择攻击、魔法和恢复生命值三种操作,循环执行直至一方生命值小于等于0。该代码可以供初学者借鉴学习,慢慢提升自己的编程水平。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复