帮我用C++生成一个赛车竞速的小游戏
时间: 2024-04-06 19:29:26 浏览: 165
好的,以下是一个简单的赛车竞速小游戏的代码,可以供您参考:
```c++
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
//定义全局变量
const int width = 20; //游戏窗口宽度
const int height = 10; //游戏窗口高度
int carPos = width / 2; //赛车的位置
int score = 0; //得分
void draw() //绘制游戏窗口和赛车
{
system("cls"); //清屏
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
if (i == height - 1)
{
cout << "_"; //绘制底部边界
}
else if (j == 0 || j == width - 1)
{
cout << "|"; //绘制左右边界
}
else if (i == 0)
{
cout << "-"; //绘制顶部边界
}
else if (i == height - 2 && j == carPos)
{
cout << "O"; //绘制赛车
}
else
{
cout << " "; //绘制空格
}
}
cout << endl;
}
cout << "Score: " << score << endl; //输出得分
}
int main()
{
while (true) //游戏循环
{
if (kbhit()) //检测是否有键盘输入
{
char ch = getch(); //获取键盘输入
if (ch == 'a' && carPos > 1)
{
carPos--; //向左移动赛车
}
else if (ch == 'd' && carPos < width - 2)
{
carPos++; //向右移动赛车
}
}
draw();
//随机生成障碍物并移动
static int obstaclePos = rand() % (width - 3) + 1;
static int obstacleSpeed = 1;
obstaclePos += obstacleSpeed;
if (obstaclePos >= width - 1)
{
obstaclePos = rand() % (width - 3) + 1;
score++; //得分加一
}
//检测是否碰到障碍物
if (carPos == obstaclePos && height - 2 == 1)
{
cout << "Game Over!" << endl;
break;
}
Sleep(50); //暂停50毫秒,控制游戏速度
}
return 0;
}
```
这个游戏采用了简单的ASCII图形,并且只有一个赛车和一个障碍物。您可以根据自己的需要对代码进行修改和扩展,让游戏更加丰富和有趣。
阅读全文