迷宫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 控制算法,即比例 - 积分…...
QtDBus模块功能及架构解析
Qt 6.0 中的 QtDBus 模块是一个用于进程间通信(IPC)的核心模块,它基于 D-Bus 协议实现。D-Bus 是一种在 Linux 和其他类 Unix 系统上广泛使用的消息总线系统,允许应用程序和服务相互通信。 一、QtDBus模块主要功能: 1…...

传输层:udp与tcp协议
目录 再谈端口号 端口号范围划分 认识知名端口号(Well-Know Port Number) 两个问题 netstat pidof 如何学习下三层协议 UDP协议 UDP协议端格式 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 TCP协议 TCP协议段格式 1.源端口号…...

抽奖系统核心——抽奖管理
目录 前端逻辑: 核心全局变量: reloadConf函数: nextStep函数: 后端实现: 抽奖接口: Controller层: Service层: MqReceiver: drawPrizeService: statusConvert()方法: activityStatu…...

完美搭建appium自动化环境
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 桌面版appium提供可视化操作appium主要功能的使用方式,对于初学者非常适用。 如何在windows平台安装appium桌面版呢,大体分两个步骤&…...

5.Nginx+Tomcat负载均衡群集
Tomcat服务器应用场景:tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,Tomcat虽然和Apache或…...

国产pcie switch 8748+飞腾/龙芯/昇腾高速存储方案设计
方案概述 本设计以国微PCIe Switch 8748为核心交换芯片,通过多端口PCIe 4.0/5.0通道连接飞腾ARM架构处理器、龙芯LoongArch处理器及昇腾AI加速卡,构建支持NVMe协议的高速存储集群,目标实现6.5GB/s以上的可持续带宽。 硬件架构 处理器选型 飞…...
机器学习算法时间复杂度解析:为什么它如此重要?
时间复杂度的重要性 虽然scikit-learn等库让机器学习算法的实现变得异常简单(通常只需2-3行代码),但这种便利性往往导致使用者忽视两个关键方面: 算法核心原理的理解缺失 忽视算法的数据适用条件 典型算法的时间复杂度陷阱 SV…...
stm32_DMA
DMA 1. 概念与基本原理 DMA,全称Direct Memory Access,即直接存储器访问。它是微控制器(MCU)、嵌入式处理器中的一个独立硬件模块,用于在无需CPU干预的情况下,在不同内存区域(包括外设寄存器和…...

89.实现添加收藏的功能的后端实现
实现完查看收藏列表之后,实现的是添加收藏的功能 我的设想是:在对话界面中,如果用户认为AI的回答非常好,可以通过点击该回答对应的气泡中的图标,对该内容进行添加 所以后端实现为: service类中添加&…...

MQTTX连接阿里云的物联网配置
本文的目标是通过MQTTX的客户端,连接到阿里云的物联网的平台,发送温度信息,在阿里云的平台中显示出来。阿里云免费注册,免费有一个MQTT的服务器。有数量限制,但是对于测试来讲,已经足够。 1、注册阿里云的物…...