贪吃蛇游戏源码(VS编译环境)

本文详细介绍了用C语言编写的贪吃蛇游戏源代码,包括头文件定义、关键函数如蛇移动、食物生成和碰撞检测等,以及如何在VS编译环境中运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

贪吃蛇游戏源码(VS编译环境)

🥕个人主页:开敲🍉

🔥所属专栏:C语言🍓

目录

1. Snake.h 头文件

2. Snake.c 源文件

3. Test.c 源文件

​​​​​​​

1. Snake.h 头文件

#include <windows.h>
#include <stdio.h>
#include <stdbool.h>
#include <locale.h>
#include <time.h>


#define INIT_COLS 40
#define INIT_LINES 10

#define WALL L'■'
#define SNAKE_BODY L'●'
#define FOOD L'★'


//蛇的方向
enum SnakeDirection
{
    UP = 1,
    DOWN,
    LEFT,
    RIGHT
};


//游戏状态
enum GameStatus
{
    OK,
    KILL_BY_WALL,
    KILL_BY_SELF,
    END_NORMAL,
    PAUSE
};

//贪吃蛇蛇身的节点
typedef struct SnakeNode
{
    int x;
    int y;
    struct SnakeNode* next;

}SnakeNode;

//贪吃蛇的信息
typedef struct Snake
{
    SnakeNode* snake;//指向蛇头的指针
    SnakeNode* pfood;//指向食物节点的指针
    enum GameStatus sta;//游戏的状态
    enum SnakeDirection dir;//贪吃蛇的方向
    int food_weight;//食物的分数
    int score;//总分
    int sleep_time;//贪吃蛇的速度
}Snake;

//设置光标位置
void SetPos(int x, int y);


//初始化欢迎界面
void InitWelcome();


//创建游戏地图
void CreatGameMap();


//初始化蛇
void InitSnake(Snake* ps);


//创建食物
void CreatFood(Snake* ps);


//调整贪吃蛇
void ModifySnake(Snake* ps);


//移动贪吃蛇
void SnakeMove(Snake* ps);

//吃掉食物
void EatFood(SnakeNode* pnext, Snake* ps);


//不是食物
void NotFood(SnakeNode* pnext, Snake* ps);


//初始化游戏
void InitGame(Snake* ps);


//运行游戏
void GameRun(Snake* ps);


//游戏结束
void GameOver(Snake* ps);

2. Snake.c 源文件

#define KEY_PRESS(VK) ((GetAsyncKeyState(VK)&0x1)?1:0)<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值