C语言推箱子小游戏程序

C语言推箱子小游戏程序

ID:43324145

大小:130.00 KB

页数:9页

时间:2019-09-30

C语言推箱子小游戏程序_第1页
C语言推箱子小游戏程序_第2页
C语言推箱子小游戏程序_第3页
C语言推箱子小游戏程序_第4页
C语言推箱子小游戏程序_第5页
资源描述:

《C语言推箱子小游戏程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、推箱子程序:#include#include#ineludevWindows.h>#defineU1#defineD2#defineL3#defineR4〃按键状态,U:上;D:下;L:左R:右#defineofx10^defineofy9//x,y方向偏移量typedefstructMAP〃地图{intwall[50][2];//ijSintbox⑼[2];〃箱子intdes⑼[2];〃终点intoverlap⑼[2];//箱了与终点的重叠位置intall,now;〃总箱子个数,到位箱

2、子个数intx,y;〃起点}MAP,*map;〃全局变呆〃intplayer[2];〃玩家位置intnextp[2],nextb[2];〃玩家下一步位置,箱子下一步位置MAPPass⑸;〃关卡数组mapGroup,p;〃关卡数组指针,当前关R指针intlevel;〃关卡等级intstatus;〃玩家状态intboxc⑼[2],overlapc⑼⑵;〃箱子状态栈,重叠箱子状态栈intnowbox;〃当前到位箱了个数intregame;〃是否重玩〃声明全部函数〃voidPos(intx,inty);〃设置光标位置voidwelc

3、ometogame();〃开始界面voidinitgamef);〃初始化游戏voidstartgame();〃开始游戏voidcopybox(intcopy⑼[2],intb[9][2]);//复制箱子信息voidloadmap();〃加载地图voidprintfoverlap(intb[9][2]);〃打印重叠箱子位置voidmove();〃玩家移动voidtrans(intp[2],intq[2j);〃状态传递voidinputmap(inta[][2]);//输入地图数据voidgamecircle();〃控制游戏in

4、tmain()system("modeconcols=80lines=30");〃控制台宽度80,高度30welcometogame();initgamef);for(level=0;level<4;level++)p=Group+level;startgame();}system("cls");Pos(32,14);printf(“恭喜你已通过所有关卡!”);system("pause");}voidPos(intx,inty)〃设置光标位置{COORDpos;HANDLEhOutput;pos.X=x;pos.Y=y

5、;hOutput=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOutput,pos);}voidwelcometogame()〃开始界面{system("titleC语言程序游戏之推箱子”);Pos(31z13);printfC欢迎来到推箱子游戏!”);Pos(55,25);printff"作者:小葱”);system("pause");system(Hcls");Pos(29/12);printf("fflf.I控制人物的移动。“);Pos(29,

6、13);printf(H按F2重新开始此局。");Pos(29,14);printf(”按ESC结束游戏。");system("pause");system("cls");}voidstartgame()〃开始游戏{while(l){system("cls");Pos(25,5);printfC*第%(1关HJevel+l);Pos(40,2);printf("按F2重新开始此局。");Pos(40,3);printf(“按ESC结束游戏。");loadmapf);gamecircle();if(regame==O)//

7、regame为0不重玩break;elseif(regame==l)//regame为1重玩regame=O;}Sleep(3OO);}voidloadmapf)〃加载地图{inti;Pos(2*(p->wall[0][0]+ofx),p->wall[0][l]+ofy);printf(”;for(i=l;p->wall[i][0]l=011p->wall[i][l]!=O;i++)//打印墙{Pos(2*(p->wall[i][0]+ofx),p->wall[i][l]+ofy);prin廿(”■”);}for(i=0;p

8、->des[i][0]!=011p->des[i][l]!=O;i++)//打印终点{Pos(2*(p->des[i][0]+ofx)/p->des[i][l]+ofy);printf("x");}for(i=0;p->box[i][0]!=O11p->box[i][l]!=0;i++)/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。