C++课程设计:贪吃蛇

1 内容提要

       项目题目是贪吃蛇(Greedy Snake),实现了Windows控制台下的一个小游戏,这是一个广为人知的非常经典的休闲类小游戏。该游戏功能玩法简单,玩家通过键盘方向键控制蛇上下左右移动,蛇吃到食物得分并增长,直到撞墙等造成死亡游戏才会结束。整个游戏其实就是一个无穷的循环,直到退出游戏时退出循环。这个项目目前仅可进行最基本的贪吃蛇游戏,即开始游戏、选择游戏模式、退出游戏。该项目使用的编程语言为C++语言;所采用的开发环境为code blocks。

2 类设计

       该项目中仅直接定义了一个类,就是Snake(蛇)类。该类的作用,即定义了一个Snake类封装贪吃蛇游戏,并声明了一些基本的变量和成员函数:游戏地图、蛇的长度、蛇头坐标、蛇尾坐标、描述蛇的移动方向、蛇的速度、显示游戏地图的函数、移动函数、生成食物的函数。通过Snake类,可以控制蛇的移动和吃到食物;除此之外,还有蛇的速度游戏地图的展开。该类中的这些设计,在整个项目中发挥着重要作用,是项目正常运行的一大核心。

3 总体设计流程

       输入代码并开始运行程序,首先出现的是游戏开始界面,可选择开始游戏或者退出游戏。若选择退出游戏,则退出程序,程序关闭;若选择开始游戏,则进入游戏模式选择界面,若选择正常模式,直接开始游戏,玩家操作小蛇吃到食物得分并长大,直到小蛇撞墙等造成死亡游戏才结束并显示最终得分,最后可按enter键回到游戏开始界面;若选择无障碍模式,同样直接进入游戏,开始操作小蛇吃到食物。但小蛇撞到墙并不会死亡,如果想结束游戏。可按Esc键退出回到游戏开始界面。

模块划分:

      Snake类:声明一些基本的变量和成员函数,基本的变量包括游戏地图、蛇的长度、蛇头坐标、蛇尾坐标、描述蛇的移动方向、蛇的速度等。

       移动函数move():控制蛇的移动以及蛇头、蛇尾的操作。

       转弯函数turn():蛇的转弯,向左、向右、向上、向下。

       生产食物的函数create():食物是随机生成的,小蛇每吃掉一个食物就得出现新的食物。

       游戏开始函数GameStart函数():用来集成函数,实现函数的基本功能。

4 详细设计

4.1 游戏地图

       显示游戏地图采用函数print(),游戏地图map为二维数组,如果数组元素map[i][j]的值为0,代表该位置什么也没有;如果map[i][j]的值大于0,代表该位置是蛇的身体;如果-1==map[i][j],代表该位置是食物;如果map[i][j]>0,代表该位置是蛇的头部,如表4.1所示。用8,2,4,6作为方向指针来描述蛇的身体,用-8,-2,-4,-6作为方向指针来描述蛇的头部。蛇的身体任何位置沿蛇的身体指向头部,蛇的头部指向蛇的身体。

游戏地图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茜茜西西CeCe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值