控制台主机不能运行,切换终端实现RPG运行

 鄙人转载,主要是移植过程中使用小熊猫C++2.25.1 过程中,字符集不同,导致某些空格 从bilibili专栏粘贴导致出现符号不匹配,但是编辑器不能替换

用原来的devc++ 5.11 发现问题,读出额外的英文? 使用文件替换,一键替换了本文件内全部的?。

 

 

 

然后运行

发现不刷新

换用终端取代控制台主机

重新运行,成功

 

去除乱码符号版本

如有侵权请联系在下 

//作者:青节攻 https://www.bilibili.com/read/cv29583226/ spm_id_from=333.999.0.0&jump_opus=1 出处:bilibili#include <stdio.h>#include <windows.h>#include <conio.h>#include <time.h>char ch;int a[80][28]={0};int kill=0,O=0;//o是任务oint X[20]={'\0'},Y[20]={'\0'};//记录敌人坐标 有bug,不能走到左上角0,0处int Accept=0,Accept2=0,Accept3=0;//判断能否接取任务/对话int Judge=0;int coin=0;//金币 //属性变量float h=100,sd=1,sp=1,hit;float *HP=&h,*strong=&sd,*speed=&sp;float time_HP=100;//隐藏光标void HideCursor(){CONSOLE_CURSOR_INFO cursor;   cursor.bVisible = FALSE;   cursor.dwSize = sizeof(cursor);   HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);   SetConsoleCursorInfo(handle, &cursor);} //玩家的坐标 static int xx0=2;static int yy0=13;//颜色 int color(int c){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);return 0;}//坐标void gotoxy(int x,int y){COORD pos;pos.X=x;pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);} void Coin()//金币系统 {gotoxy(43,28);color(15);printf("金币:%d         ",coin);}//随机生成敌人void rand_enemy(){int x,y,i;for(i=0;i<7;i++){x=rand()%75+2;y=rand()%23+2;X[i]=x;Y[i]=y--;color(12);gotoxy(x,y);printf("※"); color(13);gotoxy(x,++y);printf("■");}} //地图设计void Map(){int i,j;for(i=0;i<80;i+=2)//边框 {gotoxy(i,0);color(5);printf("══");gotoxy(i,26);printf("══");}for(i=1;i<26;i++){gotoxy(0,i);color(5);printf("‖");a[0][i]=2;gotoxy(78,i);printf("‖");a[78][i]=2;}} //添加玩家void player(){gotoxy(xx0,yy0);color(14);printf("●");} void mission(int o)//任务 {switch(o){case 0:color(6);gotoxy(85,27);printf("**********当前没有任务**********");kill=0;//防止未接任务就能显示任务完成 gotoxy(85,28);printf("           ");break;	case 1:color(6);gotoxy(85,27);printf("当前任务:处理5个匪徒 %d/5        ",kill);break;}if(kill==5){O=0;color(6);gotoxy(85,27);printf("**********任务完成!**********");gotoxy(85,28);printf("金币+100");Sleep(1000);coin=coin+100;kill=0;Accept=0;}}//NPCvoid NPC(){gotoxy(39,2);color(2);printf("●");//村长 gotoxy(40,13);color(2);printf("●");//牢大 gotoxy(60,6);color(2);printf("●");//小声发 gotoxy(2,16);color(3);printf("⑦");//神像 gotoxy(26,23);color(2);printf("●");//董 gotoxy(14,5);color(2);printf("●");//不知名拳师 }//触发按键void attend(){gotoxy(39,3);color(13);printf("■");gotoxy(40,14);color(13);printf("■");gotoxy(60,7);color(13);printf("■");  gotoxy(77,13);color(4);printf("*");gotoxy(2,17);color(9);printf("Ⅲ");gotoxy(26,24);color(13);printf("■");gotoxy(14,6);color(13);printf("■");} //文本int text(int n){switch(n){case 0:gotoxy(82,10);printf("                    ");gotoxy(82,12);printf("                    ");gotoxy(82,13);printf("                    ");gotoxy(82,18);printf("                    ");gotoxy(82,20);printf("                    ");gotoxy(82,25);printf("                    ");gotoxy(82,26);printf("                    ");gotoxy(82,14);printf("                    ");gotoxy(82,16);printf("                    ");gotoxy(82,15);printf("                    ");break;case 1:if(Accept==0){gotoxy(82,25);printf("按1对话  空格接受任务");gotoxy(82,26);printf("不接受任务可以直接离开");gotoxy(82,10);printf("村长:你是天师派来的人吗?");}if(Accept==0&&ch=='1'||Accept==1){Accept=1;gotoxy(82,25);printf("按1对话  空格接受任务");gotoxy(82,26);printf("不接受任务可以直接离开");gotoxy(82,10);printf("村长:你是天师派来的人吗?");Sleep(250);gotoxy(82,12);printf("村长:最近村子里不太平,有许多山匪作乱");Sleep(400);gotoxy(82,14);printf("村长:你能帮我去清理山里灵活的匪徒吗?");Sleep(500);gotoxy(82,16);color(6);printf("任务:前往黑沙街道处理5个匪徒"); }if(ch==32&&Accept==1)//空格32 {gotoxy(85,18);color(6);printf("**********已接受任务**********"); O=1;Accept++;}if(Accept==2){gotoxy(82,10);color(7);printf("村长:干巴爹勇者桑!          ");Sleep(250);gotoxy(82,12);printf("我:村长收收味            ");gotoxy(82,14);printf("                   ");gotoxy(82,16);printf("                   "); }if(ch==32&&O!=0){gotoxy(82,18);printf("**********任务栏被占用***********"); }break;case 2:gotoxy(82,25);printf("按1对话");gotoxy(82,10);printf("???");if(ch=='1'){gotoxy(82,10);printf("牢大:孩子,你从哪儿来?");Sleep(500);gotoxy(82,12);printf("牢大:就当是劝你吧,");color(13);printf("黑沙街道");color(7);printf("有很多山匪");Sleep(500);gotoxy(82,14);printf("牢大:不要到处乱跑");}break;case 3:gotoxy(82,10);printf("小声发:我到底是不是人啊!");Sleep(500);gotoxy(82,12);printf("我:(看来是已经疯了)");break; case 4:gotoxy(82,10);printf("只要不失去你的崇高");gotoxy(82,12);printf("整个世界都会为你敞开");gotoxy(82,25);printf("按1治疗");			if(ch=='1'){time_HP=*HP;gotoxy(82,14);color(9);printf("生命值已恢复");}break;case 5:gotoxy(82,25);printf("按1对话 按空格升级");gotoxy(82,10);printf("董勇怪戈:新的一年也要努力锻炼啊!?");if(ch=='1'){gotoxy(82,12);printf("董勇怪戈:加油!奥里给!(40金币)");Accept2=1;}if(ch==32&&Accept2==1&&coin>=40){gotoxy(82,14);printf("我:奥里给!");gotoxy(82,16);color(9);printf("*生命值上限提升*");*HP=*HP+15;time_HP=time_HP+15;coin=coin-40;Accept2=0;}else if(ch==32&&Accept2==1&&coin<40) {gotoxy(82,14);printf("董勇怪戈:没关系,要乐观度过每一天!");Accept=0;}break;case 6:gotoxy(82,25);printf("按1对话 按空格升级");gotoxy(82,10);printf("不知名拳师:欧拉欧拉欧拉欧拉!");if(ch=='1'){Accept3=1;gotoxy(82,12);printf("不知名拳师:你要跟我学打拳吗?(20金币)");}if(ch==32&&Accept3==1&&coin>=20){gotoxy(82,14);printf("我:你凭什么假定我不会打拳?");gotoxy(82,16);printf("*你当着拳师的面来了一套闪电五连鞭*"); gotoxy(82,18);color(9);printf("*力量点数提升*");*strong=*strong+2;Accept3=0;coin=coin-20;}else if(ch==32&&Accept3==1&&coin<20){gotoxy(82,14);printf("不知名拳师:你还是去别处学肘击吧!");Accept3=0;}break;}} //触发 void take(){int n;if(xx0==39&&yy0==3)n=1;else if(xx0==40&&yy0==14)n=2;else if(xx0==60&&yy0==7)n=3;else if(xx0==2&&yy0==17)n=4;else if(xx0==26&&yy0==24)n=5;else if(xx0==14&&yy0==6)n=6;else n=0;text(n);}void clear()//清屏 {gotoxy(85,10);printf("                    ");gotoxy(85,12);printf("                    ");gotoxy(85,13);printf("                    ");gotoxy(85,15);printf("                    ");gotoxy(85,20);printf("                    ");gotoxy(85,25);printf("                    ");gotoxy(85,26);printf("                    ");gotoxy(85,14);printf("                    ");gotoxy(85,16);printf("                    ");}void take2()//战斗触发 {int i,n;int hit_enemy,hp;for(i=0;i<20;i++)if(xx0==X[i]&&yy0==Y[i]){int plus;//记录金币加了多少 hit_enemy=rand()%15+10;if(hit-hit_enemy>0&&hit-hit_enemy<10){gotoxy(85,10);printf("你们苦战许久");Sleep(500);gotoxy(85,12);printf("最终由于对方体力不支被你抓住破绽");Sleep(500);gotoxy(85,14);printf("被你一剑毙命");	plus=rand()%10+1;			gotoxy(85,16);color(6);printf("金币+%d",plus);coin=coin+plus;gotoxy(xx0,yy0-1);printf("  ");Sleep(1000);sd=*strong+rand()%5;sp=*speed+rand()%5;time_HP=time_HP-(rand()%10+5);kill++;X[i]=0;Y[i]=0;}if(hit-hit_enemy>10&&hit-hit_enemy<20){gotoxy(85,10);printf("你们交战不久,对面就败下阵来");Sleep(500);gotoxy(85,12);printf("你抓住破绽");Sleep(500);gotoxy(85,14);printf("一剑毙命");			plus=rand()%10+1;			gotoxy(85,16);color(6);printf("金币+%d",plus);coin=coin+plus;gotoxy(xx0,yy0-1);printf("  ");Sleep(1000);sd=*strong+rand()%3;sp=*speed+rand()%3;time_HP=time_HP-(rand()%5+5);kill++;X[i]=0;Y[i]=0;}if(hit-hit_enemy>20){gotoxy(85,10);printf("你一剑封喉");plus=rand()%11+10;			gotoxy(85,16);color(6);printf("金币+%d",plus);coin=coin+plus;gotoxy(xx0,yy0-1);printf("  ");Sleep(750);sd=*strong+rand()%1;sp=*speed+rand()%1;kill++;X[i]=0;Y[i]=0;}if(hit-hit_enemy<0){gotoxy(85,10);printf("你不敌对方");Sleep(500);gotoxy(85,12);printf("艰难逃脱了对方的追击");gotoxy(xx0,yy0-1);printf("  ");time_HP=time_HP-(rand()%30+30);Sleep(500);X[i]=0;Y[i]=0;}clear();Sleep(250);}}//右边的提示框void item(){gotoxy(80,3);color(14);printf("提示信息:↑↓←→控制移动 B回城 I状态栏");gotoxy(80,4);color(2);printf("●是NPC\n"); gotoxy(80,5);color(12);printf("※是敌人\n"); gotoxy(80,6);color(13);printf("■触发对话/战斗 "); } //信息框void info(){int i;color(7);for(i=80;i<120;i++){gotoxy(i,8);printf("_");gotoxy(i,24);printf("_");}} //移动--村子 void move_1(){ch=getch();if(ch==72)//上{gotoxy(xx0,yy0);color(1);printf(" ");NPC();attend();gotoxy(xx0,--yy0);color(14);printf("●");}if(ch==80)//下{gotoxy(xx0,yy0);color(1);printf(" ");NPC();attend();gotoxy(xx0,++yy0);color(14);printf("●");}if(ch==75)//左 {gotoxy(xx0,yy0);color(1);printf(" ");NPC();attend();gotoxy(--xx0,yy0);color(14);printf("●");}if(ch==77)//右{gotoxy(xx0,yy0);color(1);printf(" ");NPC();attend();gotoxy(++xx0,yy0);color(14);printf("●");}	}	 //移动--村子外 void move_2(){ch=getch();if(ch==72)//上{gotoxy(xx0,yy0);color(1);printf(" ");gotoxy(xx0,--yy0);color(14);printf("●");}if(ch==80)//下{gotoxy(xx0,yy0);color(1);printf(" ");gotoxy(xx0,++yy0);color(14);printf("●");}if(ch==75)//左 {gotoxy(xx0,yy0);color(1);printf(" ");gotoxy(--xx0,yy0);color(14);printf("●");}if(ch==77)//右{gotoxy(xx0,yy0);color(1);printf(" ");gotoxy(++xx0,yy0);color(14);printf("●");}	} //回城void back(){gotoxy(xx0,yy0);printf(" ");gotoxy(xx0=2,yy0=13);Sleep(250);color(14);printf("●");ch='\0';//使缓冲区的b消失,避免反复触发回城 gotoxy(2,11);color(9);printf("\\/");gotoxy(2,14);color(9);printf("/\\");Sleep(250);gotoxy(2,11);printf("  ");gotoxy(2,14);printf("  ");gotoxy(80,7);color(15);	printf("****************回家啦!****************");}//属性状态 void player_status(){hit=h*0.2+sd*0.5+sp*0.3;gotoxy(2,27);color(15);printf("生命:%.1f/%.1f",time_HP,*HP);gotoxy(2,28);printf("战力:%.1f          ",hit);if(ch=='i'){color(15);gotoxy(82,10);printf("     生命值上限: %.1f      ",*HP);gotoxy(82,12);printf("     力量:%.1f          ",*strong);gotoxy(82,14);printf("     敏捷:%.1f          ",*speed);gotoxy(82,16);printf("     战力:%.1f          ",hit);}}int main(){//地图一 FLAG:HideCursor();Map();player();NPC();item();attend();info();srand((unsigned int)time(NULL));while(1){	if(xx0==76&&yy0==13){gotoxy(82,10);color(13);printf("    *黑沙街道*");gotoxy(82,12);color(7);printf("    按回车键进入");}Coin();player_status();item();Map();info();if(ch=='b'||ch=='B')back();mission(O);//任务if(time_HP<=0)//判断死亡 {system("cls");gotoxy(50,13);color(12);printf("  你失血过多昏了过去");Sleep(1000);system("cls");Sleep(1000);back();time_HP=30;Judge--;goto FLAG;}if(time_HP<=30){gotoxy(24,27);color(12);printf("*血量过低*");}else{gotoxy(24,27);printf("      ");}if(kbhit()){move_1();gotoxy(80,7);color(7);printf("超级无敌霸王酷炫勇者的x坐标:%2d y坐标:%2d",xx0,yy0);take();if(ch==13&&xx0==76&&yy0==13) //地图2 {system("cls");Map();player();item();info();while(1){	if(xx0==76&&yy0==13){gotoxy(82,10);color(13);printf("    *村庄*");gotoxy(82,12);color(7);printf("    按回车键进入");}Coin();item();Map();info();if(time_HP<=0)//判断死亡 {system("cls");gotoxy(50,13);color(12);printf("  你失血过多昏了过去");Sleep(1000);system("cls");Sleep(1000);back();time_HP=30;Judge--;goto FLAG;}if(time_HP<=30){gotoxy(24,27);color(12);printf("*血量过低*");}else{gotoxy(24,27);printf("      ");}mission(O);//任务 player_status();if(Judge==0)//进图刷敌人 {rand_enemy();++Judge;}if(kbhit()){clear();move_2();gotoxy(80,7);color(7);printf("超级无敌霸王酷炫勇者的x坐标:%2d y坐标:%2d",xx0,yy0);take2();//战斗触发 gotoxy(77,13);color(4);printf("*");//传送门 if(ch=='b'||ch=='B')//地图二回城 {Judge--;back();system("cls");goto FLAG;}if(ch==13&&xx0==76&&yy0==13)//传送  {	system("cls");Judge--;goto FLAG;}}}}}}return 0;} 
//作者:青节攻 https://www.bilibili.com/read/cv29583226/ spm_id_from=333.999.0.0&jump_opus=1 出处:bilibili

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

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

