迷宫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 控制算法,即比例 - 积分…...
AI智能体架构设计:从成本黑洞到价值引擎的解耦之道
1. 从成本黑洞到价值引擎:为什么你的AI智能体架构正在吞噬预算又到了季度技术复盘会,财务那边递过来的云账单和工程人力成本,是不是又让你倒吸一口凉气?你看着报表上那个名为“AI智能体平台”的项目,它的资源消耗曲线几…...
App无辜躺枪?手把手教你搞定腾讯手机管家误报导致的应用商店下架
当合规应用遭遇误报下架:开发者系统性应对指南运动健康类应用被标记为金融诈骗软件?社交工具因"病毒风险"被各大商店紧急下架?这类看似荒谬的误报事件,正在成为中小开发团队的"无妄之灾"。某知名运动App开发团…...
力扣HOT100(30)两两交换链表中的节点
链表的交换要注意 “链表不断链”。前驱和后继都要连着迭代法(必学死磕!O (n) 时间,O (1) 空间)1. 为什么必须用虚拟头节点?因为交换后链表的头节点会变! 比如示例 1 中,原来的头是 1࿰…...
别只拿PotPlayer看片了!挖掘它的采集录制功能,做Switch游戏存档大师
别把PotPlayer当普通播放器!解锁它的Switch游戏录制黑科技 你是否已经厌倦了在OBS、Bandicam等专业录制软件中反复调试参数的繁琐?是否想过那个每天用来看视频的PotPlayer,其实隐藏着令人惊喜的游戏录制能力?今天,我们…...
组态王通用扫码枪配置
使用组态王扫码枪驱动,是绑定变量,扫码后直接就可以显示扫码内容。解决每次扫码输入数据时必须先用鼠标点进输入框内的问题。驱动安装先添加驱动,亚控网站的文件为 barcodescanner,这个文件是组态王通用扫码枪的驱动,但…...
学术写作创新突破!2026全流程AI论文工具精选指南
2026 年 AI 论文写作工具已进入全流程闭环 学术合规时代,千笔 AI(综合评分 99 分)中文学术场景标杆;Grammarly Academic与Elicit为英文论文写作首选;按需求匹配度 - 数据可信度 - 成本承受力三维模型选型,…...
【MySQL数据库 | 第一篇】 概述
数据库相关概念: 数据库(Database):数据库是指一组有组织的数据的集合,通过计算机程序进行管理和访问。数据库管理系统:操纵和管理数据库的大型软件SQL:操作关系型数据库的编程语言,定义了一套操作关系型数…...
荣耀出征官方网站下载正版手游 翅膀养成细节玩法全方位讲解
玩荣耀出征的玩家都清楚,翅膀不仅是角色的颜值象征,更是提升整体战力的核心途径。很多新手玩家只顾着升级、刷装备,完全忽略翅膀养成,导致等级很高但战力始终上不去。还有不少玩家胡乱合成、盲目进阶,浪费了大量稀有翅…...
巨量投放总结
巨量商务管理平台 : https://business.oceanengine.com 巨量广告投放平台: https://ad.oceanengine.com 商务管理平台 账户 广告组 计划 广告投放平台 层级关系: 广告组 -> 计划 -> 创意 对应FB: 系列 - > 广告组 -> 广告...
终极指南:5步快速掌握免费的3D点云标注工具labelCloud
终极指南:5步快速掌握免费的3D点云标注工具labelCloud 【免费下载链接】labelCloud A lightweight tool for labeling 3D bounding boxes in point clouds. 项目地址: https://gitcode.com/gh_mirrors/la/labelCloud 想要为自动驾驶、机器人视觉或3D目标检测…...
