资源描述:
《C程序课程设计报告—走迷宫.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C程序课程设计报告—走迷宫一课题分析1.1设计要求走迷宫:绘制和选择迷宫地图,系统能够自动寻找出口,支持鼠标和键盘操作。通过画图函数设定迷宫,运用数据结构的相关知识,利用一定的算法,实现单步找寻迷宫出口的操作。1.2实现功能小游戏,游戏者从左侧入口处走到右侧的出口处,则胜;中途退出,则败。二整体设计2.1框架设计1.定义操作键键码,用#define实现。2.系统BGI初始化模块:3.画出迷宫模块:其中包括边框、出口、入口、墙壁等相关信息;用函数drawmaze()实现此操作。4.定义迷宫中的人模块:用函数move()实现此操作。实现点的移动
2、,并判断是否到达出口。5.退出系统模块:用if函数进行判断,如胜则输出-Youwin,如败则输出youlose.用函数getch()查看结果。三详细设计3.1界面设计此游戏界面采用图形设计。主界面设计如下:图1走迷宫图3.2结构设计:用if语句实现人的坐标移动和判断游戏者输赢。四总结参考文献暂无附录#include#include/*定义操作键键码*/#defineUP0x4800/*上移--方向键up*/#defineDOWN0x5000/*下移--方向键down*/#defineLEFT0x4
3、b00/*左移--方向键left*/#defineRIGHT0x4d00/*右移--方向键right*/#defineESC0x011b#definemidxgetmaxx()/2#definemidygetmaxy()/2voidinitgr(void)/*BGI初始化*/{intgd=DETECT,gm=0;/*和gd=VGA,gm=VGAHI是同样效果*/registerbgidriver(EGAVGA_driver);/*注册BGI驱动后可以不需要.BGI文件的支持运行*/initgraph(&gd,&gm,"");}voiddra
4、wmaze()/*画出迷宫*/{rectangle(midx-200,midy-200,midx+200,midy+200);/*画出边框*/setcolor(BLACK);line(midx-200,200,midx-200,226);/*画出迷宫入口*/line(midx+200,300,midx+200,326);/*画出迷宫出口*/setcolor(WHITE);line(midx-150,midy-200,midx-150,midy-150);/*画出迷宫内的墙壁*/line(midx-150,midy-150,midx-170,
5、midy-150);line(midx-170,midy-150,midx-170,midy-100);line(midx-170,midy-75,midx-170,midy+170);line(midx-170,midy+170,midx+100,midy+170);line(midx+120,midy+170,midx+170,midy+170);line(midx+120,midy+170,midx+120,midy+30);line(midx+120,midy,midx+120,midy-50);line(midx+120,midy
6、-50,midx+70,midy-50);line(midx+100,midy+170,midx+100,midy+80);line(midx+70,midy+170,midx+70,midy-200);line(midx,midy+170,midx,midy);line(midx,midy-30,midx,midy-130);line(midx,midy-130,midx-50,midy-130);line(midx-50,midy-130,midx-50,midy-200);line(midx-170,midy+30,midx-100,
7、midy+30);line(midx-70,midy+30,midx,midy+30);line(midx-100,midy+30,midx-100,midy+100);line(midx-100,midy+130,midx-100,midy+170);line(midx-130,midy+30,midx-130,midy+150);line(midx-110,midy-200,midx-110,midy-50);line(midx-110,midy-50,midx-50,midy-50);line(midx-50,midy-50,midx
8、-50,midy+30);line(midx-170,midy,midx-65,midy);line(midx+150,midy-200,midx+150,midy+170);}