贪吃蛇_20180728_1450.rar
前段时间看到论坛有高手写了个贪吃蛇和扫雷的游戏,说句实话自己水平太低真心看不懂,昨天闲的没事就想着我也写写看,到今天总算实现一些功能了,虽说和那位大神写的没法比较,但快乐不是需要分享的么,我也就献丑贴上来,顺便分享下自己遇到的问题。
第一个问题:我其实是第一次拿SCL编写程序,自己会那么一点C语言和C#,但开始写的时候总编译不过,行不通的地方就打开大神的程序看看语法。
第二个问题:开始我先把所有方格的状态用二维数组记录,但是怎么让这条蛇完美的动起来成了大问题,最后我想了这么一个算法,建了一个含两个INT类型的结构体的数组,蛇的长度是多少我就使用这个数组里面多少元素记录蛇各个点的位置,然后蛇每走一步把第一个元素所在位置的方格状态清零(也就是清尾巴),其他依次往后移动(例如:元素2的内容写到1里,元素3的内容写到2里面,依次类推)然后根据移动方向的不同添个头(移动也就是清尾巴 添头的过程)。假如遇到蛇蛋只添头不清尾巴。
第三个问题:随机出现蛋的问题,在论坛提问里面问了问SCL有没有产生随机数的函数,回答是没有,我就自己写了两个计数器,吃蛋的瞬间根据这两个计数器的数值确定产生蛋的位置。
还存在的问题
1.撞墙会出现gameover字样 但是可以继续游戏,我为了使这个游戏玩的比较顺畅,就没处理。
2.现在蛇撞自己不会死,因为还要判断撞的是自己还是蛇蛋,这段程序没写也
3.假如蛇蛋产生在蛇身上,也就没有吃蛋的过程,也就不会再产生蛇蛋了
4.问题很多
5.很多你觉得不对的地方,请相信你自己,因为我写的程序太烂了,毫无章法可言