c语言贪吃蛇游戏报告,贪吃蛇游戏c程序报告.docx
一、读程序题部分(贪吃蛇)
1、程序的功能
设计游戏界面,包括画墙、画蛇、画食物,并且设置蛇和食物的届性,编 写蛇的运动方式和游戏方式。
2、主函数分析
主函数中前两行与编写图形程序有关,第三行中调用Speed函数,把Speed 函数的返回值付给变量speed第五行dwall函数的作用是画墙,函数中乂调用 wall函数来画墙上的砖块
3、函数的调用关系
Setcoloc() lineO sedillstvleQ birf)
ngotox>t)i~i~i~~t~~ir~
n
gotox>t)
SrandQ randQsetlinestyle() recLangle() GameChwQ
cleaide^
4、数据变量定义作用
定义食物的横坐标food.x和食物的纵坐标food.y可以有效的随机设置食物出 现在界面的任何地方;
定义snake.life表示蛇的生死以否,好判断是否结束游戏
snake.dir=1;/*方向向右 */
定义snake.x[0]和snake.y[0俵示蛇头的坐标,在后面蛇撞墙死的问题上用的 到蛇头的坐标;
定义蛇的节数snake.node方便蛇每吃到食物节数增加;
定义snake.level,显示蛇的闯关数
5、主要函数的功能、流程图
dwall():画墙
wall():画组成墙的砖
Speed。选择贪吃蛇的速度 line():画线函数,画砖的线条
gotoxy():定位坐标
Play():调用各函数,开始完游戏
GameOver():结束游戏
6、程序的不足及改进
没有障碍墙,游戏过丁简单;没有游戏奖励,游戏趣味性不高;
改进:设置障碍墙,蛇撞到墙也死;
代码:for(j=200;j<=300;j+=10)
(
wall(j,300);/*画横的障碍墙*/
}
for(j=300;j<=350;j+=10)
(
wall(300,j);/*画竖的障碍墙*/
}
不足:没有游戏奖励,游戏趣味性不高;
改进:增加生命值,蛇每吃到三颗食物,则增加一个生命值;
代码:定义food.level,在Play函授中初始化,在设置蛇每吃到一颗食物就增 长一节身体的代码后加上
if(snake.node%3==0)
{snake.level++; /*除第一关外,其余每吃 3
颗食物,就增加一个生命值*/
gotoxy(5,2);
printf("The level is %d",snake.level); /* 左上角显示出生命值(级别)
*/
}
7、加上注释、改进后的完整代码
#include
#include
#include
#include
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
#define N 100/*贪吃蛇的最大长度*/
#define P 0x1970/*定义暂停功能键*/ int i,key;
int speed;/*游戏速度 */
struct FOOD
{
int x;/*食物的横坐标*/
int y;/*食物的纵坐标*/
int flag;/*标志是否要出现食物*/
}food;
struct Snake
{
int x[N];
int y[N];
int node;/*蛇的节数*/
int dir;/*蛇移动方向*/
int life;/*标志是死是活*/
int level;/*定义生命值(级另U) */
}snake;
void GameOver();/*结束游戏 */
void Play();/*玩游戏过程*/
void dwall();/* 画墙*/
void wall(int x,int y);/* 画组成墙的砖 */
int Speed();/*选择贪吃蛇的速度*/
main()
{
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"");
speed=Speed();/将函数返回值赋给speed*/
cleardevice();/* 活屏 */
dwall();/*开始画墙*/
Play();/*开始完游戏*/
getch();
closegraph();/*退出图形界面*/
}
void wall(int x,int y)
{
int sizx=9;
int sizy=9;
setcolor(15);/*白色画砖的上边和左边*/
line(x,y,x+sizx,y);
line(x,y+1,x+sizx
c语言贪吃蛇游戏报告,贪吃蛇游戏c程序报告.docx相关推荐
- 计算机课程编程设计贪吃蛇游戏设计,c语言课程设计报告--贪吃蛇游戏系统
c语言课程设计报告--贪吃蛇游戏系统 院 系 计算机科学技术学院 班 级 组 长 学 号 指导教师 2017 年 3 月 2 日 C 语言语言基础课程设计基础课程设计 贪贪贪贪吃吃吃吃蛇蛇蛇蛇游游游游 ...
- c语言设计贪吃蛇实验报告,贪吃蛇游戏程序设计实验报告
<贪吃蛇游戏程序设计实验报告>由会员分享,可在线阅读,更多相关<贪吃蛇游戏程序设计实验报告(11页珍藏版)>请在人人文库网上搜索. 1.Windows编程大作业贪吃蛇设计与实现 ...
- 课程设计报告linux小游戏,嵌入式课程设计报告---贪吃蛇游戏.doc
嵌入式课程设计报告---贪吃蛇游戏 嵌入式系统课程设计报告书 课题题目:贪吃蛇游戏 学 院:核自院 班 级:测控三班 学 号:9 姓 名: 马文铂 第一章 引言- 2 - 1.1关于题目- 2 - 1 ...
- c语言课程设计贪吃蛇报告,贪吃蛇C语言课程设计报告.doc
贪吃蛇C语言课程设计报告 贪吃蛇游戏设计 姓名: 张力 学号: 完成日期: 月 日 一.设计目的 贪吃蛇游戏程序功能的实现主要是建立在二维数组和图形界面的应用上,通过编写游戏程序能够熟悉掌握相关数组和 ...
- C语言 小游戏之贪吃蛇
还记得非常久曾经听群里人说做贪吃蛇什么的,那时候大一刚学了C语言,认为非常难,根本没什么思路. 前不久群里有些人又在谈论C语言贪吃蛇的事了,看着他们在做,我也打算做一个出来. 如今大三,经过了这一年半 ...
- 【超详细C语言】带你吃透贪吃蛇游戏之精髓
文章目录 01. 开发背景 02. 功能介绍 03. 欢迎界面设计 3.1 常用终端控制函数 3.2 设置文本颜色函数 3.3 设置光标位置函数 3.4 绘制字符画(蛇) 3.5 欢迎界面函数 04. ...
- 用C语言写一个简单的贪吃蛇游戏(用到easyx图形库)
学习内容:1.游戏的存储与读写 2.制作游戏菜单 3.制作定时器 目录 一.需要用到的头文件.全局变量和一些函数 二.定时器 三.数据的初始化和绘制 四.蛇的运行和吃食物 五.游戏菜单界面 六.游戏存 ...
- java毕业设计——基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码)——贪吃蛇游戏
基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME的贪吃蛇游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...
- java多线程贪吃蛇实验报告_JAVA开放性实验报告贪吃蛇
JAVA开放性实验报告贪吃蛇 JAVA程序设计 开放性实验报告 专 业: 计算机科学与技术 班 级: 2012级2班 学 号: 姓 名: 实验2贪吃蛇游戏设计(4学时) 1.实验内容 (1) 创建软件 ...
最新文章
- excel乘法公式怎么输入_Excel函数中的IF条件函数怎么用?四个IF函数公式带你轻松上手...
- 使用AOP动态调用WebService
- java中的数组、队列、堆栈
- php post防止hash攻击,MyBB editpost.php脚本'posthash' 参数SQL注入漏洞
- 机器人总动员最后的bgm_引导你欣赏《机器人瓦力》的电影配乐
- Silverlight - Validation 客户端同步数据验证
- 二叉树的迭代统一写法
- Latex写分段函数
- DELL D630 显卡门事件 终于碰上了~
- svm 预测标签的概率输出
- python的词性标注
- linux系统盘下垃圾文件,Linux版一键清理系统垃圾文件
- 偏微分方程1-常微分方程求解方法回顾
- Activity 会签
- kubelet nodelost
- WannaCryptor 勒索蠕虫样本深度技术分析
- Appium 屏幕截图(交易宝)
- 162Echarts - 桑基图(Sankey Diagram)
- Ubuntu16.04成功解决InvalidSpecError: Invalid spec: =2.7!!!
- rust高墙大门怎么造_rust自己建的高墙怎么拆 | 手游网游页游攻略大全