相关文章

延时任务通知服务的设计及实现(二)-- redisson的延迟队列RDelayedQueue

一、接着上文 RDelayedQueue作为redisson封装的一个分布式延迟队列&#xff0c;直接拿来使用还是比较简单的。 本文主要包括以下几部分&#xff1a; 保存至延迟队列&#xff08;生产者&#xff09;读取延迟队列&#xff08;消费者&#xff09;从延迟队列移除任务 二、rediss…

什么品牌的洗地机好用性价比高?高性价比洗地机品牌推荐!

随着科技的发展&#xff0c;智能家居产品逐渐走入我们的生活&#xff0c;洗地机作为其中的代表之一&#xff0c;备受消费者关注。然而&#xff0c;面对市场上众多品牌的扫地机器人&#xff0c;消费者往往难以抉择。那么&#xff0c;洗地机哪个牌子好&#xff1f;为了给大家一个…

Unity 实现新手引导遮罩

Unity 复写OnPopulateMesh 实现新手引导遮罩、包含点击事件触发区域判断 https://download.csdn.net/download/shenliang34/89247117

2024五一数学建模竞赛A题思路讲解

五一数学建模思路 具体思路如下&#xff1a; 提高钢板下料切割过程中的工作效率&#xff0c;是模具加工企业降低成本和增加经济效益的重要途径&#xff0c;其中钢板切割的路径规划是钢板切割过程的一个关键环节。 钢板切割就是使用特殊的切割技术&#xff0c;基于给定的下料切…

