走迷宫
来源:互联网 发布:英文工程图纸翻译软件 编辑:程序博客网 时间:2024/05/01 17:14
/*
* 程序的版权和版本声明部分:
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 文件名称:【数组】迷宫.cpp
* 作 者:毛通
* 完成日期:2012 年 12月 03日
* 版 本 号:v1.0
*/
#include<iostream>#include<conio.h>using namespace std;void draw(void); //函数声明 void up(void);void down(void);void left(void);void right(void);void change(void);int map[10][20]= {{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},{1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1},{1,0,1,0,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1},{1,0,0,0,0,0,0,1,1,0,0,0,1,0,1,1,0,1,0,1},{1,0,1,1,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,1},{1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1},{1,0,1,0,1,1,0,0,0,1,0,0,1,0,0,1,0,0,0,1},{1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1},{1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,3,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},}; //数组初始化的模式int x=1,y=1; //x y的值需要改变 定义全局变量 int x1=0,y1=0; //x1 y1的值需要改变 定义全局变量bool victory=false; //bool变量 开始时为假 用来结束int main(){ draw(); //先画原图 char (ch);while(!victory) //victory为假时 执行{char (ch); //字符变量 ch=getch(); //得到字符 switch (ch){case 'w': up(); change();system("cls");draw();break; case 'a': left(); change();system("cls");draw();break;case 's': down(); change();system("cls");draw();break;case 'd': right(); change();system("cls");draw();break;}}cout<<"恭喜你 你赢啦!"<<endl;return 0;}void up() //改变数组行列{ if(1!=map[x-1][y]){x1=x;y1=y;x=x-1;}}void down(){if(1!=map[x+1][y]){x1=x;y1=y;x=x+1;}}void right(){if(1!=map[x][y+1]){x1=x;y1=y;y=y+1;}}void left(){if(1!=map[x][y-1]){x1=x;y1=y; y=y-1;}}void draw() //画迷宫{for (int val = 0; val < 10; ++val) //行{for (int flag = 0; flag < 20; ++flag) //列{if (1 == map[val][flag]) //1 为墙{cout << "# ";}else if (0 == map[val][flag]) //0 为 路{ cout << " ";}else if (2 == map[val][flag]) //2 为 人{cout << '\001'<<" ";}else if (3==map[val][flag]) //3 为 心cout<<'\003'<<" ";}cout << endl; //勿忘换行}}void change() //改变迷宫的初始值 (error c2601 自定义函数不能在其他函数里面 通常因为上面的函数大括号没正确匹配){if (3 == map[x][y]) //如果吃到心,则胜利{victory = true;}map[x][y] = 2; // 原来的路为人map[x1][y1] = 0; // 原来的人为路}
/*
运行结果:
心得体会: 简单数组解决
知识点总结:
*/
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 解决oc4j跟oracle环境变量oracle_home冲突问题
- 解决 软件不能在虚拟机运行 this progame cannot be run under vmware
- ExecutorService线程池的用法
- FCK 2.6.8 asp bug
- 使用Xcode和Instruments调试解决iOS内存泄露
- 走迷宫
- [Leetcode] First Missing Positive
- div样式在IE下margin:0 auto不居中多种解决方法
- linux 环境变量相关的知识
- Myeclipse Svn中用户名和密码修改问题专家详解
- Nginx Http模块开发
- 中国科技&计算机协会收集
- TabHost中每个tab中放入多个Activity
- c++ string 和 stl算法