c++迷宫小游戏

一、总结

一句话总结:

显示:根据map数组输出图像
走动:修改map数组的值,每走一步重新刷新一下图像就好

1、如果走函数用z(),出现输入s会向下走多步的情况,原因是什么?

 向下走两层循环ij增加,而向下走i也是增加的,所以break跳出j后,照样找到i不误,所以会一直走到不能走为止

//走动函数 
void z(){char c=getch();//下 if(c=='s'){for(int i=0;i<10;i++){for(int j=0;j<10;j++){//找到人物所在的位置 if(map[i][j]==3&&map[i+1][j]!=1){map[i+1][j]=3;//下面的位置变成人物所在的位置 map[i][j]=0;//走过的地方变成0 break;}}}}//上 if(c=='w'){for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(map[i][j]==3&&map[i-1][j]!=1){map[i-1][j]=3;map[i][j]=0;break;}}}}//左 if(c=='a'){for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(map[i][j]==3&&map[i][j-1]!=1){map[i][j-1]=3;map[i][j]=0;break;}}}}//右 if(c=='d'){for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(map[i][j]==3&&map[i][j+1]!=1){map[i][j+1]=3;map[i][j]=0;break;}}}}
}

二、内容在总结中

截图:

wsad分别对应上下左右

代码:


#include<cstdio>
#include<windows.h>
#include<conio.h>
int map[10][10]={{1,1,1,1,3,1,1,1,1,1},{1,0,0,0,0,0,0,1,1,1},{1,0,0,1,0,1,0,0,1,1},{1,1,0,1,1,0,0,1,1,1},{1,0,0,0,1,0,0,0,0,1},{1,1,0,0,1,1,0,1,0,1},{1,1,0,1,0,1,1,0,0,1},{1,0,0,0,1,1,1,1,0,1},{1,1,1,1,1,1,1,1,2,1}};
int pos_y=0;//人物的y坐标 
int pos_x=4;//人物的x坐标//打印地图 
void jzmap()
{for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(map[i][j]==0) printf("  ");//可走的地方 if(map[i][j]==1) printf("■");//障碍 if(map[i][j]==2)printf("!!");//出口 if(map[i][j]==3)printf("* ");//人物所在的位置 }printf("\n");}
}
//走动函数2 
void z2(){char c=getch();//下 if(c=='s'){//找到人物所在的位置 if(map[pos_y][pos_x]==3&&map[pos_y+1][pos_x]!=1){map[pos_y+1][pos_x]=3;//下面的位置变成人物所在的位置 map[pos_y][pos_x]=0;//走过的地方变成0 pos_y++; }}//上 if(c=='w'){if(map[pos_y][pos_x]==3&&map[pos_y-1][pos_x]!=1){map[pos_y-1][pos_x]=3;map[pos_y][pos_x]=0;pos_y--;}}//左 if(c=='a'){if(map[pos_y][pos_x]==3&&map[pos_y][pos_x-1]!=1){map[pos_y][pos_x-1]=3;map[pos_y][pos_x]=0;pos_x--;}}//右 if(c=='d'){if(map[pos_y][pos_x]==3&&map[pos_y][pos_x+1]!=1){map[pos_y][pos_x+1]=3;map[pos_y][pos_x]=0;pos_x++;}}
} 
//走动函数 
void z(){char c=getch();int has_zou=0;//下 if(c=='s'){for(int i=0;i<10;i++){for(int j=0;j<10;j++){//找到人物所在的位置 if(map[i][j]==3&&map[i+1][j]!=1&&!has_zou){has_zou=1;map[i+1][j]=3;//下面的位置变成人物所在的位置 map[i][j]=0;//走过的地方变成0 break;}}}}//上 if(c=='w'){for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(map[i][j]==3&&map[i-1][j]!=1&&!has_zou){has_zou=1;map[i-1][j]=3;map[i][j]=0;break;}}}}//左 if(c=='a'){for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(map[i][j]==3&&map[i][j-1]!=1&&!has_zou){has_zou=1;map[i][j-1]=3;map[i][j]=0;break;}}}}//右 if(c=='d'){for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(map[i][j]==3&&map[i][j+1]!=1&&!has_zou){has_zou=1;map[i][j+1]=3;map[i][j]=0;break;}}}}
}
void yx()
{jzmap();//重绘地图 //z();z2();//走操作 
}
//结束 
bool js()
{for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(map[i][j]==map[9][8]){return 1;}else{return 0;}}}
}
int main()
{for(int i=0;i<100;i++){system("cls");yx();if(js()){system("cls");printf("game over!");return 0;}}    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/90007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云中网络的隔离GREVXLAN

底层的物理网络设备组成的网络我们称为 Underlay 网络&#xff0c;而用于虚拟机和云中的这些技术组成的网络称为 Overlay 网络&#xff0c;这是一种基于物理网络的虚拟化网络实现。 第一个技术是 GRE&#xff0c;全称 Generic Routing Encapsulation&#xff0c;它是一种 IP-o…

深信服云桌面用户忘记密码后的处理

深信服云桌面用户忘记了密码&#xff0c;分两种情况&#xff0c;一个是忘记了登录深信服云桌面的密码&#xff0c;另外一个是忘记了进入操作系统的密码。 一、忘记了登录深信服云桌面的密码 登录虚拟桌面接入管理系统界面&#xff0c;在用户管理中选择用户后&#xff0c;点击后…

算法练习3——删除有序数组中的重复项

LeetCode 26 删除有序数组中的重复项 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums …

oracle定时任务的使用

常见错误&#xff1a; PLS-00225: subprogram or cursor xxx reference is out of scope # job名字太长PLS-00201: identifier COUNT_JOB.SUBMIT must be declared # DBMS_JOB.SUBMIT是固定写法创建存储过程 -- 建表 CREATE TABLE TEST_A(TEST_ADD_DATA DATE); -- 存储过程 C…

20分钟彻底理解Pointpillars论文-妥妥的

PointPillars: Fast Encoders for Object Detection from Point Clouds PointPillars&#xff1a;快就对了 摘要&#xff08;可跳过&#xff09;&#xff1a; 这帮人提出了PointPillars&#xff0c;一种新颖的编码器&#xff0c;它利用PointNets来学习以垂直列组织的点云&am…

Postgresql 模块插件之pg_stat_statements

相关链接&#xff1a; pgsql编译安装 pgBouncer连接池 一、说明 pg_stat_statements 提供了跟踪服务器执行的所有 SQL 语句的规划和执行统计信息的方法。当 pg_stat_statements 处于活动状态时&#xff0c;它会跟踪服务器上所有数据库的统计信息。该模块收集到的统计数据可以…

一个简单的工具,多种用途—J2L3x的优势

J2L3x 是一款流行的团队合作工具&#xff0c;许多组织和公司已经开始使用它来简化和提高沟通和协作的效率。J2L3x 的优势与其多种用途不无关系&#xff0c;下面将详细介绍。 1、实时通信与信息共享 J2L3x 通过实时通信功能&#xff0c;使团队成员随时随地都能保持联系。J2L3x…

Python 实现 PDF 文件转换为图片 / PaddleOCR

文章用于学习记录 文章目录 前言一、PDF 文件转换为图片二、OCR 图片文字识别提取三、服务器端下载运行 PaddleOCR四、下载权重文件总结 前言 文字识别&#xff08;Optical Character Recognition&#xff0c;简称OCR&#xff09;是指将图片、扫描件或PDF、OFD文档中的打印字符…

【IPC 通信】信号处理接口 Signal API(5)

收发信号思想是 Linux 程序设计特性之一&#xff0c;一个信号可以认为是一种软中断&#xff0c;通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍&#xff0c;从而更好的理解信号编程。 kill(2) 遵循 POSIX.1 - 2008 1.库 …

ThreeJs的场景实现鼠标拖动旋转控制

前面一个章节中已经实现在场景中放置一个正方体&#xff0c;并添加灯光使得正方体可见。但是由于是静态的还不能证明是3D的&#xff0c;我们需要添加一些控制器&#xff0c;使得通过鼠标控制正方体可以动起来&#xff0c;实现真正的3D效果&#xff0c;由此引入OrbitControls组件…

Python15题day13

③continue的好处 break是跳出循环体&#xff0c;continue是跳过continue语句后面的代码块&#xff0c;循环并不停止 题目要求: 使用input函数接受用户的输入&#xff0c;如果用户输入的数值小于等于10&#xff0c;则判断是奇数还是偶数如果数值大于10&#xff0c;则输出“输入…

Flask扩展:简化开发的利器以及26个日常高效开发的第三方模块(库/插件)清单和特点总结

目录 寻找扩展 使用扩展 创建扩展 26个常用的Flask扩展模块 总结 原文&#xff1a;Flask扩展&#xff1a;简化开发的利器以及26个日常高效开发的第三方模块&#xff08;库/插件&#xff09;清单和特点总结 (qq.com) Flask是一个轻量级的Python Web框架&#xff0c;它提供…

【计算机网络】互联网公司的网络架构和业务场景

互联网公司的网络架构和业务场景 1. 互联网公司网络的组成1.1 网络的物理组成1.2 骨干网组成1.3 数据中心网络组成 2.互联网公司网络服务场景2.1 通用服务场景2.1.1 客户端到服务端请求真实网络过程2.1.2 客户端到服务端请求抽象网络过程2.1.3 负载均衡网络模型 2.2 边缘服务场…

python学习之路

python 初识python下载python安装python安装成功 idea中配置python环境并运行我的idea是2022版和上一个有点区别VSCode搭建Python开发环境(含Python环境搭建) 学习python 初识python 当我了解python时我决定试一试 首先了解一下什么是python,推荐廖雪峰老师的官网 python简介 …

C语言连接MySQL并执行SQL语句(hello world)

1.新建一个控制台项目 参考【VS2022 和 VS2010 C语言控制台输出 Hello World】VS2022 和 VS2010 C语言控制台输出 Hello World_vs2022源文件在哪_西晋的no1的博客-CSDN博客 2.安装MySQL 参考【MySQL 8.0.34安装教程】MySQL 8.0.34安装教程_西晋的no1的博客-CSDN博客 3.复制MySQ…

sentinel-dashboard-1.8.0.jar开机自启动脚本

启动阿里巴巴的流控组件控制面板需要运行一个jar包&#xff0c;通常需要运行如下命令&#xff1a; java -server -Xms4G -Xmx4G -Dserver.port8080 -Dcsp.sentinel.dashboard.server127.0.0.1:8080 -Dproject.namesentinel-dashboard -jar sentinel-dashboard-1.8.0.jar &…

计算机视觉 回头重新理解图像中的矩

一、人类的欲望 图像中的矩是一个十分古老的话题,这个东西的出现始于人类的欲望,想要找到一种自动且强大的图像分析方法。 比如我们要在图像中识别某一个物体,而这个物体在不同的成像条件下,表现出的高矮胖瘦方向位置颜色都不可能完全一致,这就为识别带来了巨大的困难,但…

m4a怎么转换mp3?4个方法包教包会

m4a怎么转换mp3&#xff1f;M4A是一种备受欢迎的音频文件格式&#xff0c;通常用于存储高保真音频数据。它代表着“MPEG-4 Audio”扩展名&#xff0c;这意味着它属于基于MPEG-4标准的音频格式之一。M4A格式有着众多的优势。首先&#xff0c;它能够提供出色的音质&#xff0c;并…

Sui主网升级至V1.10.1版本

升级要点 Sui协议版本升至&#xff1a;25 #13822 使用由仪式生成的验证密钥来验证zklogin交易中的证明&#xff0c;升级协议版本至25&#xff0c;启用JWK共识和3个OAuth提供商的zklogin标志。 #13422 在构建具有这些元素的Move代码时&#xff0c;可能会出现关于未使用常量…

中药材商城小程序的作用是什么

古往今来中药材的作用非常大&#xff0c;无论中医院还是相关药材作坊都会有大量人购买&#xff0c;随着互联网电商拓展更多商品类目&#xff0c;中药材也可以通过线上销售&#xff0c;让消费者随时购买到所需商品&#xff0c;商家也能获得更多生意。 那么通过【雨科】平台搭建中…