全球旧事资料 分类
贪吃蛇完整设计过程和完整源代码
简介
一直在学VC编程,但是感觉自己的进步甚微,还是什么都不懂,还是什么都不会编,再加上身心不适,学习总是断断续续的。期中考试过后,放六天假,闲来无事,在网上看到了别人编的贪吃蛇游戏,自己下载两个源代码,一个界面做的太不人性化,感觉那蛇不像蛇,都是断断续续的小点,感觉不是很好;另一个是在TC中编的,好像现在很少有人用TC,我想大家都应该跟我一样,都是用VC没办法,需要画图,这个程序在VC中没办法运行,一DEBUG错误连篇,看都不想看了。
所以自己有了编写这个游戏的念头。
首先自己看了看别人编写贪吃蛇的思路(其实这就是这个游戏的精髓,我很惭愧啊)。就是使用链表来实现的。到这里,是不是很感慨我们学过的数据结构原来是这么有用途啊?链表?用链表就可以实现吗?没错!就是用链表(队列)实现的,在这个游戏程序中除了画图,定时,产生随机数之外,那就是链表的创建,扫描,入队和出队了。如果你懂链表的这些基本的操作,那没问题,这个游戏程序编写出来是没有问题的。当然还是得知道点(一点点)WIN32(API,我是用API,没用MFC,相比较API开始比MFC好学些哦)应用程序的基本框架的基本知识。比方说某些消息,WM_CREATEWM_PAINTWM_CHARWM_TIMER;HPEN(画笔)HBRUSH(画刷),HDC设备上下文环境;某些设置画笔、画刷的函数:CreatePe
SelectObject获取DC的函数,在WM_PAINT中要使用:Begi
Pai
tE
dPai
t在其他地方就要使用GetDCReleaseDC;设置定时器函数SetTimer销毁定时器函数KillTimer。好了,这就是编写出此程序所需要的全部知识,下面的过程要看个人的逻辑思维能力,编程经验。经验丰富,逻辑缜密的走的弯子肯定要少很多,否则,那当然会走完一个又一个弯子之后还得继续走弯子,不过肯定会做出来的,只要坚持!不过也不排除人品大爆发的,用不了多久就编出来了。不过还是强烈建议多走走弯子,只有经历过,你才知道某段代码为什么要那么编,不那么编会出现什么样的情况。
嗯废话说完了,进入正题吧。首先看看我们这个程序的运行效果吧,很是简陋,但是麻雀虽小,五脏俱全啊。
1
f界面
设计这个游戏,那第一步要思考的当然是如何将格子画出来了。我们先确定下每一个格子的大小吧。我这里的大小为1616,总共有20行20列。先定义宏defi
eRowOfFrame20defi
eColum
OfFrame20defi
eWidth16defi
eHeight20字面意思已经很清楚了。您可能恍然大悟,画这格子不很r
好听全球资料 返回顶部