本次游戏的代码借鉴了网上不少的代码,比如光标移动,光标隐藏等
之前的迷宫点这里
之前游戏非常简陋,而《勇者走迷宫》在2.0版本有了很大的改变。

一 玩法

大致还是保留了先拿到钥匙才能走出迷宫的玩法思路,但因为军师的想法,又新加了怪物的机制,增加了可玩性,同时关卡数也从原来的一关变为三关,使游戏内容更加饱满

二 画面

之前的地图主要用键盘上直接能够取得的特殊符号打印,不太美观,这次的迷宫完全使用搜狗输入法的特殊符号打印,看起来更舒服一点;同时之前的颜色变换感觉有点花里胡哨(小帅),现在使用了system(“color B”)的青色,看起来比较简约。这次的三张地图也完全由军师操刀,orz

三 操作

在先前的《勇者走迷宫1.0》中,使用的是循环打印的方式,效率很低,因为每一次走动只需改变人的位置,整个地图基本上不需要变化,所以这次采用了光标定位的方法,每次只将需要变化的坐标改变,这样就不会使地图看起来一闪一闪了

四 在修改中遇到的难题

解决打印问题

要想将游戏变为2.0,最主要的就是将循环打印效率低的问题解决,所以从学长那里了解到了光标定位,后来又从军师那里得到了函数代码,之后这个函数在整个程序中被多次调用。

解决特殊符号问题

这是我主要负责的部分。其间遇到了许多棘手的问题,首先想到如果要用比较特殊的符号的话,必须应该是UTF-8格式所支持的,但是又该从哪里获得这些特殊符号呢?如果使用搜狗输入法的话应该很容易就能找到。

很快的我就找到了■◎★卍等特殊符号,而我在将其放入二维数组中打印后发现,打印出的地图每一行的长度并不一致。后来经过我的一番试验,发现原来这些特殊符号每一个就占了两个字节。所以为了保持长度一致,每一个空格必须也占两格,同时在每一次进行光标移动时,如果是左右方向的移动,那么一次移动也必须让光标移动两格。

在解决了打印问题之后,以为之后的问题也迎刃而解了,但在实际操作时,又遇到了问题。

因为一个特殊字符占了两个字节,哪又应该怎样判断是否碰到墙体呢?

既然无法直接判断特殊符号,那就直接将特殊符号的编码值找出来,所以我将所需要用到的特殊符号的编码值一个个打印了出来。而且我发现除了卍符号之外,其他符号的第一个编码都是-95,这使后续函数的执行也更加方便了

解决怪物随机移动问题

这个环节主要由军师负责,但是我也看了下代码,核心的思路就是使用time头文件的函数,先生成随机数,以此产生怪物的坐标,之后再用随机数来控制怪物的随机移动,同时怪物不能生成在非法区域(其他的特殊符号所在的区域以及迷宫外)。
其间他也遇到了一些难题,比如如何让怪物随时间自动移动。(后来他用了_kbhit()函数解决了)

解决关卡切换问题

这个问题被军师秒了 用if语句加system(“CLS”),再将新的界面直接打印就好了~

其他

后面还有一些琐碎的问题,比如如何给程序加入音乐,(虽然网上有很多办法,但这个问题还是花费了我一个下午),还有codeblocks有时会打印出乱码(现在还有时会发生)

五 总结

上次我虽然说会将第一版迷宫做一些优化,但是后来去学DP了,所以这次2.0版本拖了比较久,但同时我也学到了许多我之前从来没有用过的函数,比<windows.h>及<time.h>中的函数。同时这次的游戏也不是最终版,之后也许会加入bgm等(3.0版本),而且在第三关也有一些(很多)BUG

