c语言小游戏实践-贪吃蛇

博主分享了自己用C语言编写的贪吃蛇小游戏,修复了若干bug并添加了得分记录功能,最高可达55分,邀请读者尝试挑战。
摘要由CSDN通过智能技术生成

今天无意间翻以前的代码时看到了当初写的贪吃蛇,改了改几处bug,增加了一个记录得分的模块。感觉自己最多只能拿到55分。有兴趣的小伙伴可以看看。

/*名称:贪吃蛇

  作者:tedist

  基本实现方法:链表表示蛇体,在while循环以及Sleep函数下用printf函数实现游戏的动态化。(在没有吃到食物的时候用增头去尾的方法表示移动,吃到食物的时候不去掉尾)

  1.定义蛇体的每一个结点,定义食物。

  2.预处理地图位置,地图墙壁

  3.所需函数
   1. 光标定位   void gotoxy()
   2.地图初始化 void initmap()
   3.刷新食物   void creatfood() *食物在刷新的时候不能出现在蛇的身上
   4.蛇的操控   void controlSnake()*蛇不能进行180度的转弯
   5.碰撞判定   int crush()
   6.失败标志   int faile()
   7.游戏速度   void speed()
   8.当游戏结束时如果分数大于历史最高分则保存,增加游戏的可玩性。
   
  
  4.主函数
    如果之前有score文档保存最高分数则读取显示,没有就新建一个score文件保存最高得分
	地图初始化
	while(1)
	{
	蛇的操作
	失败标志;break;
	}
	结束游戏若分数大于最高分那么保留最高分。
	退出游戏。

*/
#include<stdio.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
#include<stdlib.h>
#include<math.h>

#define wallx 4
#define wally 4 //墙壁的位置//

#define len 3   //蛇的初始长度//

#define wallwidth 40
#define wallheight 20 //围墙的大小//

int speed=200;//定义初始的运动速度//

COORD cor;//在构建围墙的时候用到的位置变量//

char ch=72;
char pre=72;//定义蛇一开始的初始运动方向,并为蛇之前运动的方向保留一个变量//
int eat=0;//判定蛇此时是否吃到了食物//

int length;//记录蛇的长度//
int maxscore;//记录最高记录//
int scorewallwidth=10;//分数框的宽度//

typedef struct snode
{
	COORD cor;
	snod
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值