实验一:turbo c菜单设计。
设计如图所示下拉菜单:
help下拉菜单:
当焦点在game或help上,按回车键弹出其下拉菜单。按esc键取消下拉菜单,回到上一级菜单。
菜单中大写字母以红色表示。
实验二:模拟随机**。
要求:设计程序,实现模拟随机**,如36选7,运行实现显示随机选号选出10组的彩票号。所有内容在图形模式下显示。
程序在选号前和选号后,请显示一下原序列的随机排列情况。并且要求,选出的彩票要输出到文件中保存。
实验三:键盘控制和图形旋转。
1、在图形模式下,设计一个图形,实现按键盘方向健控制其移动。
2、在图形中实现图形的自动偏移。
3、在图形中实现图形的自动旋转(本步骤为本题附加部分)。
实验四:射击游戏设计。
1、 设计要求。
编写c语言程序实现射击游戏,在图形模式下上半部分有随机出现横向移动的物体。下半部分绘制一个简单的坦克小图形,键盘左右方向健控制起左右横向移动,向上健控制其发射子弹。当自动击中物体,显示物体消失。
实验五:生命游戏。
生命游戏的规则:有一有界的方形网格,每个格中有一细胞,所有细胞按代进行生和死的变化。每一代的生死状态变化仅与上一代有关。生死变化按如下规则进行:
1、 每个细胞按横向、纵向、斜向共有八个邻居;
2、 如某个细胞是活的,但它的邻居只有一个或零个是活的,那么它的下一代将因孤独而死去。
3、 如某个细胞是活的,它有四个或是更多的活邻居,那么它的下一代将因拥挤而死亡。
4、 如某个细胞是活的,并且有两至三个活邻居,那么它的下一代仍然是活的。
5、 如果某个细胞是死的,但它正好有三个活邻居,那么它的下一代将复活。其它情况下,本代是死的,下一代仍是死的。
6、 每一代的变化都是在同一瞬间进行的。因此某个细胞的死亡或复活都不会对相邻细胞本代的状态产生影响。
7、程序运行时必须有菜单操作,即先进入菜单界面,通过选择菜单来实现程序开始进行。游戏结束必须回到菜单状态,由菜单选择结束退出。
例如:将在下一代全部死亡。
将永远不变。
实验六:贪吃蛇游戏。
一、 设计要求
编写c语言程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉(蛇头撞到自己的身体)游戏结束。
二、设计内容
1.游戏界面:边框表示围墙,红色矩形代表蛇,绿色小方块代表食物。
2.设计思路
这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。
如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块。
三、实验六的参考提示:
1.数据结构
#define n 200
stuct food
int x ; 食物的横坐标*/
int y ; 食物的纵坐标*/
int yes ; 判断是否要出现食物的变量*/
food /*食物的结构体*/
struct snake
intx[n]; 蛇的横坐标*/
inty[n]; 蛇的纵坐标*/
intnode; /蛇的节数*/
intdirection; /蛇的移动方向*/
intlife; /蛇生命,0活着,1死亡*/
snake;
2.主要函数,要求自己编写这些函数。
1)主函数main():初始化图形系统,调用drawk()画出开始画面,调用函数gameplay(),即玩游戏过程,游戏结束后调用close()关闭图形系统,结束程序。
2)画界面函数drawk();
3)游戏具体过程函数gameplay();
4)游戏结束函数gameplay(),游戏结束,清除屏幕,输出分数,显示游戏结束信息。
5)prscore(),输出分数。
6)close()函数图形结束。在显示游戏结束信息的画面时,按任意键关闭图形系统,结束程序。
c语言环境中图形界面的调用请参考以下程序:
#include ""
#include ""
#include ""
#include ""
#include ""
#include ""
#include ""
static int bd[20][20],xd[20][20],ljsl[20][20];
int ds,dnd;
main()
int gdriver=detect,gmode,errorcode;
printf("please input total generational:")
scanf("%d",&ds);
initgraph(&gdriver,&gmode,""
errorcode=graphresult();
if(errorcode!=grok)
一、问题描述。
问题是……1.解题分析、方法等:
3.编码。源程序清单,并进行适当的注释。
4.测试。二、问题描述。
加密问题是……
1.解题分析、方法等:
2.流程图。
3.编码。源程序清单,并进行适当的注释。4.测试。
六、心得体会:
描述设计过程中遇到的困难、结果,以及体会。
C 课程设计指导
广东工业大学应用数学学院 c 课程设计 设计指导。一 数据的存储。1 创建存储文件如。2 通过microsoft i o流类库建立数据与应用程序的通信。3 ofstream 与ifstream流类 详见第11章流类库与输入 输出 二 界面设计。1 创建基于mfc的应用程序。2 创建控件。控件的添加与...
《C 课程设计》指导
c 程序设计课程设计 指导。1.任务描述和需求分析。用c 设计一个业务处理系统,其业务就是进行简单的几何计算 输入圆的半径,计算并输出圆的周长和面积 输入圆柱的半径和高,计算并输出圆柱的表面积和体积 输入圆球的半径,计算并输出圆球的表面积和体积 输入长方形的长和宽,计算并输出长方形的周长和面积 输入...
C 课程设计指导书
目录。设计要求 2 设计题目及指导教师 2 上机安排 3 第一组课程设计题目 4 1.1 铁路售票管理系统的设计 4 1.2 学生考勤管理系统的设计 4 1.3 模拟21点游戏的设计 5 1.4 学生成绩管理系统的设计 6 第二组课程设计题目 6 1.1 航空售票管理系统的设计 6 1.2 个人信用...