C语言迷宫游戏_第1页
C语言迷宫游戏_第2页
C语言迷宫游戏_第3页
C语言迷宫游戏_第4页
C语言迷宫游戏_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C语言程序设计实践项目设计题 目 迷宫游戏 专 业 软件工程 学生姓名 = 学 号 201410414223 年级 2014 指导教师 2015年 6 月 9 日迷宫游戏1 项目功能需求1、在本游戏主要实现了人控制键盘方向键使小人走出迷宫。2、在游戏菜单里人可以选择不同难度的游戏进行游戏;3、在游戏过程中,可以通过键盘方向键使小人移动,走出迷宫;4、在游戏过程中,当人碰到墙壁(0)的时候小人过不去;5、当人顺利完成游戏之后,输出“*恭喜你获得胜利*”字样,然后自动返回到游戏菜单;6、在游戏过程中,人可以通过按Esc键返回游戏菜单;也可以可以按0直接退出游戏;7、在游戏菜单里,按0键可以退出游

2、戏。8、人主要同过键盘的1,2,3数字键来选择游戏难度;9、在游戏中按Esc键来返回菜单;10、在菜单中按0键退出游戏。项目实现效果图:2 知识点分析1、指针的声明,指针变量的声明;2、结构体指针的声明和使用;3、各种基础函数的使用;4、数组的声明和使用;3 算法思想首先定义三个全局数组mg12020、mg23030、mg33030画出迷宫的地图;1表示障碍物,0表示路径;Introduce函数里如果按Enter键,则调用menu函数,从键盘中输入相应的提示数字,进入不同难度的游戏;然后调用控制函数control控制小人移动路径,在control函数里用循环语句进行循环;用switch语句选择

3、方向键,在调用roadcake函数进行消除小人路径;最后完成第一个控制之后进行清屏和画新的游戏状态图,若在游戏进行中要退出游戏,只需按0键,调用exit(0)函数结束;若要返回游戏菜单,按Esc键掉用menu函数即可,重复步骤,直到游戏结束。4 系统流程图开始 主菜单(游戏提示)是否进入游戏初级中级高级选择游戏难度胜利或游戏失败游戏结束Enter键Esc键图1 迷宫游戏流程图5 项目实现(含代码解释)01 #include<stdio.h>02 #include<stdlib.h>03 #include<conio.h>04 #include<time

4、.h>05 06 07 08 /画迷宫函数09 void draw1(void);10 void draw2(void);11 void draw3(void);12 13 /控制函数14 void control1(void);15 void control2(void);16 void control3(void);17 18 void roadcake(int *i,int *j);/交换函数19 void menu(void);/菜单函数20 void introduce(void);/游戏介绍函数21 22 =23 24 /迷宫图,障碍物与空格的状态,1为障碍物,0为路径,4表

5、示起点25 int 26 mg12020=27 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,28 4,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,29 1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,1,30 1,1,1,0,0,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,31 1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,0,0,1,32 1,0,0,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,33 1,0,0,1,1,1,1,1,1,

6、0,0,1,0,0,0,0,1,0,0,1,34 1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,1,35 1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,1,36 1,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,37 1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,1,38 1,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,39 1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,40 1,1,1,1,1,0,0,1,1

7、,1,1,1,0,0,0,0,0,0,0,1,41 1,0,0,0,0,0,0,1,0,0,0,1,1,1,1,0,1,0,0,1,42 1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,1,43 1,0,0,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,1,1,44 1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,45 1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,46 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,47 48 ;49 50 51 int

8、 52 mg23030=53 1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,54 1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,55 1,0,1,1,1,1,0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,0,1,0,0,0,1,56 1,0,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,1,1,0,1,1,0,1,0,1,0,1,57 1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,0

9、,1,0,1,1,0,1,1,0,1,0,1,0,1,58 1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,1,0,1,59 1,0,1,0,0,0,0,1,1,1,1,1,1,0,1,1,1,0,1,0,1,1,1,0,0,1,1,0,0,1,60 1,0,1,1,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,0,1,0,0,0,1,1,1,0,1,1,61 1,0,0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,1,1,0,0,1,1,0,0,0,0,0,0,1,62 1,1,1,1,0,1,0,0,0,

10、1,1,0,1,0,1,0,0,0,0,1,0,0,1,1,1,1,0,1,1,1,63 1,0,0,0,0,0,1,1,0,1,1,0,1,0,1,0,0,0,0,1,0,0,1,1,1,1,0,1,1,1,64 1,0,1,1,1,0,1,1,0,1,1,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,1,65 1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,1,66 1,1,1,0,1,0,1,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,1,1,0,0,0,1,67 1,1