MouseBoost PRO for Mac激活版:强大的 鼠标增强软件

在追求高效工作的今天&#xff0c;MouseBoost PRO for Mac成为了许多Mac用户的得力助手。这款功能强大的鼠标增强软件&#xff0c;以其独特的智能化功能和丰富的实用工具&#xff0c;让您的电脑操作更加便捷、高效。 MouseBoost PRO for Macv3.4.0中文激活版下载 MouseBoost PR…

PotatoPie 4.0 实验教程(33) —— FPGA实现摄像头视频图像叠加

链接直达 https://item.taobao.com/item.htm?ftt&id776516984361 什么是视频水印&#xff1f; 视频水印就是图像叠加&#xff0c;跟画中画&#xff0c;或者是OSD是一样的原理&#xff0c;都是在视频的行场数据流上进行替换操作&#xff0c;比如叠加可以直接用水印图的数…

arthas无法捕获到try catch了的异常怎么办呢?

本案例使用的arthas是最新版本3.7.2 要跟踪的代码: 1、arthas watch试下能不能捕获到 页面上请求 http://localhost:8080/exception发现捕获不了。 2、可以使用btrace捕获,能够捕获到 我本案例使用Eclipse编写btrace脚本 ,首先引入btrace的jar包 <dependency> <g…

