昨天,我收到了大佬的私信,

说有很多的BUG,

于是我大清早爬起来修BUG,

最终,找出来并修复了大大小小共计5个BUG

存档3个

xwq函数里2个

这里我要感谢【湿布】,

不然我也不会知道哪里有BUG...

话不多说,上代码:

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
const long long wqs=11;
string t;
bool f=1;
struct wj//玩家的结构体
{string name,mm;bool awq[wqs+1];long long bwq[wqs+1];long long dj,jyz,xie,max_xie;long long gj,fy,wq,qian;long long sbl,zbbh[4];void csh(){max_xie=xie=100;gj=25;fy=5;sbl=5;qian=0;dj=0;jyz=0;for(long long i=1;i<=3;i++){zbbh[i]=0;}for(long long i=0;i<=wqs;i++){awq[i]=0;bwq[i]=0;}return ;}
}wj;
struct cd//存档结构体
{void out(){ofstream a("玩家属性.binggan");a<<wj.name<<"\n";a<<wj.mm<<"\n";a<<wj.dj<<"\n";a<<wj.jyz<<"\n";a<<wj.max_xie<<"\n";a<<wj.xie<<"\n";a<<wj.gj<<"\n";a<<wj.fy<<"\n";a<<wj.sbl<<"\n";a<<wj.qian<<"\n";a.close();ofstream b("装备.binggan");b<<wj.zbbh[1]<<"\n"<<wj.zbbh[2]<<"\n"<<wj.zbbh[3]<<"\n\n";for(long long i=1;i<=wqs;i++){b<<wj.awq[i]<<"\n";}b<<"\n";for(long long i=1;i<=wqs;i++){b<<wj.bwq[i]<<"\n";}b.close();return ;}void in(){ifstream a("玩家属性.binggan");a>>wj.name;a>>wj.mm;a>>wj.dj;a>>wj.jyz;a>>wj.max_xie;a>>wj.xie;a>>wj.gj;a>>wj.fy;a>>wj.sbl;a>>wj.qian;a.close();ifstream b("装备.binggan");b>>wj.zbbh[1]>>wj.zbbh[2]>>wj.zbbh[3];for(long long i=1;i<=wqs;i++){b>>wj.awq[i];}for(long long i=1;i<=wqs;i++){b>>wj.bwq[i];}b.close();return ;}
}cd;
struct wq//武器结构体
{string name;long long gj;long long fy;long long sbl;long long qian;
}wq[wqs+1]={{"无",0,0,0,0},{"匕首",10,0,20,0},{"铁剑",30,5,5,100},{"盾",0,30,-5,20},{"铁甲",-5,40,-10,200},{"大砍刀",45,0,5,0},{"锁甲",5,35,10,0},{"矛",50,-3,-5,300},{"斧子",50,0,-10,300},{"流星锤",55,-15,-15,0},{"刺伞",40,30,0,0},{"刺扇",40,15,35,0}
};
struct gw//怪物结构体
{string name;long long xie;long long gj,fy,sbl;long long qian;long long zbl,zbbh;long long jy;
}gw,kl[6]={{"\0",0,0,0,0,0,0,0,0},{"骷髅士兵",80,20,5,5,50,1,50,30},{"骷髅骑士",100,30,5,5,80,2,45,50},{"幽灵骷髅",90,25,0,30,150,wqs,30,60},{"骷髅暴君",180,70,10,5,300,6,55,100},{"骷髅巨人",300,100,20,0,1000,9,75,200}
};
void kshm();
void zjm();
void zd();
void dz(long long);
void sd();
void bb();
void qk();
void rqk();
void wqqk();
void zwq();
void xwq();
void mwq();
void mwq(long long);
void sj();
void out(string,long long);
long long sj(long long);
int main()
{kshm();while(1){system("cls");cout<<"1.存档 2.新建\n";char n;n=getch();system("cls");if(n=='1'){cd.in();cout<<"用户名:";cin>>t;if(t!=wj.name){cout<<"用户名错误!";Sleep(1000);system("cls");continue;}cout<<"密码:";cin>>t;if(t!=wj.mm){cout<<"密码错误!";Sleep(1000);system("cls");continue;}cd.in();break;}elseif(n=='2'){cout<<"用户名:";cin>>wj.name;cout<<"密码:";cin>>wj.mm;wj.csh();break;}else{cout<<"不要乱输入!!!"; }system("cls");}system("cls");while(f){zjm();}cd.out();return 0;
}
void kshm()
{system("color f0");cout<<"按任意键开始游戏";getch();system("cls"); for(long long i=1;i<=3;i++){system("color 07");system("color 10");system("color 20");system("color 30");system("color 40");system("color 50");system("color 60");system("color 70");system("color 80");system("color 90");system("color a0");system("color b0");system("color c0");system("color d0");system("color e0");system("color f0");}cout<<"\n\n\n\n\n\n\n\n\n\n\n                                                      ";out("战斗",300);cout<<"\n";cout<<"                                                   ";out("出品:饼干",30);Sleep(1500);return ;
}
void out(string n,long long s)
{for(long long i=0;i<n.size();i++){cout<<n[i];Sleep(s);}return ;
}
void zjm()
{system("cls");cout<<"1.战斗\n2.商店\n3.背包\n4.退出";char s;s=getch();switch(s){case '1':zd();break;case '2':sd();break;case '3':bb();break;case '4':f=0;break; default:system("cls");cout<<"不要乱输入!!!";Sleep(1000); break;}return ;
}
void zd()
{long long s=sj(100);if(s<=40)dz(1);elseif(s<=65)dz(2);elseif(s<=75)dz(3);elseif(s<=90)dz(4);elsedz(5);return ;
}
void dz(long long bh)
{long long t=wj.sbl>80?80:wj.sbl;bool f=0;char s;system("cls");cout<<"你面对的是"<<kl[bh].name<<"\n";cout<<"血量:"<<kl[bh].xie<<"\n";cout<<"攻击:"<<kl[bh].gj<<"\n";cout<<"防御:"<<kl[bh].fy<<"\n";cout<<"闪避率:"<<kl[bh].sbl<<"%\n";cout<<"1.迎战 2.逃跑";s=getch();while(s!='1'&&s!='2')s=getch();if(s=='2'){if(sj(100)<=50){system("cls");cout<<"逃跑成功!";Sleep(1500);return ;}else{system("cls");cout<<"逃跑失败!";Sleep(1500);}}gw=kl[bh];system("cls");for(long long i=1;1;i++){cout<<"第"<<i<<"回合\n\n\n"; cout<<"你的血量:"<<wj.xie<<"\n";cout<<gw.name<<"的血量"<<gw.xie<<"\n"; cout<<"1.攻击 2.治疗\n";s=getch();while(s!='1'&&s!='2')s=getch();if(s=='1'){if(gw.sbl>=sj(100)){cout<<gw.name<<"闪避了你的攻击\n";}elseif(gw.fy>=wj.gj){cout<<gw.name<<"防御下了你的攻击\n"; }else{cout<<gw.name<<"的血量-"<<wj.gj-gw.fy<<"\n";gw.xie-=wj.gj-gw.fy;}}else{if(wj.xie+20>=wj.max_xie){cout<<"已回满!\n";wj.xie=wj.max_xie;}else{cout<<"你的血量+20\n";wj.xie+=20;}}if(gw.xie<=0){system("cls");cout<<"胜利!\n";cout<<"你获得了"<<gw.qian<<"金币\n";cout<<"你获得了"<<gw.jy<<"经验值\n\n";wj.qian+=gw.qian;wj.jyz+=gw.jy;cout<<"按空格键继续";while(getch()!=' ');sj();return ;}if(t>=sj(100)){cout<<"你闪避了"<<gw.name<<"的攻击\n";}elseif(wj.fy>=gw.gj){cout<<"你防御下了"<<gw.name<<"的攻击\n";}else{cout<<"你的血量-"<<gw.gj-wj.fy<<"\n";wj.xie-=gw.gj-wj.fy;}if(wj.xie<=0){system("cls");cout<<"你战死了!\n";wj.xie=0;Sleep(1000);return ;}Sleep(1000);system("cls");}return ;
}
void sj()
{while(wj.jyz>=100&&wj.dj!=10){system("cls");wj.gj+=2;wj.fy+=1;wj.dj++;wj.jyz-=100;wj.max_xie+=10;wj.xie=wj.max_xie;wj.sbl+=1;out("你升级了!\n",30);out("血量上限+10\n",30);out("伤害+2\n",30);out("防御+1\n",30);out("闪避率+1\n\n",30);cout<<"按空格继续";while(getch()!=' '); }return ;
}
void sd()
{long long t;while(1){system("cls");cout<<"欢迎来到本【饼干】商店!\n\n";cout<<"你有"<<wj.qian<<"金币\n";cout<<"1.武器 2.药品(30元/个,每个补50血量) 3.退出";char s;s=getch();while(s!='1'&&s!='2'&&s!='3')s=getch();if(s=='1'){mwq();}elseif(s=='2'){system("cls");cout<<"要不要帮你补满血量?(y/n)";s=getch();while(s!='y'&&s!='n')s=getch();if(s=='y'){if((wj.max_xie-wj.xie)%50==0){if((wj.max_xie-wj.xie)/50*30<=wj.qian){system("cls");cout<<"已回满!";wj.qian-=(wj.max_xie-wj.xie)/50*30;wj.xie=wj.max_xie;Sleep(1000);}else{system("cls");cout<<"钱不够!";Sleep(1000);system("cls");}}else{if(((wj.max_xie-wj.xie)/50+1)*30<=wj.qian){system("cls");cout<<"已回满!";wj.qian-=((wj.max_xie-wj.xie)/50+1)*30;wj.xie=wj.max_xie;Sleep(1000);}else{system("cls");cout<<"钱不够!";Sleep(1000);system("cls");}}}else{system("cls");cout<<"金币"<<wj.qian<<"\n";cout<<"血量:"<<wj.xie<<"/"<<wj.max_xie<<"\n";cout<<"你要买几个?\n";cin>>t;if(t*30<=wj.qian){system("cls");wj.xie+=t*30;if(wj.xie>wj.max_xie)wj.xie=wj.max_xie;cout<<"够买成功!";Sleep(1000);system("cls");}else{system("cls");cout<<"钱不够!";Sleep(1000);system("cls");}}}else{system("cls"); cout<<"欢迎下次光临!";Sleep(1000);system("cls");return ;}}return ;
}
void mwq()
{system("cls");cout<<"金币:"<<wj.qian<<"\n\n";cout<<"0.退出\n";cout<<"1.盾(20金币)\n";cout<<"2.铁剑(100金币)\n";cout<<"3.矛(300金币)\n";cout<<"4.斧子(300金币)\n";cout<<"5.铁甲(200金币)\n";char s;s=getch();while(s!='1'&&s!='2'&&s!='3'&&s!='4'&&s!='5'&&s!='0')s=getch();if(s=='0'){system("cls");return ;}switch(s){case '1':mwq(3);break;case '2':mwq(2);break;case '3':mwq(7);break;case '4':mwq(8);break;case '5':mwq(4);}return ;
}
void mwq(long long n)
{system("cls");if(wj.qian>=wq[n].qian){cout<<"购买成功!\n";wj.bwq[n]++;wj.awq[n]=1;wj.qian-=wq[n].qian;Sleep(1000);system("cls");}else{cout<<"钱不够!\n";Sleep(1000);system("cls");}return ;
}
void bb()
{while(1){system("cls");cout<<"1.查看情况\n2.装上装备\n3.卸下装备\n4.退出";char s;s=getch();while(s!='1'&&s!='2'&&s!='3'&&s!='4')s=getch();switch(s){case '1':qk();break;case '2':zwq();break;case '3':xwq();break;case '4':system("cls");return ;}}return ;
}
void qk()
{while(1){system("cls");cout<<"1.玩家情况 2.武器情况 3.退出";char s;s=getch();while(s!='1'&&s!='2'&&s!='3')s=getch();switch(s){case '1':rqk();break;case '2':wqqk();break;case '3':system("cls");return ;}}return ;
}
void rqk()
{system("cls");cout<<"用户名:"<<wj.name<<"\n";cout<<"等级:"<<wj.dj;if(wj.dj==10)cout<<"(max)";cout<<"\n";if(wj.dj!=10)cout<<"经验值:"<<wj.jyz<<"/100";cout<<"\n";cout<<"血量:"<<wj.xie<<"/"<<wj.max_xie<<"\n";cout<<"攻击:"<<wj.gj<<"\n";cout<<"防御:"<<wj.fy<<"\n";cout<<"闪避率:";if(wj.sbl>=80)cout<<"80";elseif(wj.sbl<=0)cout<<"0";elsecout<<wj.sbl;cout<<"%\n"; cout<<"金币:"<<wj.qian<<"\n";cout<<"装备:"<<"|"<<wq[wj.zbbh[1]].name<<"|"<<wq[wj.zbbh[2]].name<<"|"<<wq[wj.zbbh[3]].name<<"|"<<"\n";cout<<"其他装备:\n";bool f=1;for(long long i=1;i<=wqs;i++){if(wj.bwq[i]>=1){f=0;cout<<wq[i].name<<"*"<<wj.bwq[i]<<"\n";}}if(f)cout<<"无";cout<<"\n\n按空格继续...\n";char s;s=getch();while(s!=' ')s=getch();return ;
}
void wqqk()
{while(1){system("cls");long long s;do{system("cls");cout<<"0.退出\n";for(long long i=1;i<=wqs;i++){cout<<i<<"."<<wq[i].name<<"\n";}cin>>s;}while(0>s||s>wqs);if(s==0)return ;system("cls");cout<<"装备名:"<<wq[s].name<<"\n";cout<<"伤害:"<<wq[s].gj<<"\n";cout<<"防御:"<<wq[s].fy<<"\n";cout<<"闪避率:"<<wq[s].sbl<<"%\n";cout<<"\n\n按空格继续\n";char t;t=getch();while(t!=' ')t=getch();}return ;
}
void zwq()
{long long s,n;char t;while(1){system("cls");cout<<"0.退出\n";for(long long i=1;i<=wqs;i++){if(wj.bwq[i]>=1){cout<<i<<"."<<wq[i].name<<"*"<<wj.bwq[i]<<"\n";}}cin>>s;while(0>s||s>wqs){system("cls");cout<<"0.退出\n";for(long long i=1;i<=wqs;i++){if(wj.bwq[i]>=1){cout<<i<<"."<<wq[i].name<<"*"<<wj.bwq[i]<<"\n";}}cin>>s;}if(s==0)return ;n=s;if(wj.bwq[s]>=1){system("cls");cout<<"你要装在哪个格子里?\n";cout<<"|"<<wq[wj.zbbh[1]].name<<"|"<<wq[wj.zbbh[2]].name<<"|"<<wq[wj.zbbh[3]].name<<"|";t=getch();while(t!='1'&&t!='2'&&t!='3')t=getch();s=t-'0';if(wq[wj.zbbh[s]].name!="无"){system("cls");cout<<"这个格子已经有武器了!\n";cout<<"是否替换?(y/n)";t=getch();while(t!='y'&&t!='n')t=getch();if(t=='y'){wj.gj-=wq[wj.zbbh[s]].gj;wj.fy-=wq[wj.zbbh[s]].fy;wj.sbl-=wq[wj.zbbh[s]].sbl;wj.bwq[wj.zbbh[s]]++;wj.zbbh[s]=n;wj.bwq[n]--;wj.gj+=wq[n].gj;wj.fy+=wq[n].fy;wj.sbl+=wq[n].sbl;system("cls");out("成功替换!",30);Sleep(1000);}else{system("cls");continue;}}else{wj.gj+=wq[n].gj;wj.fy+=wq[n].fy;wj.sbl+=wq[n].sbl;wj.zbbh[s]=n;wj.bwq[n]--;system("cls");out("成功装备!",30);Sleep(1000);}}else{system("cls");cout<<"你没有这个装备!";Sleep(1000);system("cls");}}return ;
}
void xwq()
{long long t;char s;while(1){system("cls");cout<<"你要卸下哪个格子里的装备?\n";cout<<"0.退出\n";cout<<"|"<<wq[wj.zbbh[1]].name<<"|"<<wq[wj.zbbh[2]].name<<"|"<<wq[wj.zbbh[3]].name<<"|";s=getch();while(s!='0'&&s!='1'&&s!='2'&&s!='3')s=getch();if(s=='0'){system("cls");return ;}t=s-'0';if(wj.zbbh[t]==0){system("cls");cout<<"此格子内无装备!";Sleep(1000);continue;}wj.gj-=wq[wj.zbbh[t]].gj;wj.fy-=wq[wj.zbbh[t]].fy;wj.sbl-=wq[wj.zbbh[t]].sbl;wj.bwq[wj.zbbh[t]]++;wj.zbbh[t]=0;system("cls");out("成功卸下!",30);Sleep(1000);}return ;
}
long long sj(long long s)
{srand(time(0));return rand()%s+1;
}

