21xrx.com
2024-11-25 08:10:52 Monday
登录
文章检索 我的文章 写文章
C++编写的龟兔赛跑程序代码
2023-06-22 12:13:57 深夜i     --     --
C++ 程序代码 龟兔赛跑

龟兔赛跑程序是一款基于C++编写的模拟赛跑游戏,通过这个程序,我们可以学习C++语言的基本语法,如条件语句、循环语句等,以及如何使用类和对象来构建程序。

在这个程序中,有两个角色,一只乌龟和一只兔子,它们会通过随机数来决定每次行动的距离,最终到达终点的角色即为胜利者。

以下是程序的代码:

#include

#include //包含随机数函数所需头文件

using namespace std;

class Animal { //定义动物类

public:

  int position; //位置

  int speed; //速度

  Animal() //构造函数

    position = 0;

    speed = 0;

};

class Tortoise : public Animal { //定义乌龟类

public:

  void move() { //移动函数

    int type = rand() % 10; //随机数

    if (type < 5) { //加速

      speed += 3;

    } else //减速

      speed -= 1;

    if (speed < 1) //最小速度为1

      speed = 1;

    position += speed;

    if (position > 100) //最大位置为100

      position = 100;

  }

};

class Rabbit : public Animal { //定义兔子类

public:

  void move() { //移动函数

    int type = rand() % 10; //随机数

    if (type < 2) //睡觉

      speed = 0;

     else if (type < 5) { //加速

      speed += 9;

    } else if (type < 9) //减速

      speed -= 12;

     else { //跳跃

      int jump = rand() % 4; //跳跃距离

      position += jump;

      if (position > 100) //最大位置为100

        position = 100;

    }

    if (speed < 1) //最小速度为1

      speed = 1;

    position += speed;

    if (position > 100) //最大位置为100

      position = 100;

  }

};

int main() {

  Tortoise turtle;

  Rabbit bunny;

  bool win = false;

  cout << "龟兔赛跑开始!" << endl;

  while (!win) { //循环直到胜利者产生

    turtle.move();

    bunny.move();

    cout << "乌龟的位置:" << turtle.position << " 速度:" << turtle.speed;

    cout << "  兔子的位置:" << bunny.position << " 速度:" << bunny.speed << endl;

    if (turtle.position >= 100 && bunny.position >= 100) 比赛平局!" << endl;

      win = true;

     else if (turtle.position >= 100) //乌龟胜利

      cout << "乌龟胜利!" << endl;

      win = true;

     else if (bunny.position >= 100) //兔子胜利

      cout << "兔子胜利!" << endl;

      win = true;

  }

  system("pause");

  return 0;

}

通过这个程序的编写,我们可以锻炼自己的编程能力,并且更好地理解C++语言的语法和类的使用,也能够在游戏中获得快乐和挑战。

  
  

评论区

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