11、,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,1,1,68 1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,69 1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,1,1,70 1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,1,71 1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1

12、,1,1,0,1,72 1,0,0,1,0,1,0,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,1,0,1,1,1,1,0,1,73 1,1,0,1,0,1,0,1,1,1,1,1,1,1,1,0,1,0,1,0,1,1,1,0,1,0,0,0,0,1,74 1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,1,1,1,75 1,1,1,1,1,1,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,1,76 1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,

13、1,1,1,0,1,1,1,0,1,1,0,1,77 1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,0,0,0,0,1,1,0,0,0,1,0,1,78 1,0,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,79 1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,80 1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,0,1,1,81 1,1,1,1,0,0,0,0,0,1,1

14、,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,82 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,83 ;84 85 int 86 mg33030=87 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,88 1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,89 1,0,1,1,1,1,0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,

15、1,1,0,1,0,0,0,1,90 1,0,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,1,1,0,1,1,0,1,0,1,0,1,91 1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,0,1,0,1,1,0,1,1,0,1,0,1,0,1,92 1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,1,0,1,93 1,0,1,0,0,0,0,1,1,1,1,1,1,0,1,1,1,0,1,0,1,1,1,0,0,1,1,0,0,1,94 1,0,1,1,1,1,0,0,0,0,1,1,0,0,1

16、,0,0,0,1,0,1,0,0,0,1,1,1,0,1,1,95 1,0,0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,1,1,0,0,1,1,0,0,0,0,0,0,1,96 1,1,1,1,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,1,0,0,1,1,1,1,0,1,1,1,97 1,0,0,0,0,0,1,1,0,1,1,0,1,0,1,0,0,0,0,1,0,0,1,1,1,1,0,1,1,1,98 1,0,1,1,1,0,1,1,0,1,1,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,1,99 1,0,0,0,1,0,0,

17、0,0,0,0,1,0,1,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,1,100 1,1,1,0,1,0,1,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,1,1,0,0,0,1,101 1,1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,1,1,102 1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,103 1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,1,

18、1,104 1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,1,105 1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,0,1,106 1,0,0,1,0,1,0,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,1,0,1,1,1,1,0,1,107 1,1,0,1,0,1,0,1,1,1,1,1,1,1,1,0,1,0,1,0,1,1,1,0,1,0,0,0,0,1,108 1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,

19、0,0,0,0,0,1,0,1,1,1,1,109 1,1,1,1,1,1,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,1,110 1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,1,111 1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,0,0,0,0,1,1,0,0,0,1,0,1,112 1,0,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,113 1,1,0,1,1,1,1,0,0,

20、0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,114 1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,0,1,1,115 1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,4,116 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,117 ;118 119 120 int road2020;121 122 =123 124 void main()125 126

21、introduce();127 128 129 130 =131 132 /初级游戏控制函数133 134 void control1(void)135 136 int a,b,m,n;137 char num;138 do/循环取得控制键139 140 for(n=0;n<20;n+)141 for(m=0;m<20;m+)142 if(mg1nm=4)143 144 a=n;145 b=m;146 break;147 148 149 num=getch();150 switch(num)151 152 case 72:if(mg1a-1b!=1)153 154 roadcake