汽车制造业安全事故频发,如何才能安全进行设计图纸文件外发?

汽车制造业产业链长&#xff0c;关联度高&#xff0c;汽车制造上游行业主要为钢铁、化工等行业&#xff0c;下游主要为个人消 费、基建、客运和军事等。在汽车制造的整个生命周期中&#xff0c;企业与上下游供应商、合作商之间有频繁、密切的数据交换&#xff0c;企业需要将设计…

开发总结-Controller层

Controller层一定要try catch一下&#xff0c;不然里面报的错可能导致程序报错。 catch中就表示有错误就 Return ResultUtils.err(e.getMessage()) 必填项校验 在实体属性中添加注解 NotNull : 用在基本类 型上 不能为null 但可以为空字符串 NotEmpty : 用在集合类上 不能为…

oracle pl/sql 如何让sql windows 显示行号

oracle pl/sql 如何让sql windows 显示行号 下载最新版的pl/sql第一步&#xff0c;在preferences中对sql Windows进行设置&#xff0c;如下所示第二步&#xff0c;在preferences中对User interface进行设置&#xff0c;如下所示结果如下当然&#xff0c;还可以通过右键选择是否…

ccpc热身赛题目1:中文系Roliy的困惑

代码 import java.util.ArrayList; import java.util.Scanner;public class Main {public static void main(String[] args) {ArrayList<String> list new ArrayList<>();char [] charArr new char[32];for (int i 0; i < charArr.length; i) {charArr[i] 0…

OPPO Reno10Pro/Reno11/K10手机强解BL刷root权限KSU内核抓包刷机救砖

OPPO Reno10Pro/Reno11/K10手机虽然发布时间并不久&#xff0c;但由于天玑处理器的体质&#xff0c;已经支持强制解锁BL了&#xff0c;该漏洞来自第三方工具适配&#xff0c;支持OPPO天机8100/8200刷机救砖解锁BL不需要等待官方深度测试直接实现。解锁BL后的OPPO Reno10Pro/Ren…

PC-3000 Mobile Pro: 智能手机及平板设备数据提取及取证工具

天津鸿萌科贸发展有限公司从事数据安全业务20余年&#xff0c;在数据恢复、数据取证、数据备份等领域有丰富的案例经验、前沿专业技术及良好的行业口碑。同时&#xff0c;公司面向取证机构及数据恢复公司&#xff0c;提供数据恢复实验室建设方案&#xff0c;包含数据恢复硬件设…

深度学习之基于Tensorflow卷积神经网络公共区域行人人流密度可视化系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在公共区域&#xff0c;如商场、火车站、地铁站等&#xff0c;人流密度的监控和管理对于确保公共安全…

制作一个RISC-V的操作系统十五-软件定时器

文章目录 定时器分类定时器相关分类软件定时器设计初始化创建删除触发流程图形示意 优化代码 定时器分类 硬件定时器&#xff1a;由硬件频率和触发限制的大小决定&#xff0c;只有一个&#xff0c;精度高 软件定时器&#xff1a;基于硬件定时器实现&#xff0c;精度大于等于硬…

Docker在linux安装步骤超详细

官网 Install Docker Engine on CentOS | Docker Docs yum -y install gcc yum -y install gcc-c 安装工具 sudo yum install -y yum-utils 设置国内的镜像 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yu…

Scala 多版本下载指南

Scala&#xff0c;这一功能丰富的编程语言&#xff0c;结合了面向对象和函数式编程的精华&#xff0c;为开发者提供了强大的工具来构建高效、可扩展的应用程序。随着Scala社区的不断壮大和技术的演进&#xff0c;多个版本的Scala被广泛应用于不同的项目与场景中。本文旨在为您提…

更新-上市公司董事会多样性指标计算参考SMJ2021(代码+数据)1990-2022年

01、数据介绍 董事会多样性&#xff08;Board Diversity&#xff09;是指公司董事会成员在性别、年龄、种族、教育背景、专业技能、国籍等方面的多元化程度。多样性的董事会能够为公司带来更广泛的观点、经验和技能&#xff0c;有助于提高公司的战略决策质量和创新能力。同时&…

ping命令操作记录

1&#xff0c;ping 主机可查看主机是否在线 2&#xff0c;ping -a参数&#xff0c;解析主机的名称 3&#xff0c;ping -r 跟踪打印路由信息 ping命令的作用&#xff1a;确认目标主机是否存活&#xff0c;确定网络是否畅通 ping的原理&#xff1a;ping发送ICMP&#xff08;互联…

深入解析yolov5,为什么算法都是基于yolov5做改进的?(一)

YOLOv5简介 YOLOv5是一种单阶段目标检测算法&#xff0c;它在YOLOv4的基础上引入了多项改进&#xff0c;显著提升了检测的速度和精度。YOLOv5的设计哲学是简洁高效&#xff0c;它有四个版本&#xff1a;YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x&#xff0c;分别对应不同的模型大小…