建议把原先的存档的后缀名为.binggan的两个文件给删了,

因为,原先的存档读入和输出都有BUG

大家如果觉得我写得好

请点赞、收藏、关注我哦!

声明:


以上是我原创的代码,请勿抄袭,转载请标明作者!!!

【Devc++】战斗1.0.1相关推荐

  1. C语言学习1:从下载编译软件开始!DEV-C++、VC6.0、VS2010、VS2017等编译器的下载(Windows系统)

    目录 1.前言 2.安装配置环境(可忽略) 3.DEV-C++ 的安装 4.VC6.0的安装 5.其他编译器的下载与安装 1.前言: 学会使用编译器是学习C语言过程中不可或缺的一部分.笔者在此列举了 ...

  2. DEVc++迷你世界0.10.0

    迷你世界代码: #include <windows.h> #include <tchar.h> #include <iostream> #include<cs ...

  3. 估算带卷积核二分类0,3的网络的收敛时间和迭代次数

    制作一个网络分类minst的0和3求出这网络的迭代次数曲线表达式n(δ),和准确率表达式p-max(δ),用预期准确率去估算n,并推算需要的时间. 将minst的28*28的图片缩小到9*9,网络用一 ...

  4. Compute the Greatest Common Divisor of Two Integers using Sieve of Eratosthenes.

    用埃拉托色尼筛选法计算两个整数的最大公约数 最近在回顾算法,会相继贴一些自己写的代码,希望在分享的同时,能够得到观看者的指教,以求共同进步. 以下为我写的程序,运行环境:Dev-C++ 5.4.0. ...

  5. 希尔排序(Shell's Sort)的C语言实现

    原创文章,转载请注明来自钢铁侠Mac博客http://www.cnblogs.com/gangtiexia 希尔排序(Shell's Sort)又称"缩小增量排序"(Diminis ...

  6. sizeof和strlen的区别

    一.一些废话 关于sizeof和strlen这两者的区别之前自己也是模糊不清,分不清谁的计算结果包含\0,谁的计算结果不包含\0,因此写下自己的一些理解,有错误的地方希望大家指出. 二.一些理论 首先 ...

  7. 指针与数组的关系---初始化

    指针与数组的关系 一维数组的长度 数组不定义长度初始化 #include<stdio.h>int main(){int a[]={12,34,65,9};int *p;printf(&qu ...

  8. Dev C++环境中使用OpenGL

    引入 dev-c++实际上已经包含了开发opengl程序基本的功能可以简单的选择:新建-multimedia-opengl,建立一个opengl程序. 这个程序包含了基本的opengl程序的结构,包括 ...

  9. 操作系统实验四:C++实现独占设备的分配与回收算法模拟

    目录 一.实验要求 1.实验名称 2.实验目的 3.实验内容 二.实验图解 三.实验代码 四.实验数据 1.设备插入功能 2.回收程序功能 3.查找功能 一.实验要求 1.实验名称 独占设备的分配与回 ...

  10. C语言学习2:Hello World!详解

    目录 1.Hello World ! 代码 2.代码详解 3.用DEV-C++新建C文件 4.代码的编译及运行 1.Hello World !代码: #include <stdio.h>/ ...

最新文章

  1. 北京大兴要打造成未来科技新中心?
  2. IHttpHandler的妙用(1):给图片添加水印
  3. GPU — 物理 GPU 虚拟化技术
  4. rsync的基本使用
  5. Python requests 抓取网页状态返回418(亲测)
  6. 顺序程序设计03 - 零基础入门学习C语言09
  7. DB2数据库中DB2字符串类型
  8. 相干光通信系统的调制与解调
  9. json的的解析方法
  10. 提高开发效率的十五个Visual Studio 2010使用技巧
  11. JS监听页面刷新及阻止页面刷新
  12. 谷歌浏览器无法上网,其他浏览器正常,换chrome搜索引擎
  13. LeetCode 每日一题 781. 森林中的兔子
  14. 怎么讲计算机屏幕录制,电脑如何录制屏幕
  15. 我的并行计算之路(二)MPI点对点通信MPI_Send和MPI_Recv
  16. web网页设计实例作业——代码质量好-上海介绍(5页) HTML+CSS+JavaScript(含源码)
  17. word文档中表格顶头怎么调整_教你用Word制作专用信纸,轻松几步就完成
  18. LATEX教程第四讲——那些不得不说的宏包(下)
  19. 京东/淘宝客服对话数据公开,seq2seq生成模型设计对话系统获第二名!
  20. 倍加福UB300-18GM40-U-V1超声波传感器

热门文章

  1. 干货 | Elasticsearch 索引生命周期管理 ILM 实战指南
  2. 曼达洛人对机器人的评价_我们请来了五位星战粉,来一起听听他们对于《曼达洛人》第一季的感想吧...
  3. 产品经理:能不能让这串数字滚动起来?
  4. 系列推荐 |《最强的 VLC 多媒体开发教程》
  5. Working With JSON
  6. Facebook 前端技术栈重构分享
  7. 动态设置html字号,html动态字体
  8. java怎么实现华为云文字识别,OCR文字识别服务快速入门教程
  9. python微信公众号秒杀代码_微信跳一跳辅助python代码实现
  10. 微信小程序开发基础知识2(黑马)