vc++6.0小游戏源代码
时间: 2023-08-29 12:12:55 浏览: 239
以下是一个简单的贪吃蛇小游戏的源代码,使用 VC++6.0 编写。注意,这只是一个基础版本的代码,可以根据自己的需求进行修改和完善。
```c++
#include <windows.h>
#include <conio.h>
#include <time.h>
#include <iostream>
using namespace std;
const int MAXLEN = 200; // 贪吃蛇的最大长度
const int UP = 72; // 方向键的键值
const int DOWN = 80;
const int LEFT = 75;
const int RIGHT = 77;
int score = 0; // 得分
bool gameover = false; // 游戏是否结束
int len = 4; // 贪吃蛇的长度
int x[MAXLEN], y[MAXLEN]; // 贪吃蛇的坐标
int fx, fy; // 食物的坐标
int dir = RIGHT; // 初始方向向右
void init() // 初始化游戏
{
srand((unsigned)time(NULL)); // 随机数种子
x[0] = 5; y[0] = 5; // 初始贪吃蛇的位置
x[1] = 4; y[1] = 5;
x[2] = 3; y[2] = 5;
x[3] = 2; y[3] = 5; // 初始长度为4
fx = rand() % 20; fy = rand() % 20; // 食物的位置
score = 0;
gameover = false;
}
void draw() // 绘制游戏界面
{
system("cls");
cout << "贪吃蛇游戏" << endl;
cout << "得分:" << score << endl;
for (int i = 0; i < 22; i++) // 绘制边界
{
for (int j = 0; j < 22; j++)
{
if (i == 0 || i == 21 || j == 0 || j == 21)
cout << "#";
else if (i == fy && j == fx) // 绘制食物
cout << "$";
else
{
bool flag = false;
for (int k = 0; k < len; k++) // 绘制贪吃蛇
{
if (i == y[k] && j == x[k])
{
cout << "*";
flag = true;
break;
}
}
if (!flag) cout << " ";
}
}
cout << endl;
}
}
void update() // 更新游戏状态
{
// 移动贪吃蛇
for (int i = len - 1; i > 0; i--)
{
x[i] = x[i - 1];
y[i] = y[i - 1];
}
if (dir == UP) y[0]--;
else if (dir == DOWN) y[0]++;
else if (dir == LEFT) x[0]--;
else if (dir == RIGHT) x[0]++;
// 判断是否吃到食物
if (x[0] == fx && y[0] == fy)
{
len++;
score += 10;
fx = rand() % 20;
fy = rand() % 20;
}
// 判断是否撞墙或撞到自己
if (x[0] == 0 || x[0] == 21 || y[0] == 0 || y[0] == 21)
gameover = true;
for (int i = 1; i < len; i++)
{
if (x[0] == x[i] && y[0] == y[i])
gameover = true;
}
}
int main()
{
init(); // 初始化游戏
while (!gameover)
{
draw(); // 绘制游戏界面
update(); // 更新游戏状态
if (_kbhit())
{
int c = _getch(); // 获取按键值
if (c == 224) // 方向键的键值
{
c = _getch();
if (c == UP && dir != DOWN) dir = UP;
else if (c == DOWN && dir != UP) dir = DOWN;
else if (c == LEFT && dir != RIGHT) dir = LEFT;
else if (c == RIGHT && dir != LEFT) dir = RIGHT;
}
}
Sleep(100); // 控制游戏速度
}
draw();
cout << "游戏结束,得分:" << score << endl;
system("pause");
return 0;
}
```
阅读全文
相关推荐






