#include <iostream>
#include <conio.h>
#include <windows.h>
#include <vector>
#include <time.h>
using namespace std;
// 游戏常量
const int WIDTH = 40;
const int HEIGHT = 20;
const char SNAKE_HEAD = 'O';
const char SNAKE_BODY = 'o';
const char FOOD = '*';
const char WALL = '#';
const char EMPTY = ' ';
// 方向枚举
enum Direction { STOP = 0, UP, DOWN, LEFT, RIGHT };
class SnakeGame {
private:
vector<pair<int, int>> snake; // 蛇的身体坐标
int foodX, foodY; // 食物坐标
Direction dir; // 当前方向
bool gameOver; // 游戏是否结束
int score; // 分数
public:
SnakeGame() {
resetGame();
}
};
int main() {
SnakeGame game;
game.run();
return 0;
}
这个贪吃蛇游戏包含了以下功能:
游戏特性:
使用方向键控制蛇的移动
吃到食物后蛇身增长,分数增加
碰到墙壁或自己的身体游戏结束
实时显示当前分数
ESC 键退出游戏
如何编译运行:1 将代码保存为 snake.cpp2 使用 C++ 编译器编译:g++ snake.cpp -o snake.exe3 运行生成的可执行文件
游戏控制:
↑ ↓ ← → 方向键:控制蛇的移动方向
ESC 键:退出游戏
这是一个基础版本,你可以根据需要添加更多功能,比如:
难度选择
游戏暂停功能
最高分记录
不同类型的食物
障碍物
背景音乐
希望你喜欢这个经典的贪吃蛇游戏!