下面我附上游戏源代码:

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#pragma comment(lib,"Winmm.lib")
#include<time.h>
using namespace std;
int cot,flag1,flag2,flag3;//cot是计步器 flag1,2,3指示是否拿到钥匙
int x,y,i,p,q,z,book,a3,a4,a5,a6;
int a1,a2;
char ch;
char c[100][100]= { "■■■■■■■■■■","■◎            ■■","■  ■  ■  ■  ★■","■      ■  ■    ■        勇者啊,记得拿到钥匙之后才能打开牢房逃离","■  ■■■  ■  ■■         ■表示墙 ◎表示你 ★表示钥匙 卍表示出口","■    ■■    ■  卍","■  ■        ■  ■","■  ■  ■■■■  ■","■                ■","■■■■■■■■■■",};
char b[200][200]= {"■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■","■    ■            ■            ■■■■■■■    ■    ■","■  ■■    ■■■■    ■■  ■  ■■        ■■      ■■","■  ■          ■        ■        ■  ■    ■■  ■    ■","■  ■■■■  ◎    ■      ■■■      ■      ■■    ■■","■        ■        ■        ■    ■  ■■          ■  卍","■■              ■■  ■    ■■■■■■      ■■■    ■","■  ■■■■    ■      ■  ■      ■      ■■    ■■  ■","■    ■★  ■      ■■■■  ■    ■      ■■    ■    ■","■          ■  ■■      ■        ■■        ■■    ■■","■■■■        ■    ■      ■■■■  ■  ■  ■    ■■■","■        ■■          ■  ■■  ■        ■      ■■■■","■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■",};
char a[200][300]=
{"■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■","■        ■                      ■                    ■■■              ■■■■                                  ■","■        ■    ■■■■■    ■      ■■    ■■■        ■        ■            ■■  ■■■■■  ■■■■■■■  ■","■        ■    ■      ■    ■  ■    ■          ■      ■        ■■■■■              ■■            ■      ■","■        ■■■■      ■    ■  ■    ■■■■    ■    ■■              ■        ■■■■        ■■■■■  ■■■","■    ■                ■■■■  ■          ■    ■      ■        ■    ■        ■    ■■■■■    ■■    ■■■","■    ■    ■    ■■        ■■■■■■    ■    ■        ■■■■■■  ■■■■■■            ■            ■■■","■    ■■■        ■          ◎                  ■            ■          ■      ■    ■    ■■    ■■  ■■■■","■          ■        ■■■■■    ■■■  ■■■■■■■■■■      ■■■■■■    ■    ■              ■■■■  卍","■  ■■■■■  ■■■■    ■    ■■                        ■■■■■        ■          ■    ■■■■■          ■","■  ■    ★■        ■              ■■■■■■■  ■■          ■        ■    ■■■■■■■■    ■■■■■■  ■","■■■      ■    ■  ■■■■    ■        ■          ■■■■■  ■    ■■■■                            ■  ■  ■","■        ■■    ■        ■■  ■■■■          ■■    ■          ■■      ■  ■    ■■■■■■          ■  ■","■      ■        ■  ■            ■  ■    ■■■        ■  ■  ■    ■      ■■■      ■      ■      ■  ■  ■","■      ■      ■■■■■■                ■■      ■        ■  ■■■■        ■      ■■■      ■    ■  ■  ■","■      ■                ■    ■■■  ■■■      ■■■■■■■  ■              ■      ■  ■■■■■    ■      ■","■              ■■■    ■        ■            ■■    ■              ■        ■■■■■  ■      ■    ■  ■  ■","■      ■          ■        ■■■■      ■    ■            ■        ■■■            ■      ■        ■■■■■","■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■",
};
void status()//状态函数
{void gotoxy(int x,int y);if(c[x][y+1]==-17&&c[x][y]==-95&&z==1){flag1=1;//flag1变为1 拿到钥匙gotoxy(11,5);printf("勇者,恭喜你!得到了遗失在迷宫中的钥匙!");}else  if(b[x][y+1]==-17&&b[x][y]==-95&&z==2){flag2=1;//flag1变为1 拿到钥匙gotoxy(14,5);printf("勇者,恭喜你!得到了遗失在迷宫中的钥匙!");}else  if(a[x][y+1]==-17&&a[x][y]==-95&&z==3){flag3=1;//flag1变为1 拿到钥匙gotoxy(20,5);printf("勇者,恭喜你!得到了遗失在迷宫中的钥匙!");}
}
void gotoxy(int x,int y)//辅助函数:光标移动
{COORD coord;//光标结构体coord.X=y;//设置坐标coord.Y=x;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);//同步到控制台/设置控制台光标位置
}
void HideCursor()  //隐藏光标,防止干扰视线
{CONSOLE_CURSOR_INFO cursor;cursor.bVisible = FALSE;cursor.dwSize = sizeof(cursor);HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorInfo(handle, &cursor);
}
int getpd(char js)
{if(z==1){if (js=='w'&&((c[x-1][y]!=-95&&c[x-1][y]!=-10)||(c[x-1][y+1]==-17)||(c[x-1][y+1]==-14))){if(c[x-1][y]==-123&&!flag1)//判断走到出口时是否拿到钥匙goto out1;gotoxy(x,y);printf("  ");x--;gotoxy(x,y);printf("◎");cot++;gotoxy(10,10);printf("%d",cot);status();}if (js=='s'&&((c[x+1][y]!=-95&&c[x+1][y]!=-10)||(c[x+1][y+1]==-17)||(c[x+1][y+1]==-14))){if(c[x+1][y]==-123&&!flag1)goto out1;gotoxy(x,y);printf("  ");x++;gotoxy(x,y);printf("◎");cot++;gotoxy(10,10);printf("%d",cot);status();}if (js=='d'&&((c[x][y+2]!=-95&&c[x][y+2]!=-10)||(c[x][y+3]==-17)||(c[x][y+3]==-14))){if(c[x][y+2]==-123&&!flag1)goto out1;gotoxy(x,y);printf("  ");y+=2;gotoxy(x,y);printf("◎");cot++;gotoxy(10,10);printf("%d",cot);status();}if (js=='a'&&((c[x][y-2]!=-95&&c[x][y-2]!=-10)||(c[x][y-1]==-17)||(c[x][y-1]==-14))){if(c[x][y-1]==-123&&!flag1)goto out1;gotoxy(x,y);printf("  ");y-=2;gotoxy(x,y);printf("◎");cot++;gotoxy(10,10);printf("%d",cot);status();}
out1:{}}if(z==2){if (js=='w'&&((b[x-1][y]!=-95&&b[x-1][y]!=-10)||(b[x-1][y+1]==-17)||(b[x-1][y+1]==-14))){if(b[x-1][y]==-123&&!flag2)//判断走到出口时是否拿到钥匙goto out2;gotoxy(x,y);printf("  ");x--;gotoxy(x,y);printf("◎");cot++;gotoxy(13,10);printf("%d",cot);status();}if (js=='s'&&((b[x+1][y]!=-95&&b[x+1][y]!=-10)||(b[x+1][y+1]==-17)||(b[x+1][y+1]==-14))){if(b[x+1][y]==-123&&!flag2)goto out2;gotoxy(x,y);printf("  ");x++;gotoxy(x,y);printf("◎");cot++;gotoxy(13,10);printf("%d",cot);status();}if (js=='d'&&((b[x][y+2]!=-95&&b[x][y+2]!=-10)||(b[x][y+3]==-17)||(b[x][y+3]==-14))){if(b[x][y+2]==-123&&!flag2)goto out2;gotoxy(x,y);printf("  ");y+=2;gotoxy(x,y);printf("◎");cot++;gotoxy(13,10);printf("%d",cot);status();}if (js=='a'&&((b[x][y-2]!=-95&&b[x][y-2]!=-10)||(b[x][y-1]==-17)||(b[x][y-1]==-14))){if(b[x][y-1]==-123&&!flag2)goto out2;gotoxy(x,y);printf("  ");y-=2;gotoxy(x,y);printf("◎");cot++;gotoxy(13,10);printf("%d",cot);status();}
out2:{}}if(z==3){if (js=='w'&&((a[x-1][y]!=-95&&a[x-1][y]!=-10)||(a[x-1][y+1]==-17)||(a[x-1][y+1]==-14))){if(a[x-1][y]==-123&&!flag3)//判断走到出口时是否拿到钥匙goto out3 ;gotoxy(x,y);printf("  ");x--;gotoxy(x,y);printf("◎");cot++;gotoxy(19,10);printf("%d",cot);status();}if (js=='s'&&((a[x+1][y]!=-95&&a[x+1][y]!=-10)||(a[x+1][y+1]==-17)||(a[x+1][y+1]==-14))){if(a[x+1][y]==-123&&!flag3)goto out3;gotoxy(x,y);printf("  ");x++;gotoxy(x,y);printf("◎");cot++;gotoxy(19,10);printf("%d",cot);status();}if (js=='d'&&((a[x][y+2]!=-95&&a[x][y+2]!=-10)||(a[x][y+3]==-17)||(a[x][y+3]==-14))){if(a[x][y+2]==-123&&!flag3)goto out3;gotoxy(x,y);printf("  ");y+=2;gotoxy(x,y);printf("◎");cot++;gotoxy(19,10);printf("%d",cot);status();}if (js=='a'&&((a[x][y-2]!=-95&&a[x][y-2]!=-10)||(a[x][y-1]==-17)||(a[x][y-1]==-14))){if(a[x][y-1]==-123&&!flag3)goto out3;gotoxy(x,y);printf("  ");y-=2;gotoxy(x,y);printf("◎");cot++;gotoxy(19,10);printf("%d",cot);status();}
out3:{}}
}
void time(int t,int r)//怪物随机移动函数
{clock_t s,f;int a1;s=clock();f=clock();srand(time(0));if (z==2){while(1){HideCursor();if(b[x][y]==-123&&flag2)//如果走到出口,跳出break;if(!_kbhit()){f=clock();if (f-s>=200){a1=rand()%100+1;if (a1>=1&&a1<=25&&b[t][r+2]!=-95&&b[t][r+2]!=-123)//向四个方向随机移动且不能走到非法区域{gotoxy(t,r);printf("  ");r+=2;gotoxy(t,r);printf("◆");}if (a1>=26&&a1<=50&&b[t][r-2]!=-95&&b[t][r-2]!=-123){gotoxy(t,r);printf("  ");r-=2;gotoxy(t,r);printf("◆");}if (a1>=51&&a1<=75&&b[t+1][r]!=-95&&b[t+1][r]!=-123){gotoxy(t,r);printf("  ");t++;gotoxy(t,r);printf("◆");}if (a1>=76&&a1<=100&&b[t-1][r]!=-95&&b[t-1][r]!=-123){gotoxy(t,r);printf("  ");t--;gotoxy(t,r);printf("◆");}if(t==x&&y==r)//如果被怪抓住,将钥匙和起始点重新打印{gotoxy(t,r);printf("  ");gotoxy(4,14);printf("◎");gotoxy(8,8);printf("★");flag2=0;//钥匙掉落book=1;break;}s+=200;}}else{HideCursor();ch=getch();getpd(ch);status();}}}else if (z==3){while(1){HideCursor();if(a[x][y]==-123&&flag3)break;if (!_kbhit()){f=clock();if (f-s>=200){a1=rand()%100+1;int js1=rand()%100+1,js2=rand()%100+1;//三个怪的随机移动if (a1>=1&&a1<=25&&a[t][r+2]!=-95&&a[t][r+2]!=-123){gotoxy(t,r);printf("  ");r+=2;gotoxy(t,r);printf("◆");}if (a1>=26&&a1<=50&&a[t][r-2]!=-95&&a[t][r-2]!=-123){gotoxy(t,r);printf("  ");r-=2;gotoxy(t,r);printf("◆");}if (a1>=51&&a1<=75&&a[t+1][r]!=-95&&a[t+1][r]!=-123){gotoxy(t,r);printf("  ");t++;gotoxy(t,r);printf("◆");}if (a1>=76&&a1<=105&&a[t-1][r]!=-95&&a[t-1][r]!=-123){gotoxy(t,r);printf("  ");t--;gotoxy(t,r);printf("◆");}if (js1>=1&&js1<=25&&a[a3][a4+2]!=-95&&a[a3][a4+2]!=-123){gotoxy(a3,a4);printf("  ");a4+=2;gotoxy(a3,a4);printf("◆");}if (js1>=26&&js1<=50&&a[a3][a4-2]!=-95&&a[a3][a4-2]!=-123){gotoxy(a3,a4);printf("  ");a4-=2;gotoxy(a3,a4);printf("◆");}if (js1>=51&&js1<=75&&a[a3+1][a4]!=-95&&a[a3+1][a4]!=-123){gotoxy(a3,a4);printf("  ");a3++;gotoxy(a3,a4);printf("◆");}if (js1>=76&&js1<=105&&a[a3-1][a4]!=-95&&a[a3-1][a4]!=-123){gotoxy(a3,a4);printf("  ");a3--;gotoxy(a3,a4);printf("◆");}if (js2>=1&&js2<=25&&a[a5][a6+2]!=-95&&a[a5][a6+2]!=-123){gotoxy(a5,a6);printf("  ");a6+=2;gotoxy(a5,a6);printf("◆");}if (js2>=26&&js2<=50&&a[a5][a6-2]!=-95&&a[a5][a6-2]!=-123){gotoxy(a5,a6);printf("  ");a6-=2;gotoxy(a5,a6);printf("◆");}if (js2>=51&&js2<=75&&a[a5+1][a6]!=-95&&a[a5+1][a6]!=-123){gotoxy(a5,a6);printf("  ");a5++;gotoxy(a5,a6);printf("◆");}if (js2>=76&&js2<=105&&a[a5-1][a6]!=-95&&a[a5-1][a6]!=-123){gotoxy(a5,a6);printf("  ");a5--;gotoxy(a5,a6);printf("◆");}if((t==x&&y==r)||(x==a3&&y==a4)||(x==a5&&y==a6)){gotoxy(t,r);printf("  ");gotoxy(a3,a4);printf("  ");gotoxy(a5,a6);printf("  ");gotoxy(7,32);printf("◎");gotoxy(10,10);printf("★");book=1;flag3=0;//钥匙掉落break;}s+=200;}}else{HideCursor();ch=getch();getpd(ch);status();}}}
}
int main()
{HideCursor();printf("                                     亲爱的勇者,你总算醒了。 (按下enter键继续)");system("color B");while(1){char ss;ss=getchar();if (ss=='\n')break;}printf("                                            什么,你问现在什么个情况?");while(1){char ss;ss=getchar();if (ss=='\n')break;}printf("                         你忘了么,你被怪物偷袭了,这之后他们把昏迷的你带到了这座迷宫并关了起来");while(1){char ss;ss=getchar();if (ss=='\n')break;}printf("                              好在有我跟了进来并找到了牢房钥匙的位置,所以趁现在快离开这里吧");while(1){char ss;ss=getchar();if (ss=='\n')break;}printf("                         但可惜的是你的武器被他们带走了,因此你只能想办法避开怪物,不被它们发现");while(1){char ss;ss=getchar();if (ss=='\n')break;}printf("                      你问我是谁?这并不重要,你就把我当作一个乐于助人但未交课程设计作业的大学生吧");while(1){char ss;ss=getchar();if (ss=='\n')break;}printf("                                            好了,话不多说,快开始吧");while(1){char ss;ss=getchar();if (ss=='\n')break;}system("CLS");//清屏for (z=1; z<=3; z++){if (z==1){//            mciSendString("open bgm1.mp3 alias bgm1", NULL, 0, NULL);//打开音乐
//            mciSendString("play bgm1 repeat", NULL, 0, NULL);//循环播放x=1,y=1,p=5,q=9;for(i=0; i<10; i++){printf("%s",c[i]);printf("\n");}printf("当前步数: %d\n状态: \n",cot);system("color B");x=1,y=2;while(c[x][y]!=-123||!flag1)//只有在到达出口的坐标并且有钥匙的情况下退出循环{HideCursor();ch=getch();getpd(ch);}system("CLS");//清屏printf("         恭喜你!勇者,你成功逃出了第一层迷宫\n");printf("             请按下enter键以前往下一层\n");printf("(注意!下一层开始会出现你无法击败的强大怪物,请注意躲避)");while(1){char ss;ss=getchar();if (ss=='\n')break;}system("CLS");//清屏}if (z==2){cot=0;srand(time(0));x=4,y=14,p=5,q=57,book=0;for (i=0; i<=12; i++){printf("%s",b[i]);printf("\n");}printf("当前步数: %d\n状态: \n",cot);system("color B");while (1){a1=rand()%10+3;a2=rand()%47+3;if(!(a2%2))//一定要让光标列数在偶数位{if (b[a1][a2]!=-95)//在可走的道路上随机生成形状为“◆”的怪物{gotoxy(a1,a2);printf("◆");time(a1,a2);break;}}}if (book==1){system("CLS");//清屏z=1;printf(" 很遗憾,勇者,你被怪物抓住了\n");printf(" (请按下enter键重新挑战)\n");}else{system("CLS");//清屏printf("真不愧是天选之子,恭喜你!勇者,你可以前往最终试炼了\n");printf("         (请按下enter键以前往下一层)\n");}while(1){char ss;ss=getchar();if (ss=='\n')break;}system("CLS");//清屏}if (z==3){cot=0;x=7,y=32,p=8,q=118,book=0;for(i=0; i<=18; i++){printf("%s",a[i]);if(i!=18)printf("\n");}printf("当前步数: %d\n状态: \n",cot);while (1){a1=rand()%17+1;a2=rand()%117+1;a3=rand()%17+1;a4=rand()%117+1;a5=rand()%17+1;a6=rand()%117+1;if(!(a2%2)&&!(a4%2)&&!(a6%2)){if (a[a1][a2]!=-95&&a[a3][a4]!=-95&&a[a5][a6]!=-95){gotoxy(a1,a2);printf("◆");gotoxy(a3,a4);printf("◆");gotoxy(a5,a6);printf("◆");time(a1,a2);break;}}}if (book==1){system("CLS");//清屏z=2;printf(" 很遗憾,勇者,你被怪物抓住了\n");printf(" (请按下enter键重新挑战)\n");while(1){char ss;ss=getchar();if (ss=='\n')break;}system("CLS");//清屏}else{system("CLS");//清屏printf("太强了,恭喜你!勇者,你成功逃出了迷宫\n");printf("当然我也没有闲着,我替你找回了你的武器:\n");system("color 2");printf("        *   \n");printf("       ***  \n");printf("       ***  \n");printf("       ***  \n");printf("       ***       圣遗物:湖女剑\n");printf("       ***  \n");printf("     *******\n");printf("       ***  \n");printf("       ***  \n");system("color 6");printf("那么,请你在以后继续用它惩奸除恶,做最强的勇者吧");Sleep(10000);}}}return 0;
}

勇者走迷宫小游戏2.0版(记一次课程设计经历)相关推荐

  1. 用 Dev-C++ 编写简单的走迷宫小游戏

    用 Dev-C++ 编写简单的走迷宫小游戏 前言 基础版 优化版 前言 以下是显示效果 B站视频讲解:[小游戏]用 Dev-C++ 编写简单的控制台走迷宫小游戏 [小游戏]用 Dev-C++ 编写简单 ...

  2. c语言自动按键脚本,C语言键盘控制走迷宫小游戏

    本文实例为大家分享了C语言键盘控制走迷宫小游戏的具体代码,供大家参考,具体内容如下 在看了<啊哈C语言>之后想写一个游戏demo 游戏的截图 首先是启动界面 然后是初始化 接下来是键盘操控 ...

  3. C语言实现一个走迷宫小游戏(深度优先算法)

    补充一下,先前文章末尾给出的下载链接的完整代码含有部分C++的语法(使用Dev-C++并且文件扩展名为.cpp的没有影响),如果有的朋友使用的语言标准是VC6的话可能不支持,所以在修改过后再上传一版, ...

  4. 求助FC上的一个c++代码实现丧心病狂的走迷宫小游戏!

    这篇文章主要介绍了基于C语言实现简单的走迷宫游戏,用到双向队列,方便在运行完毕后输出经过的点,感兴趣的小伙伴们可以参考一下,本文实例讲述了C语言实现简单的走迷宫游戏的方法,代码完整,便于读者理解. 要 ...

  5. C语言编写简单的走迷宫小游戏

    走迷宫: 1.定义一个二维数组作为迷宫 2.定义老鼠的坐标 3.获取游戏开始时的时间time(NULL) 4.进入循环 1.system 清理屏幕 2.显示迷宫(遍历二维数组) 3.检查是否走出迷宫 ...

  6. 手动搜索迷宫游戏 c语言,C语言实现一个走迷宫小游戏(深度优先算法)

    接上一篇万年历博文,还是那位朋友的练习题.这次是使用C语言做一个小游戏程序,三选一(2048.8皇后和迷宫游戏),我选择的是迷宫(文章末尾有程序截图).个人认为这个程序的难点在于迷宫地图的绘制,也就是 ...

  7. [埋坑系列] 基于QT/C++的杰瑞走迷宫小游戏 :1.大体构造

    本次数据结构课程设计本打算做老鼠走迷宫,毕竟也比较喜欢迷宫,也有过经验, 框架大体设计好之后发现挑战性并不强,对这些算法都有一些经验,所以决定先去搞树做词典,在此埋个坑 |_ _ _QT图形界面 | ...

  8. 【Devc++】迷宫小游戏2.0

    增加了颜色设置和一张很简单的图 代码: #include<bits/stdc++.h> #include<windows.h> #include<conio.h> ...

  9. 【Devc++】迷宫小游戏1.0

    我第一次写文章,若有错误请大佬指正(毕竟我还是个小学生)!!! 话不多说,直接上代码: #include<bits/stdc++.h> #include<windows.h> ...

最新文章

  1. uva 1312——Cricket Field
  2. flask返回数据类型
  3. 【分享】 图片轮换--函数化继承
  4. fiddler的基本使用教程
  5. Excel 中VBA脚本的简单应用
  6. java接口文档怎么写_如何写好API接口文档
  7. matlab norm函数_机器人手眼标定MATLAB及C++实现(二十九)
  8. JS数值类型与字符串类型的内置方法
  9. 修改linu主机名后 启动tomcat服务报Unable to set localhost. This prevents creation of a GUID. Cause was: qudaogua
  10. 计算机没有显卡设置吗,绝地求生显卡优化设置教程 低配电脑也能流畅吃鸡了!...
  11. 谷歌浏览器网页打不开怎么办
  12. dango 自带的用户认证
  13. 超级码力在线编程大赛初赛第1场-1-树木规划题解
  14. catboost 的实例应用附带特征重要度打印
  15. Unity调试Android安装包
  16. CUDA进阶第二篇:巧用PTX
  17. 165体重_女生165cm标准体重
  18. linux读内存的命令devmem,嵌入式Linux调试_命令devmem_直接读写内存
  19. 【职场】反思如何做好技术分分享
  20. 使用ANTLR进行语法分析

热门文章

  1. 最优化理论极简入门(第二部分):拉格朗日对偶问题
  2. Invalid use of argument matchers
  3. [论文阅读笔记05]Deep Active Learning for Named Entity Recognition
  4. 【转载】全志的 Linux 内核后门分析
  5. java php 架构_php 架构和java架构的区别?
  6. 在外远程桌面控制家里的电脑
  7. ETSI TR101 290监测的三种级别错误接收端现象
  8. TECH books
  9. Unity中的网格与材质球合并
  10. 如何在公众号文章中添加申请表(Word文档)