#Linux环境下vim编写C语言贪吃蛇
https://gitee.com/qianzhen1997/c_language_week2.git 此为贪吃蛇源码在码云上的代码链接
#一.—————贪吃蛇实际完成情况
#二.—————贪吃蛇游戏运行环境
#三.—————贪吃蛇游戏构成
#四.—————心得体会
##1.贪吃蛇游戏实际完成情况
##3.贪吃蛇游戏构成
###1 预编译和准备阶段
调用需要的头文件和一些宏定义,枚举运动方向,初始化运动方向
定义一个draw_area()函数,使用系统中的MOVETO(x,y)函数将乂这个字符移动到(10,5)至(48,5),从5到21行,10到48列构成一个长方形的运动区域作为蛇的运动范围。
通过stdlib.h和time.h这个头文件中的srand(time(NULL))和rand()函数来产生随机数并对(边框位置-2)取余+12,来使食物在区域内随机产生,当产生的食物和蛇重叠时,重新生成,要注意的是中文字符占2个字节。
###5 蛇的移动
我使用的方式是把链表尾作为蛇头,通过把蛇头朝运动方向移动一格,蛇身的坐标前一个赋给后一个的方式,并在没吃到食物时把最后一个赋为空格,吃到食物时把最后一个节点的信息保留,再用usleep()延时函数就实现了蛇的移动和吃到食物变长。
当蛇头遇到边界或者蛇身时,退出游戏,显示game over!
使用fopen函数打开来对‘snake.dat’,‘r’进行读操作,通过fread()函数把其中的数据读取出来,继续运行下去。
在运行游戏前有一句提示 按y来读取游戏进度,按n来重新开始,因此设定了n为重新开始,按y时如果有游戏进度保存了,就读取游戏进度,否则就重新开始,按其他按键,则退出运行。
##4
至此我们就完成了贪吃蛇的功能,作为刚学完C语言来说,具有很高的实际意义,能够让自己把所学实际应用起来,有些知识可能看起来懂了,但是实际写起来还是有一定难度的,中间经常遇到段错误,需要仔细检查,这个游戏项目,让我更加深刻的了解了结构体和指针以及其中链表,还有文件的操作使用和编写,能够很好的提高编写C语言的能力。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!