本文实例分享了c++设计的一个可以调整大小的迷宫游戏,给定迷宫的入口。如果存在出口,程序能够显示行走的路径,并最终到达出口,并输出“成功走出迷宫”,如果不存在出口,程序也能够显示行走的过程,并最终回退到入口,并输出”回退到入口”。
//这是一个迷宫游戏 # include# include # include m * (n - 1)) | | (((y + 1) % m)==0)))/*到达边界之前执行循环走迷宫*/{/*判断右的方向,如果右为“。”,则向右走*/if (x==1) z=y + m; if (x==m) z=y-1; if (x==- m) z=y + 1; if (x==1) z=y m;/*右不为“。”时,向y的前方走*/如果(p [z]==' # ') {/*判断y的前方,如果前为“。”,则向前走*/if (x==1) z=y + 1; if (x==m) z=y + m; if (x==- m) z=y m; if (x==1) z=y-1;/*如果前方为“#”,要向左走*/如果(p [z]==' # ') {/*判断左的位置*/if (x==1) z=y m; if (x==m) z=y + 1; if (x==- m) z=y-1; if (x==1) z=y + m;/*如果左为“#”,为死路,需要向后走*/如果(p [z]==' # ') z=x; } } p [z]=' x ',/*最后都要让z的位置为“x”,表示走过的痕迹*/showmaze (p, m, n); cout<& lt; endl; cout<& lt;“请按回车键移动:“; cin.get (); cout<& lt; endl;/*替换x, y实现当前位置的移动*/x=y; y=z; } } int main () { int m, n, n/*是迷宫的阶数,由于输出窗口大小的限制, n不能大于每行所能显示的字符个数*/cout<& lt;“陈伟航的迷宫游戏\ n我的迷宫可是很整洁的哦! ^ _ ^ \ n”& lt; & lt; endl; cout<& lt;“这是一个可任意选择大小的迷宫,“& lt; & lt; endl; cout<& lt;“每次生成的迷宫都不同。\ n " & lt; & lt; endl; cout<& lt;“因为屏幕一次最多显示80个字符,\ n这里每个字符又占两格,”& lt; & lt; endl & lt; & lt;“所以输入超过40阶就不好看啦。\ n虽然它还是对的。哈哈\ n”& lt; & lt; endl; cout<& lt;“请依次输入迷宫的宽度米和高度n (m> 2、n> 2):“& lt; & lt; endl;/*可以进行多组数据的测试*/,而(cin>祝辞m>的在n) { char * a=mazegenerator (m, n); showmaze (a, m, n); cout 迷宫游戏控制台版c++代码