用C语言编写贪吃蛇小游戏

本文详细介绍了如何使用C++实现一个简单的贪吃蛇游戏,包括蛇的初始化、移动、按键控制、食物生成与消灭、碰撞检测和游戏结束条件。通过结构体定义蛇和食物的位置,并利用set和getch函数来实现用户输入控制。

实现功能

蛇最开始三节,向右移动。用户可以通过按上下左右来控制蛇的移动,食物随机产生,蛇吃到食物后蛇的身体会变长。蛇撞墙或者撞到自己身体后,游戏结束。
在这里插入图片描述

怎么实现

要实现一个贪吃蛇小游戏,首先要想清楚游戏里有什么,怎样实现功能。

很明显游戏中只有两样东西,蛇和食物。
所以要建立蛇和食物信息,然后将蛇和食物进行初始化,在将蛇和食物画出来。
实现的功能有:
 1. 蛇的移动
 2. 按键控制蛇的移动
 3. 食物的产生
 4. 蛇吃食物后蛇身体变长
 5. 游戏的结束

用结构体建立蛇和食物的信息

struct COOR{
   
   //位置,x,y坐标
	int x;
	int y;
};

struct SNAKE{
   
   //蛇的基础信息
	int size;//节数
	int speed;//运动速度
	char dir;//运动方向
	struct COOR xy[MAX];//位置
}snakes;

struct FOOD{
   
   //食物信息
	struct COOR fooddir;//食物位置
	int flag;//判断食物是否被吃掉,1未被吃掉,0被吃掉
}food;

实现功能的函数:
蛇:

void snakeInit(){//初始化蛇的信息
void drawSnake(){//画蛇
void moveSnake(){//蛇的移动
void coorSnake(){//按键控制蛇的运动方向

食物:

void initFood(){//初始化食物的信息
void drawFood(){//画食物

其它:

int gameOver(){//游戏结束情况
void gameInit(){//初始化窗口范围

代码

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<graphics.h>
#include<conio.h>
#include<Windows.h>

#define MAX 200
HWND hwnd = NULL;

enum DIR{
   
   //枚举移动方向
	UP,
	DOWN,
	LEFT,
	RIGHT,
};

struct COOR{
   
   //位置,x,y坐标
	int x;
	int y;
};

struct SNAKE{
   
   //蛇的基础信息
	int size;//节数
	int speed;//运动速度
	char dir;//运动方向
	struct COOR xy[MAX];//位置
}snakes;

struct FOOD{
   
   //食物信息
	struct COOR fooddir;//食物位置
	int flag;//判断食物是否被吃掉,1未被吃掉,0被吃掉
}food;

void snakeInit(){
   
   //初始化蛇的信息
	snakes.size = 3;//开始节数
	snakes.dir = RIGHT;//开始运动方向
	snakes.speed = 10;
	
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值