C语言课程设计报告

2020-05-30 09:20

 

 

江南大学人文学院

课程设计报告

2011— 2012学年第 2 学期

课程名称 《C程序设计基础》 设计题目 推箱子游戏 学生姓名 专业班级 指导教师 2012 年 5 月 29

 

 

 

江南大学人文学院《程序设计基础C》课程设计报告

 

目录

1 设计任务书.

1.1题目与要求.

1.2本程序涉及的知识点.

2 设计方案.

2.1设计方案思路 2.2设计方案结构图.

 

3 算法描述

4 源程序代码设计

5 总结

1

 

 

 

江南大学人文学院《程序设计基础C》课程设计报告

1设计任务书

1.1题目与要求

设计一个推箱子游戏。在设计时必须注意:

①必须有一个存放箱子和搬运工的地图,且地图上有墙壁和通道

②搬运工应当可以在通道上自由行走

③墙壁能够 搬运工和箱子,并且它们互不重合 ④在没有墙壁挡住时,搬运工可以推动箱子行走。 ⑤可以手动结束游戏

⑥在游戏结束时显示失败或胜利的信息

1.2本程序涉及的知识点

C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算 类型(算术运算 逻辑运算 自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构)大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数等。

 

2 设计方案

2.1设计方案思路

① 考虑到本程序是一个推箱子游戏程序,因此就要有一个或多个适合本游戏

的地图,于是就使的最简洁的二维数组这种方式来表示地图。

② 在二维数组地图中使用一些简单的图形来表示搬运工、箱子和目标位置。 ③ 在游戏中会使用到键盘上的方向键,因此还必须定义一读取键盘码的数。 ④ 在主函数里面实现循环求搬运工和箱子的位移坐标。 ⑤ 最后在屏幕上显示游戏的最后结果。

 

2.2设计方案结构图

 

 

开始设设计地图 2

江南大学人文学院《程序设计基础C》课程设计报告

 

设计人、箱子图形

定义读取键盘码函数 游戏过程的求位移坐标 游戏结束后显示游戏结果 设计结束

3 算法描述

功能实现的算法,下面是一些游戏步骤的具体操作和功能实现的算法的N-S流程图

3.1在主函数外分别定义了箱子结构体、读取键盘码的共用体、读取键盘码

的函数,从而来实现在游戏中,能够读取到键盘码,以箱子的坐标属性。其中,箱子结构体包含坐标属性int x和int y,键盘码共用体包含unsigned int iKeyInfo和char chKeyBit[2],N-S流程图如下

 

 

3

江南大学人文学院《程序设计基础C》课程设计报告

 

定义箱子结构体 struct Boxss 定义键盘码共用体 union keyboard 定义读取键盘码的函数 int fnGetKey(void) union keyboard uniKey1; bioskey(1)==0;

uniKey1.iKeyInfo=bioskey(0);

uniKey.chKeyBit[0]==0

是 否 return(uniKey1.chKeyBit[1]) return(uniKey.chKeyBit[0])

3.2在主函数里,定义了游戏所需的一些变量、地图、箱子以及实现游戏中的各

个环节中所需的变量。其中x、y为人物移动后坐标,tx、ty为人物移动前坐标:

 

int iKey,x=11,y=6,tx=11,ty=6; struct Boxss Box[4]; int chMap[10][10]; int i,j;

Box[0].x=13; Box[1].x=11; Box[2].x=14; Box[3].x=18; Box[0].x=8; Box[1].x=7; Box[2].x=13; Box[3].x=7;

3.3在游戏过程中,每移动一步都要重新刷新一次地图,因此,在这里还必须有一

个刷新地图的循环结构,从而来实现在每次移动之后都能刷出新地图。其N-S流程图如下:

 

 

4

 


C语言课程设计报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:国际金融名词解释、简答、论述

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: