C语语言言实实现现简简单单贪贪吃吃蛇蛇小小游游戏戏
本文实例为大家分享了C语言实现简单贪吃蛇的具体代码,供大家参考,具体内 如下
依然是非常传统的贪吃蛇小游戏,网上很多教程,配置好ege图形库就好,不然没有grapics.h另外,还需要添加snakes.h,直接上
代码吧,注释很详细了。觉得难度有一部分来源于配置图形库。
snakes.h
void welcome();
void initSnake();
void createPoint();
void drawSnake();
void drawRandomPoint();
void view();
void sMove();
void changeHead();
void keyControl(int key);
void drawScore(int x, int y, int score_si e);
int isGetPoint();
void againGame();
int isGameOver();
#define WINWIDTH 800 //窗口的宽度
#define WINHIGH 544 //窗口的高度
#define S_POOLX 30 //游戏池开始的横坐标
#define S_POOLY 30 //游戏池开始的纵坐标
#define POINT_W 10 //构成蛇的小方块的宽度
#define E_POOLX (S_POOLX+(POINT_W+2)*43-2) //游戏池结束的横坐标
#define E_POOLY (S_POOLY+(POINT_W+2)*33-2) //游戏池结束的纵坐标
#define MAX_SNAKE 100 //蛇最大的长度
// 定义一个枚举类型,表示蛇运动的方向
enum dire
{
LEFT=1,
RIGHT,
UP,
DOWN,
};
struct point
{
int x; //点的横坐标
int y; //点的纵坐标
color_t coler; //点的颜色
}snake[MAX_SNAKE]; //定义一个点的结构体,包括横纵坐标,以及点的颜色。并定义一个名为snake的点
的数组作为蛇的数据存放
main.c
#include
#include "snake.h"
#include
int s_length = 0; //存放蛇的长度
int score =0; //存放获得的分数
enum dire s_direction = RIGHT; //初始化蛇的方向是向右运动
struct point r_point; //定义一个point结构体来存放随机出现点的数据,即蛇的食物
/**********************************************
* 游戏结束时显示函数
* 名称:void AgainGame()
* 功能:绘制游戏开始界面
*********************************************/
void againGame()
{
//声明一个img图片对象
PIMAGE img;
cleardevice(); //清屏
//用newimage在initgraph后创建这个对象。但记得要在不使用的时候delimage
img = newimage();
getimage(img, "C://Users//Admin