迷宫1.2
先发一下上次的代码
#include<bits/stdc++.h>
#include<windows.h>
#include <conio.h>
using namespace std;
char a[1005][1005]={
" ",
"################",
"# # *#",
"# # # #",
"#I # #",
"################",
};
int main()
{int i=4,j=1;for(int i=1;i<=5;i++){puts(a[i]);}char c;while(1){ c=getch();if(c=='w'){if(a[i-1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i-1][j]='I';i=i-1;system("cls");}}if(c=='s'){if(a[i+1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i+1][j]='I';i=i+1;system("cls");}}if(c=='a'){if(a[i][j-1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i][j-1]='I';j=j-1;system("cls");}}if(c=='d'){if(a[i][j+1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i][j+1]='I';j=j+1;system("cls");}}if('I'==a[2][14]){system("cls");cout<<"Win!";return 0; }for(int i=1;i<=6;i++){puts(a[i]);}}return 0;
}
这里,我们可以用void来把int main()下面的主程序换到上面来,再给他定义一个名字叫zhuchengxu
就可以写成下面这样
#include<bits/stdc++.h>
#include<windows.h>
#include <conio.h>
using namespace std;
char a[1005][1005]={
" ",
"################",
"# # *#",
"# # # #",
"#I # #",
"################",
};
void zhuchengxu(void)
{int i=4,j=1;for(int i=1;i<=5;i++){puts(a[i]);}char c;while(1){ c=getch();if(c=='w'){if(a[i-1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i-1][j]='I';i=i-1;system("cls");}}if(c=='s'){if(a[i+1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i+1][j]='I';i=i+1;system("cls");}}if(c=='a'){if(a[i][j-1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i][j-1]='I';j=j-1;system("cls");}}if(c=='d'){if(a[i][j+1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i][j+1]='I';j=j+1;system("cls");}}if('I'==a[2][14]){system("cls");cout<<"Win!";return 0; }for(int i=1;i<=6;i++){puts(a[i]);}}
}
int main()
{zhuchengxu();return 0;
}
和之前的效果都是一样的
接着来做第二关……
(三十分钟后……)
char b[1005][1005]={
" ",
"################",
"# x x *#",
"# # # #",
"#I x #",
"################",
};
这样,我们的第二个小地图就做出来了!
接着
void zhuchengxu2(void)
{int i=4,j=1;for(int i=1;i<=5;i++){puts(b[i]);}char c;while(1){ c=getch();if(c=='w'){if(a[i-1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}else{a[i][j]=' ';a[i-1][j]='I';i=i-1;system("cls");}}if(c=='s'){if(a[i+1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}else{a[i][j]=' ';a[i+1][j]='I';i=i+1;system("cls");}}if(c=='a'){if(a[i][j-1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}else{a[i][j]=' ';a[i][j-1]='I';j=j-1;system("cls");}}if(c=='d'){if(a[i][j+1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}else{a[i][j]=' ';a[i][j+1]='I';j=j+1;system("cls");}}if(c=='z'){if(a[i][j+2]=='x'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}a[i][j]=' ';a[i][j+2]='I';j=j+2;system("cls");}if('I'==a[2][14]){system("cls");cout<<"Win!";return ; }for(int i=1;i<=6;i++){puts(b[i]);}}
}
int main()
{
zhuchengxu2();
}
但是,我发现如果再加上zhuchengxu();时,它就会只执行zhuchengxu();里的内容
于是,我想到如果在执行完zhuchengxu();后的cout<<"win!";
结果还是不行
这时,我看到执行移动的都在zhuchengxu();里面的这怎么在zhuchengxu2();上显示出来呀?
于是,我马上就把这个给改了
这时候,我运行了一下代码,结果通关以后就不能输出Win
(100年后……)
代…码…
#include<bits/stdc++.h>
#include<windows.h>
#include <conio.h>
#include<bits/stdc++.h>
using namespace std;
int m=0;
char a[1005][1005]={
" ",
"################",
"# # *#",
"# # # #",
"#I # #",
"################",
};
char b[1005][1005]={
" ",
"################",
"# x x *#",
"# # # #",
"#I x #",
"################",
};int main()
{int m=0;if(m==0){int i=4,j=1;for(int i=1;i<=5;i++){puts(a[i]);}char c;while(1){ c=getch();if(c=='w'){if(a[i-1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i-1][j]='I';i=i-1;system("cls");}}if(c=='s'){if(a[i+1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i+1][j]='I';i=i+1;system("cls");}}if(c=='a'){if(a[i][j-1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i][j-1]='I';j=j-1;system("cls");}}if(c=='d'){if(a[i][j+1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(a[i]);}system("cls");}else{a[i][j]=' ';a[i][j+1]='I';j=j+1;system("cls");}}if('I'==a[2][14]){system("cls");cout<<"Win!";Sleep(1000);m=m+1;system("cls");break;}for(int i=1;i<=6;i++){puts(a[i]);}}
}
if(m!=0){int i=4,j=1;for(int i=1;i<=5;i++){puts(b[i]);}char c;while(1){ c=getch();if(c=='w'){if(b[i-1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}else{b[i][j]=' ';b[i-1][j]='I';i=i-1;system("cls");}}if(c=='s'){if(b[i+1][j]=='#'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}else{b[i][j]=' ';b[i+1][j]='I';i=i+1;system("cls");}}if(c=='a'){if(b[i][j-1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}else{b[i][j]=' ';b[i][j-1]='I';j=j-1;system("cls");}}if(c=='d'){if(b[i][j+1]=='#'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}else{b[i][j]=' ';b[i][j+1]='I';j=j+1;system("cls");}}if(c=='z'){if(a[i][j+2]=='x'){system("cls");for(int i=1;i<=6;i++){puts(b[i]);}system("cls");}else{a[i][j]=' ';a[i][j+2]='I';j=j+2;system("cls");}}if('I'==b[2][14]){system("cls");cout<<"Win!";break; }for(int i=1;i<=6;i++){puts(b[i]);}}
}
}
z是瞬移(瞬移2格!)
瞬移后会留下上一个本体
下一次要随机迷宫了吧!(逃!)
相关文章:
迷宫1.2
先发一下上次的代码 #include<bits/stdc.h> #include<windows.h> #include <conio.h> using namespace std; char a[1005][1005]{ " ", "################", "# # *#", "# # # #&qu…...

RabbitMQ---应用问题
(一)幂等性介绍 幂等性是本身是数学中的运算性质,他们可以被多次应用,但是不会改变初始应用的结果 1.应用程序的幂等性介绍 包括很多,有数据库幂等性,接口幂等性以及网络通信幂等性等 就比如数据库的sel…...

Unity自学之旅03
Unity自学之旅03 Unity自学之旅03📝 碰撞体 Collider 基础定义与作用常见类型OnCollisionEnter 事件碰撞触发器 🤗 总结归纳 Unity自学之旅03 📝 碰撞体 Collider 基础 定义与作用 定义:碰撞体是游戏中用于检测物体之间碰撞的组…...
pip 相关
一劳永逸法(pip怎么样都用不了也更新不了): 重下python(卸载旧版本):请输入访问密码 密码:7598 各版本python都有,下3.10.10 python路径建立,pip无法访问方式: 访问pip要…...
vue request 发送formdata
在Vue中,你可以使用axios库来发送包含FormData的请求。以下是一个简单的例子: 首先,确保你已经安装了axios: npm install axios然后,你可以使用axios发送FormData,例如: import axios from a…...

Android RTMP直播练习实践
前言:本文只是练习,本文只是练习,本文只是练习! 直播的核心就是推流和拉流,我们就以RTMP的协议来实现下推流和拉流,其他的协议等我学习后再来补充 1.推流 1.1搭建流媒体服务器,具体搭建方法请参…...

ITIL认证工具商-ManageEngine Servicedesk Plus
ServiceDesk Plus是Zoho Corporation旗下企业IT管理部门ManageEngine提供的统一服务管理解决方案。凭借其无限的可扩展性、情境化的IT和业务集成以及一键式工作流程自动化功能,IT领导者可以使用ServiceDesk Plus有效执行和控制跨不同业务部门和IT功能的复杂工作流程…...
https 的 CA证书和电子签名
https 的攻击者可能使用伪造的一对公私钥与客户端交互, 那么如何确保确实是该服务器的公钥呢? 这就诞生了CA颁发机构 CA颁发机构 服务器和客户端都信任指定的CA颁发机构 服务器上传服务器公钥, CA颁发机构做了什么 服务器公钥哈希, 记为 Hash使用 CA 私钥为 Hash 进行 CA 签…...
频繁刷新网页会对服务器造成哪些影响?
当用户在进行浏览网页的过程中频繁刷新页面时,浏览器会向服务器发送请求,服务器会对该请求进行处理并返回到相应的页面内容中,所以频繁刷新网页会对服务器造成影响,有可能会出现以下问题: 用户每次刷新网页都会向服务器…...

贪心算法(题1)区间选点
输出 2 #include <iostream> #include<algorithm>using namespace std;const int N 100010 ;int n; struct Range {int l,r;bool operator <(const Range &W)const{return r<W.r;} }range[N];int main() {scanf("%d",&n);for(int i0;i&l…...
JavaWeb开发学习笔记--MySQL
MySQL-DQL 基本语法: select 字段列表 from 表名列表 where 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数 基本查询 关键字:SELECT 查询多个字段:select 字…...

抖音小程序一键获取手机号
前端代码组件 <button v-if"!isFromOrderList"class"get-phone-btn" open-type"getPhoneNumber"getphonenumber"onGetPhoneNumber">一键获取</button>// 获取手机号回调onGetPhoneNumber(e) {var that this tt.login({f…...

iconfont等图标托管网站上传svg显示未轮廓化解决办法
打开即时设计 即时设计 - 可实时协作的专业 UI 设计工具 导入图标后拖入画板里面,右键选择轮廓化 将图标导出...

2008-2020年各省城镇登记失业率数据
2008-2020年各省城镇登记失业率数据 1、时间:2008-2020年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、城镇登记失业率 4、范围:31省 5、指标说明:城镇登记失业率是指在一定时期内&…...

Linux——信号量和(环形队列消费者模型)
Linux——线程条件变量(同步)-CSDN博客 文章目录 目录 文章目录 前言 一、信号量是什么? 二、信号量 1、主要类型 2、操作 3、应用场景 三、信号量函数 1、sem_init 函数 2、sem_wait 函数 3、sem_post 函数 4、sem_destroy 函数 …...
【JOIN】关键字在MySql中的详细使用
目录 INNER JOIN(内连接) LEFT JOIN(左连接) RIGHT JOIN(右连接) FULL JOIN(全连接) 示例图形化解释JOIN的不同类型 INNER JOIN: LEFT JOIN: RIGHT J…...

渗透测试--攻击常见的Web应用
本文章咱主要讨论,常见Web应用的攻击手法,其中并不完全,因为Web应用是在太多无法囊括全部,但其中的手法思想却值得我们借鉴,所以俺在此做了记录,希望对大家有帮助!主要有以下内容: 1…...

window系统annaconda中同时安装paddle和pytorch环境
一、下载nvidia驱动 Download The Official NVIDIA Drivers | NVIDIA 查看GPU信息 nvidia-smi 二、安装cuda CUDA Toolkit 11.8 Downloads | NVIDIA Developer 按以下步骤下载cuda安装包,我使用的cuda11.8 下载后双击一路下一步安装即可。 查看cuda版本 nvcc …...

python-leetcode-简化路径
71. 简化路径 - 力扣(LeetCode) class Solution:def simplifyPath(self, path: str) -> str:# 使用栈来处理路径stack []# 分割路径,以 / 为分隔符parts path.split(/)for part in parts:if part or part .:# 空字符串或 .࿰…...
浅谈 PID 控制算法
PID 控制算法概念 在我们的生活中可能大家都没有听说过 PID 控制算法,但它可以说是无处不在,小到空调的温度控制、无人机的精准悬停、机器人运作系统,大到飞机和火箭的飞行姿态控制都有 PID 的身影。 PID 控制算法,即比例 - 积分…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...

《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...