一、上机目的与上机要求
(可以有多个目标及要求, 对应多个上机内容)
1、上机目的 (具体的目的,类似于“ 提出问题 ”)
将理论用于实践,更充分的掌握课本的知识, 巩固并加深对课本知识的理解,进一步提高我们的动手编程能力。 编写程序既能锻炼我们的动手能力, 又能培养提高我们的学习热情。 贪吃蛇是一个很简单而且比较益智的小游戏, 编写起来比较简单,而且我们所学的知识也恰好能解决这个问题。
首先,我们需要明确一下编写贪吃蛇的框架。
其次,需要几个类控制整个游戏的运作。
最后,如何解决蛇移动和吃到食物的问题。
2、上机要求 (具体的上机要求及相关的问题分析,类似于“
分析问题 ”)
由于游戏比较简单,所以一个类足够驾驭这个游戏的运作。
还有蛇的移动,因为蛇吃到一个食物,相应的长度就加一,这样,应该拆成
蛇头、蛇身、蛇尾来进行比较方便操作,蛇头控制移动方向,而且蛇头吃到了食
物,则蛇尾不需要去除。
二、上机设备(环境)及要求
操作系统: Windows 7 编译环境: VC6.0++
三、上机内容与步骤
(类似于“ 解决问题 ”)
1、步骤 1
( 1)上机内容 (明确的上机内容):解决问题的思路和方法(系统 /方法 /算法
等),图文结合
首先,定义一个二维数组来储存整个地图的内容;
其次,再定义一个二维数组来记录蛇每部分的运动方向;
最后,分析一下整个游戏的关键:
一开始,我们把蛇分成了三个部分,蛇头、蛇身、蛇尾。
如图所示,黄色的是墙,这是初始状态的地图。
食物
蛇尾
蛇头
下图是初始状态的方向。
食物
蛇尾→
蛇头→
蛇开始默认移动,先擦除蛇头,绘制蛇身,如下图:
食物
蛇尾
蛇身
根据方向绘制蛇头,如下图:
食物
蛇尾
蛇身 蛇头
擦除蛇尾,如下图:
食物
蛇身
蛇头
再绘制蛇尾,如下图:
食物
蛇尾
蛇头
这样便完成了蛇的移动,同样的方向的记录也是类似的。