迷宫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 控制算法,即比例 - 积分…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