22、(&mg1ab,&mg1a-1b);155 system("cls");156 draw1();157 break;158 159 case 80:if(mg1a+1b!=1)160 161 roadcake(&mg1ab,&mg1a+1b);162 system("cls");163 draw1();164 break;165 166 167 case 75:if(mg1ab-1!=1) 168 169 roadcake(&mg1ab,&mg1ab-1);170 system("cls"

23、;);171 draw1();172 break;173 174 175 case 77:if(mg1ab+1!=1)176 177 roadcake(&mg1ab,&mg1ab+1);178 system("cls");179 draw1();180 break;181 182 case 27:system("cls");183 menu();184 break;185 186 case 48:187 exit(0);188 189 190 if(mg11819=4)191 192 printf("nt* unbelievab

24、le! *nnn");193 printf("nt* 恭喜你获得胜利! *nnn");194 menu();195 196 197 198 while(1);/直到出口199 200 201 202 203 204 205 =206 /中级游戏控制函数207 208 void control2(void)209 210 int a,b,m,n;211 char num;212 do/循环取得空制键213 214 for(n=0;n<30;n+)215 for(m=0;m<30;m+)216 if(mg2nm=4)217 218 a=n;219 b=m;

25、220 break;221 222 223 num=getch();224 switch(num)225 226 case 72:if(mg2a-1b!=1)227 228 roadcake(&mg2ab,&mg2a-1b);229 system("cls");230 draw2();231 break;232 233 case 80:if(mg2a+1b!=1)234 235 roadcake(&mg2ab,&mg2a+1b);236 system("cls");237 draw2();238 break;239 240

26、 241 case 75:if(mg2ab-1!=1) 242 243 roadcake(&mg2ab,&mg2ab-1);244 system("cls");245 draw2();246 break;247 248 249 case 77:if(mg2ab+1!=1)250 251 roadcake(&mg2ab,&mg2ab+1);252 system("cls");253 draw2();254 break;255 256 case 27:257 system("cls");258 menu()

27、;259 break;260 261 case 48:262 exit(0);263 264 265 if(mg22915=4)266 267 printf("nt* unbelievable! *nnn");268 printf("nt* 恭喜你获得胜利! *nnn");269 menu();270 271 272 273 while(1);/直到出口274 275 276 277 278 279 280 =281 /高级游戏控制函数282 283 void control3(void)284 285 int a,b,m,n;286 char num;

28、287 do/循环取得空制键288 289 for(n=0;n<30;n+)290 for(m=0;m<30;m+)291 if(mg3nm=4)292 293 a=n;294 b=m;295 break;296 297 298 num=getch();299 switch(num)300 301 case 72:if(mg3a-1b!=1)302 303 roadcake(&mg3ab,&mg3a-1b);304 system("cls");305 draw3();306 break;307 308 case 80:if(mg3a+1b!=1)

29、309 310 roadcake(&mg3ab,&mg3a+1b);311 system("cls");312 draw3();313 break;314 315 316 case 75:if(mg3ab-1!=1) 317 318 roadcake(&mg3ab,&mg3ab-1);319 system("cls");320 draw3();321 break;322 323 324 case 77:if(mg3ab+1!=1)325 326 roadcake(&mg3ab,&mg3ab+1);327 s

30、ystem("cls");328 draw3();329 break;330 331 332 case 27:system("cls");333 menu();334 break;335 336 case 48:337 exit(0);338 339 340 341 if(mg3015=4)342 343 printf("nt* unbelievable! *nnn");344 printf("nt* 恭喜你获得胜利! *nnn");345 menu();346 347 348 349 while(1);/直到出口

31、350 351 352 353 354 =355 356 /画初级谜宫函数357 void draw1(void)358 359 int i,j,c,num=1;360 361 for(i=0;i<20;i+)362 363 printf("ttt");364 for(j=0;j<20;j+)365 366 367 c=mg1ij;368 switch(c)369 370 case 4: 371 printf("*");372 break;373 case 0: 374 printf(" ");375 break;376

32、case 1: 377 printf("0");378 break;379 380 if(num+%20=0)381 printf("n");382 383 384 385 386 387 388 =389 /画中级谜宫函数390 void draw2(void)391 392 int i,j,c,num=1;393 for(i=0;i<30;i+)394 395 printf("ttt");396 for(j=0;j<30;j+)397 398 399 c=mg2ij;400 switch(c)401 402 case

33、4: 403 printf("*");404 break;405 case 0: 406 printf(" ");407 break;408 case 1: 409 printf("0");410 break;411 412 if(num+%30=0)413 printf("n");414 415 416 417 418 419 420 421 =422 423 /画高级谜宫函数424 void draw3(void)425 426 int i,j,c,num=1;427 428 for(i=0;i<30;i

34、+)429 430 printf("ttt");431 for(j=0;j<30;j+)432 433 434 c=mg3ij;435 switch(c)436 437 case 4: 438 printf("*");439 break;440 case 0: 441 printf(" ");442 break;443 case 1: 444 printf("0");445 break;446 447 if(num+%30=0)448 printf("n");449 450 451 452 453 454 455 456 457 =458 459 /交换函数460 461 void roadcake(int *i,int *j)462 463 int temp;464 temp=*i;465 *i=*j;466 *j=temp;467 468 469 470 =471 /游戏介绍函数472 473 void introduce(void)474 char c;475 printf("t=欢迎进入迷宫游戏=nn");476 477 printf("t温馨提示:n");4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论