C++课程设计贪吃蛇小游戏(内附完整源码与附件) 下载本文

一、上机目的与上机要求

(可以有多个目标及要求, 对应多个上机内容)

1、上机目的 (具体的目的,类似于“ 提出问题 ”)

将理论用于实践,更充分的掌握课本的知识, 巩固并加深对课本知识的理解,进一步提高我们的动手编程能力。 编写程序既能锻炼我们的动手能力, 又能培养提高我们的学习热情。 贪吃蛇是一个很简单而且比较益智的小游戏, 编写起来比较简单,而且我们所学的知识也恰好能解决这个问题。

首先,我们需要明确一下编写贪吃蛇的框架。

其次,需要几个类控制整个游戏的运作。

最后,如何解决蛇移动和吃到食物的问题。

2、上机要求 (具体的上机要求及相关的问题分析,类似于“

分析问题 ”)

由于游戏比较简单,所以一个类足够驾驭这个游戏的运作。

还有蛇的移动,因为蛇吃到一个食物,相应的长度就加一,这样,应该拆成

蛇头、蛇身、蛇尾来进行比较方便操作,蛇头控制移动方向,而且蛇头吃到了食

物,则蛇尾不需要去除。

二、上机设备(环境)及要求

操作系统: Windows 7 编译环境: VC6.0++

三、上机内容与步骤

(类似于“ 解决问题 ”)

1、步骤 1

( 1)上机内容 (明确的上机内容):解决问题的思路和方法(系统 /方法 /算法

等),图文结合

首先,定义一个二维数组来储存整个地图的内容;

其次,再定义一个二维数组来记录蛇每部分的运动方向;

最后,分析一下整个游戏的关键:

一开始,我们把蛇分成了三个部分,蛇头、蛇身、蛇尾。

如图所示,黄色的是墙,这是初始状态的地图。

食物

蛇尾

蛇头

下图是初始状态的方向。

食物

蛇尾→

蛇头→

蛇开始默认移动,先擦除蛇头,绘制蛇身,如下图:

食物

蛇尾

蛇身

根据方向绘制蛇头,如下图:

食物

蛇尾

蛇身 蛇头

擦除蛇尾,如下图:

食物

蛇身

蛇头

再绘制蛇尾,如下图:

食物

蛇尾

蛇头

这样便完成了蛇的移动,同样的方向的记录也是类似的。