C语言小项目--贪吃蛇游戏

一、贪吃蛇小游戏简介:

        用上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,也不能咬到自己的身体,等到了一定的分数,就能过关。

 

二、函数框架

三、数据结构

typedef struct Snake
{
	size_t x;  //行
	size_t y;  //列
	struct Snake* next;
}Snake, *pSnake;

定义蛇的结构体,利用单链表来表示蛇,每个结点为蛇身体的一部分。

 

四、代码实现(vs2010  c语言)

1.Snake.h

#ifndef __SNAKE_H__
#define __SNAKE_H__

#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <time.h>
#include <malloc.h>
#include <assert.h>
//标识地图大小
#define ROW_MAP 10    //地图的行
#define COL_MAP 20    //地图的列
#define SUCCESS_SCORE 10//通关分数
enum Direction //蛇行走的方向
{
	R, //右
	L, //左
	U, //上
	D  //下
}Direction;

enum State
{
	ERROR_SELF, //咬到自己
	ERROR_WALL, //撞到墙
	NORMAL,     //正常状态
	SUCCESS     //通关
}State;

typedef struct Snake
{
	size_t x;  //行
	size_t y;  //列
	struct Snake* next;
}Snake, *pSnake;


void StartGame();
void RunGame();
void EndGame();

#endif


2.Snake.c

#include "Snake.h"


pSnake head = NULL; //定义蛇头指针
pSnake Food = NULL; //定义食物指针

int sleeptime = 500;//间隔时间,用来控制速度
int Score = 0;  //总分
int everyScore = 1; //每步得分

//定义游戏中用到的符号
const char food = '#';
const char snake = '*';

void Pos(int x, int y)  
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值