黄戈 • 2个月前
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
struct js{
int jinqian=0;
int dengji=1;
double gongji=5,fangyu=2;
double xueliang=10;
double ysxueliang=10;
string xingming;
};
struct gv{
double gongji,fangyu;
double xueliang;
};
void setsize(int col ,int row){
char cmd[64];
sprintf(cmd,"mode con cols=%d lines=%d",col,row);
system(cmd);
}
void slowsay(const char*a,int speed=35){
int alen=strlen(a);
for(int i=0;i<alen;i++){
_sleep(speed);
cout<<a[i];
}
}
bool aorpo;
int yx;
int ms=0;
int main(){
srand(time(0));
setsize(56,30);
int gwsjxl=rand();
gv gw;
js wj;
FILE *fp=fopen("./cundang.txt","r");
if(fp){
slowsay("检测到你有可用存档,是否启用?(启用输入1,不启用输入0)\n");
cin>>aorpo;
if(aorpo){
for(int i=1;i<10;i++){
if(i%3==0){
system("cls");
cout<<"正在读取存档中...";
_sleep(500);
}
if(i%3==1){
system("cls");
cout<<"正在读取存档中.";
_sleep(500);
}
if(i%3==2){
system("cls");
cout<<"正在读取存档中..";
_sleep(500);
}
}
int jq;
int dj;
int yxa;
double gj,fy,xl,ysxl;
char xm[1145];
fscanf(fp,"%d%d%lf%lf%lf%lf%s%d",&jq,&dj,&gj,&fy,&xl,&ysxl,xm,&yxa);
fclose(fp);
wj.jinqian=jq;
wj.dengji=dj;
wj.fangyu=fy;
wj.gongji=gj;
wj.xueliang=xl;
wj.ysxueliang=ysxl;
yx=yxa;
int oop=strlen(xm);
for(int i=0;i<oop;i++){
wj.xingming+=xm[i];
}
slowsay("读取成功!");
_sleep(3000);
}
}
if(aorpo!=1){
slowsay("请输入您的姓名:\n");
cin>>wj.xingming;
cout<<endl;
slowsay("请选择模式()\n");
slowsay("1 普通模式\n");
slowsay("2 作弊模式\n");
slowsay("温馨提示:作弊是有代价的,请勿作弊!\n");
cin>>yx;
}
if(yx==1){
system("cls");
slowsay("你已启用普通模式!");
cout<<endl;
while(1){
int o;
cout<<"--------------------------------------------------------"<<endl;
cout<<"1 战斗"<<endl<<"2 查询个人信息"<<endl<<"3 关注作者"<<endl<<"4 小卖部"<<endl<<"5 存档"<<endl<<"0 退出游戏"<<endl;
cout<<"--------------------------------------------------------"<<endl<<endl;
cin>>o;
if(o==0){
cout<<endl;
cout<<"--------------------------------------------------------"<<endl;
cout<<"感谢游玩!"<<endl;
cout<<"--------------------------------------------------------"<<endl<<endl;
return 0;
}
if(o==3){
system("cls");
slowsay("想啥呢");
}
else if(o==2){
system("cls");
cout<<"--------------------------------------------------------"<<endl;
cout<<"姓名:"<<wj.xingming<<endl<<"等级:"<<wj.dengji<<endl<<"金币:"<<wj.jinqian<<endl<<"攻击力:"<<wj.gongji<<endl<<"防御力:"<<wj.fangyu<<endl;
cout<<"--------------------------------------------------------"<<endl<<endl;
}
else if(o==1){
system("cls");
slowsay("请选择难度()");
cout<<endl;
int nd;
cout<<"--------------------------------------------------------"<<endl;
cout<<"1 简单"<<endl<<"2 普通(未开发,别选!选了死翘翘)"<<endl<<"3 地狱(未开发,别选!选了死翘翘)"<<endl;
cout<<endl;
cout<<"--------------------------------------------------------"<<endl<<endl;
cin>>nd;
if(nd==2||nd==3){
printf(
" ********\n"
" ***********\n"
" ************\n"
" ****************\n"
" *****\----------/\n"
" *****----------\n"
" ######### \n"
" ####*******###### \n"
" ...#***.****.***#....\n"
" ....************.....\n"
" ....**** *****....\n"
" #### ####\n"
" ###### ######\n"
);
slowsay("都说了别点了,快输入1145回去!\n");
string sb;
cin>>sb;
if(sb=="1145"){
system("cls");
slowsay("幸好你选了,不然死定了!\n");
}
else{
system("cls");
for(int i=1;i<10;i++){
if(i%3==0){
system("cls");
cout<<"正在执行关机指令...";
_sleep(500);
}
if(i%3==1){
system("cls");
cout<<"正在执行关机指令.";
_sleep(500);
}
if(i%3==2){
system("cls");
cout<<"正在执行关机指令..";
_sleep(500);
}
}
slowsay("执行成功!");
system("shutdown /t");
}
}
if(nd==1){
system("cls");
cout<<"--------------------------------------------------------"<<endl<<endl;
slowsay("菜坤迎面而来!") ;
cout<<endl<<endl;
gwsjxl=rand();
gwsjxl=rand();
gwsjxl=rand();
int gwsjx;
gwsjx=rand();
gwsjx=rand();
gwsjx=rand();
gw.xueliang=gwsjxl%int(wj.xueliang)+5;
gw.gongji=gwsjx%int(wj.gongji)+wj.gongji/2;
gw.fangyu=gwsjx%int(wj.fangyu)%int(wj.xueliang);
bool pdd=1,oooo=1;
while(gw.xueliang>0){
if(wj.xueliang<=0){
int u=rand()%(wj.jinqian+10);
cout<<endl;
cout<<"你被菜坤杀死了,金币扣除"<<u<<"点!"<<endl;
oooo=0;
wj.jinqian-=u;
break;
}
cout<<endl<<endl;
printf(
" ********\n"
" ***********\n"
" ************\n"
" ****************\n"
" *****\----/*****\n"
" *****----*****\n"
" ######### \n"
" ####*******###### \n"
" ...#***.****.***#....\n"
" ....************.....\n"
" ....**** *****....\n"
" #### ####\n"
" ###### ######\n"
);
cout<<endl;
cout<<" "<<"血量"<<gw.xueliang;
cout<<endl<<endl<<endl;
cout<<"怪物迎面而来!你要做什么?";
cout<<endl<<endl;
cout<<" 剩余血量:"<<wj.xueliang<<endl;
cout<<"1 攻击 2 查询怪物信息"<<endl;
cout<<"3 饶恕 4 返回主页"<<endl;
int ooo;
cin>>ooo;
system("cls");
if(ooo==1){
if(wj.gongji>=gw.fangyu){
cout<<"你对怪物造成了"<<wj.gongji-gw.fangyu<<"点伤害!";
gw.xueliang-=wj.gongji-gw.fangyu;
}
else{
cout<<"你对怪物造成了"<<0<<"点伤害!";
}
}
else if(ooo==2){
system("cls");
cout<<"--------------------------------------------------------"<<endl<<endl;
cout<<"姓名:菜坤"<<endl;
cout<<"攻击:" <<gw.gongji<<endl;
cout<<"防御:" <<gw.fangyu<<endl;
cout<<"被称为最fw的对手"<<endl<<endl;
cout<<"--------------------------------------------------------"<<endl<<endl;
_sleep(5000);
}
else if (ooo==3){
slowsay("你饶恕了菜坤!");
gwsjxl=rand();
cout<<"你获得了"<<gwsjxl%20*2<<"个金币!"<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
wj.jinqian+=gwsjxl%20*2;
pdd=0;
break;
}
if(wj.fangyu<=gw.gongji){
cout<<endl<<endl;
cout<<"怪物对你造成了" <<gw.gongji-wj.fangyu<<"点伤害!";
wj.xueliang-=gw.gongji-wj.fangyu;
}
else{
cout<<endl<<endl;
cout<<"怪物对你造成了" <<0<<"点伤害!";
}
}
if(pdd&&oooo){
gwsjxl=rand();
gwsjxl=rand();
gwsjxl=rand();
cout<<"怪物已阵亡,你获得了"<<gwsjxl%10<<"个金币!"<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
wj.jinqian+=gwsjxl%10;
}
wj.xueliang=wj.ysxueliang;
}
}
else if(o==4){
system("cls");
setsize(65,30);
slowsay("嗨嗨嗨,欢迎来到膳食大跌和帕帕拉屎小天使的小卖部!输入0退出商店\n\n");
cout<<" --------------------------------------------------------"<<endl;
cout<<"/ 小卖部 /"<<endl;
cout<<"--------------------------------------------------------"<<endl;
printf(
"| ********\n"
"| * *\n"
"| * *\n"
"| * 膳食大跌 *\n"
"| * *\n"
"| * *\n"
"| ######### \n"
"| ####*******###### \n"
"| ...#***.****.***#....\n"
"| ....************.....\n"
"| ....**** *****....\n"
"| #### ####\n"
"| ###### ######\n"
);
cout<<endl<<endl<<endl;
slowsay("1 提米盔甲(增加5点防御) ----- 30金币\n\n" );
slowsay("2 qiqi的鸡蛋(增加5点攻击) ----- 35金币\n\n") ;
slowsay("3 q3君的盔甲(防御乘上1.5) ----- 105金币\n\n") ;
slowsay("4 undyne的长矛(攻击乘上2) ----- 180金币\n\n" );
int shabi;
cin>>shabi;
if(shabi==0){
system("cls");
slowsay("膳食大跌偷偷地说:这个傻*终于走了");
_sleep(2000);
}
else if(shabi==1){
if(wj.jinqian<30){
system("cls");
slowsay("em,似乎膳食大跌说你钱不够,叫你滚\n");
}
else{
system("cls");
slowsay("成功购买!!!!!!\n" );
wj.fangyu+=5;
wj.jinqian-=30;
cout<<"你现在只有"<<wj.jinqian<<"块钱了!\n";
}
}
else if(shabi==2){
if(wj.jinqian<35){
system("cls");
slowsay("em,似乎膳食大跌说你钱不够,叫你滚\n");
}
else{
system("cls");
slowsay("成功购买!!!!!!\n" );
wj.gongji+=5;
wj.jinqian-=35;
cout<<"你现在只有"<<wj.jinqian<<"块钱了!\n";
}
}
else if(shabi==3){
if(wj.jinqian<105){
system("cls");
slowsay("em,似乎膳食大跌说你钱不够,叫你滚\n");
}
else{
system("cls");
slowsay("成功购买!!!!!!\n" );
wj.fangyu*=1.5;
wj.jinqian-=105;
cout<<"你现在只有"<<wj.jinqian<<"块钱了!\n";
}
}
else if(shabi==4){
if(wj.jinqian<180){
system("cls");
slowsay("em,似乎膳食大跌说你钱不够,叫你滚\n");
}
else{
system("cls");
slowsay("成功购买!!!!!!\n" );
wj.gongji*=2;
wj.jinqian-=180;
cout<<"你现在只有"<<wj.jinqian<<"块钱了!\n";
}
}
setsize(56,30);
}
else if(o==5){
int jq=wj.jinqian;
int dj=wj.dengji;
double gj=wj.gongji,fy=wj.fangyu,xl=wj.xueliang,ysxl=wj.ysxueliang;
int wjxmcd=wj.xingming.length();
int yx=1;
char xm[1145];
for(int i=0;i<wjxmcd;i++){
xm[i]=wj.xingming[i];
}
FILE*fp=fopen("./cundang.txt","w");
if(!fp){
slowsay("存档失败!\n");
}
fprintf(fp,"%d %d %lf %lf %lf %lf %s %d\n",jq,dj,gj,fy,xl,ysxl,xm,yx);
fclose(fp);
for(int i=1;i<10;i++){
if(i%3==0){
system("cls");
cout<<"正在存档中...";
_sleep(500);
}
if(i%3==1){
system("cls");
cout<<"正在存档中.";
_sleep(500);
}
if(i%3==2){
system("cls");
cout<<"正在存档中..";
_sleep(500);
}
}
cout<<"存档成功!";
_sleep(3000);
system("cls");
}
else{
system("cls");
cout<<"6,你**在干什么?"<<endl;
}
}
}
else if(yx==2){
slowsay("傻逼,想尼玛作弊\n");
system("shutdown /t");
}
// else if(yx==2){
// system("cls");
// slowsay("你已启用作弊模式!";
// cout<<endl;
// wj.jinqian=114514;
// wj.dengji=99;
// wj.gongji=1145,wj.fangyu=5418;
// wj.xueliang=114514.1145;
// while(1){
// wj.ysxueliang=wj.xueliang;
// char o;
// cout<<wj.xingming<<",您想去做什么?"<<endl;
// cout<<endl;
// slowsay("--------------------------------------------------------"<<endl;
// slowsay("1 战斗"<<endl<<"2 查询个人信息"<<endl<<"3 关注作者"<<endl<<"4 小卖部"<<endl<<"5 存档"<<endl<<"0 退出游戏"<<endl;
// slowsay("--------------------------------------------------------"<<endl<<endl;
// cin>>o;
// if(o=='0'){
// cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
// slowsay("--------------------------------------------------------"<<endl;
// slowsay("感谢游玩!"<<endl;
// slowsay("--------------------------------------------------------"<<endl<<endl;
// return 0;
// }
// else if(o=='2'){
// system("cls");
// slowsay("--------------------------------------------------------"<<endl;
// slowsay("姓名:"<<wj.xingming<<endl<<"等级:"<<wj.dengji<<endl<<"金币:"<<wj.jinqian<<endl<<"攻击力:"<<wj.gongji<<endl<<"防御力:"<<wj.fangyu<<endl;
// slowsay("--------------------------------------------------------"<<endl<<endl;
// }
// else if(o=='1'){
// system("cls");
// slowsay("请选择难度()";
// cout<<endl;
// int nd;
// slowsay("--------------------------------------------------------"<<endl;
// slowsay("1 简单"<<endl<<"2 普通(未开发,别选!选了死翘翘)"<<endl<<"3 地狱(未开发,别选!选了死翘翘)"<<endl;
// cout<<endl;
// slowsay("--------------------------------------------------------"<<endl<<endl;
// cin>>nd;
// if(nd==2||nd==3){
// printf(
// " ********\n"
// " ***********\n"
// " ************\n"
// " ****************\n"
// " *****\----------/\n"
// " *****----------\n"
// " ######### \n"
// " ####*******###### \n"
// " ...#***.****.***#....\n"
// " ....************.....\n"
// " ....**** *****....\n"
// " #### ####\n"
// " ###### ######\n"
// );
// slowsay("都说了别点了,快输入1145回去!"<<endl;
// string sb;
// cin>>sb;
// if(sb=="1145"){
// system("cls");
// slowsay("幸好你选了,不然死定了!"<<endl;
// }
// else{
// system("cls");
// for(int i=1;i<10;i++){
// if(i%3==0){
// system("cls");
// slowsay("正在执行关机指令...";
// _sleep(500);
// }
// if(i%3==1){
// system("cls");
// slowsay("正在执行关机指令.";
// _sleep(500);
// }
// if(i%3==2){
// system("cls");
// slowsay("正在执行关机指令..";
// _sleep(500);
// }
// }
// system("shutdown /s");
// slowsay("执行成功!";
// while(1){
// slowsay("";
// }
// }
// }
// if(nd==1){
// cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
// system("cls");
// slowsay("--------------------------------------------------------"<<endl<<endl;
// slowsay("菜坤迎面而来!" ;
// cout<<endl<<endl;
// gwsjxl=rand();
// gwsjxl=rand();
// gwsjxl=rand();
// int gwsjx;
// gwsjx=rand();
// gwsjx=rand();
// gwsjx=rand();
// gw.xueliang=gwsjxl%int(wj.xueliang)+5;
// gw.gongji=gwsjx%int(wj.gongji)+wj.gongji/2*1.5;
// gw.fangyu=gwsjx%int(wj.fangyu)%int(wj.xueliang);
// bool pdd=1;
// bool opp=1;
// while(gw.xueliang>0){
// cout<<endl<<endl;
// if(wj.xueliang<=0){
// system("cls");
// slowsay("你!死!了!";
// cout<<endl;
// slowsay("金!币!扣!除!100!个!" ;
// opp=0;
// wj.jinqian-=100;
// break;
// }
// printf(
// " ********\n"
// " ***********\n"
// " ************\n"
// " ****************\n"
// " *****\----/*****\n"
// " *****----*****\n"
// " ######### \n"
// " ####*******###### \n"
// " ...#***.****.***#....\n"
// " ....************.....\n"
// " ....**** *****....\n"
// " #### ####\n"
// " ###### ######\n"
// );
// cout<<endl;
// slowsay(" "<<"血量"<<gw.xueliang;
// cout<<endl<<endl<<endl;
// slowsay("怪物迎面而来!你要做什么?";
// cout<<endl<<endl;
// slowsay(" 剩余血量:"<<wj.xueliang<<endl;
// slowsay("1 攻击 2 查询怪物信息"<<endl;
// slowsay("3 饶恕 4 返回主页"<<endl;
// int ooo;
// cin>>ooo;
// system("cls");
// if(ooo==1){
// if(wj.gongji>=gw.fangyu){
// slowsay("你对怪物造成了"<<wj.gongji-gw.fangyu<<"点伤害!";
// gw.xueliang-=wj.gongji-gw.fangyu;
// }
// else{
// slowsay("你对怪物造成了"<<0<<"点伤害!";
// }
// slowsay("对方穿了反甲,你被扣了"<<wj.gongji/4<<"滴血!";
// wj.xueliang-=wj.gongji/2;
// }
// else if(ooo==2){
// system("cls");
// slowsay("--------------------------------------------------------"<<endl<<endl;
// slowsay("姓名:菜坤"<<endl;
// slowsay("攻击:" <<gw.gongji<<endl;
// slowsay("防御:" <<gw.fangyu<<endl;
// slowsay("被称为最fw的对手"<<endl<<endl;
// slowsay("--------------------------------------------------------"<<endl<<endl;
// }
// else if (ooo==3){
// slowsay("你饶恕了菜坤!";
// gwsjxl=rand();
// gwsjxl=rand();
// gwsjxl=rand();
// slowsay("你获得了"<<gwsjxl%10*2<<"个金币!"<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
// wj.jinqian+=gwsjxl%10;
// pdd=0;
// break;
// }
//
// if(wj.fangyu<=gw.gongji){
// cout<<endl<<endl;
// slowsay("怪物对你造成了" <<gw.gongji-wj.fangyu<<"点伤害!";
// wj.xueliang-=gw.gongji-wj.fangyu;
// }
// else{
// cout<<endl<<endl;
// slowsay("怪物对你造成了" <<0<<"点伤害!";
// }
// }
//
// gwsjxl=rand();
// gwsjxl=rand();
// gwsjxl=rand();
// if(pdd&&opp){
// gwsjxl=rand();
// gwsjxl=rand();
// gwsjxl=rand();
// slowsay("怪物已阵亡,你获得了"<<gwsjxl%10<<"个金币!"<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
// wj.jinqian+=gwsjxl%10;
// }
// wj.xueliang=wj.ysxueliang;
// }
// }
// else if(o=='4'){
// system("cls");
// slowsay("嗨嗨嗨,欢迎来到膳食大跌和帕帕拉屎小天使的小卖部!输入0退出商店"<<endl<<endl;
// slowsay(" --------------------------------------------------------"<<endl;
// slowsay("/ 小卖部 /"<<endl;
// slowsay("--------------------------------------------------------"<<endl;
// printf(
// "| ********\n"
// "| * *\n"
// "| * *\n"
// "| * 膳食大跌 *\n"
// "| * *\n"
// "| * *\n"
// "| ######### \n"
// "| ####*******###### \n"
// "| ...#***.****.***#....\n"
// "| ....************.....\n"
// "| ....**** *****....\n"
// "| #### ####\n"
// "| ###### ######\n"
// );
// cout<<endl<<endl<<endl;
// slowsay("1 提米盔甲(增加5点防御) ----- 30金币" <<endl<<endl;
// slowsay("2 qiqi的鸡蛋(增加5点攻击) ----- 35金币" <<endl<<endl;
// slowsay("3 q3君的盔甲(防御乘上1.5) ----- 105金币" <<endl<<endl;
// slowsay("4 undyne的长矛(攻击乘上2) ----- 180金币" <<endl<<endl;
// int shabi;
// cin>>shabi;
// if(shabi==0){
// system("cls");
// slowsay("膳食大跌偷偷地说:这个傻*终于走了";
// cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
// }
// else if(shabi==1){
// if(wj.jinqian<30){
// system("cls");
// slowsay("em,似乎膳食大跌说你钱不够,叫你滚"<<endl;
// }
// else{
// system("cls");
// slowsay("成功购买!!!!!!" <<endl;
// wj.fangyu+=5;
// wj.jinqian-=30;
// slowsay("你现在只有"<<wj.jinqian<<"块钱了!";
// }
// }
// else if(shabi==2){
// if(wj.jinqian<35){
// system("cls");
// slowsay("em,似乎膳食大跌说你钱不够,叫你滚"<<endl;
// }
// else{
// system("cls");
// slowsay("成功购买!!!!!!" <<endl;
// wj.gongji+=5;
// wj.jinqian-=35;
// slowsay("你现在只有"<<wj.jinqian<<"块钱了!";
// }
// }
// else if(shabi==3){
// if(wj.jinqian<105){
// system("cls");
// slowsay("em,似乎膳食大跌说你钱不够,叫你滚"<<endl;
// }
// else{
// system("cls");
// slowsay("成功购买!!!!!!" <<endl;
// wj.fangyu*=1.5;
// wj.jinqian-=105;
// slowsay("你现在只有"<<wj.jinqian<<"块钱了!";
// }
// }
// else if(shabi==4){
// if(wj.jinqian<180){
// system("cls");
// slowsay("em,似乎膳食大跌说你钱不够,叫你滚"<<endl;
// }
// else{
// system("cls");
// slowsay("成功购买!!!!!!" <<endl;
// wj.gongji*=2;
// wj.jinqian-=180;
// slowsay("你现在只有"<<wj.jinqian<<"块钱了!";
// }
// }
//
// }
// else if(o=='3'){
// system("cls");
// slowsay("-------------------------------------------"<<endl<<endl;
// slowsay("bilibili或抖音搜索xhanglingx |"<<endl;
// slowsay("小六,11岁"<<endl;
// slowsay("身份证号(屏蔽后8位):4420002012******** |";
// cout<<endl;
// slowsay("LJ代码,不喜勿喷! |"<<endl<<endl;
// slowsay("-------------------------------------------"<<endl<<endl<<endl<<endl<<endl;
// }
// else if(o=='5'){
// int jq=wj.jinqian;
// int dj=wj.dengji;
// double gj=wj.gongji,fy=wj.fangyu,xl=wj.xueliang,ysxl=wj.ysxueliang;
// int wjxmcd=wj.xingming.length();
// int ms=2;
// char xm[1145];
// for(int i=0;i<wjxmcd;i++){
// xm[i]=wj.xingming[i];
// }
// FILE*fp=fopen("./cundang.txt","w");
// if(!fp){
// slowsay("存档失败!"<<endl;
// }
// fprintf(fp,"%d %d %lf %lf %lf %lf %s %d\n",jq,dj,gj,fy,xl,ysxl,xm,ms);
// fclose(fp);
// for(int i=1;i<10;i++){
// if(i%3==0){
// system("cls");
// slowsay("正在存档中...";
// _sleep(500);
// }
// if(i%3==1){
// system("cls");
// slowsay("正在存档中.";
// _sleep(500);
// }
// if(i%3==2){
// system("cls");
// slowsay("正在存档中..";
// _sleep(500);
// }
// }
// slowsay("存档成功!";
// _sleep(3000);
// system("cls");
// }
// else{
// slowsay("6,你**在干什么?")<<endl;
// }
// }
// return 0;
//}
}
评论:
存一下:
#include<bits/stdc++.h>
#include <conio.h>
#include <windows.h>
using namespace std;
const int N=1e2+10;
const int INF=0x3f3f3f3f;
struct Things{
string name;
int help_atk,help_def,help_hp;
int Much_Buy;
}tg[N];
struct Monsters{
int Max_HP,ATK,HP,DEF;
string name;
}m[N];
struct Frisk{
int Max_HP,ATK,HP,DEF;
int LV,EXP,G,Stage;
int Bag[N],Have_Drug;
string name;
}y;
void slowsay(string a,int speed=38)
{
int alen=a.size();
for(int i=0;i<alen;i++){
Sleep(speed);
cout<<a[i];
}
}
void Shop_Draw(int l)
{
printf("-----------------------------------\n");
l==1?printf(">>提米薄片 40G\n"):printf(" 提米薄片 40G\n");
l==2?printf(">>传说英雄 280G\n"):printf(" 传说英雄 280G\n");
l==3?printf(">>蜘蛛蛋糕 400G\n"):printf(" 蜘蛛蛋糕 400G\n");
l==4?printf(">>平底锅 500G\n"):printf(" 平底锅 500G\n");
l==5?printf(">>提米盔甲!! 1700G\n"):printf(" 提米盔甲!! 1700G\n");
l==6?printf(">>甜甜圈套餐 9999G\n"):printf(" 甜甜圈套餐 9999G\n");
l==7?printf(">>退出商店\n"):printf(" 退出商店\n");
printf("-----------------------------------\n");
if(l==1)printf("*防具 防御+20\n*不用担心防御,轻轻松松地战斗\n");
if(l==2)printf("*药品 HP+40\n*很好吃的三明治\n");
if(l==3)printf("*药品 HP+60\n*有奇效的蛋糕\n");
if(l==4)printf("*防具 防御+30,攻击+10\n*神器\n");
if(l==5)printf("*防具 防御+?\n*你等着瞧叭,看看它多厉害!\n");
if(l==6)printf("*?? \n*奸商!!!\n");
if(l==7)printf("*按'k'键退出\n");
printf("-----------------------------------\n");
}
void Buy_Things_From_Shop()
{
system("cls");
slowsay("你吼,我素提米!欢迎来到TEMMY SHOP!!\n");
int HREAT_LINE=1;
Shop_Draw(HREAT_LINE);
while(1)
{
Sleep(10);
if(kbhit())
{
char x=_getch();
if(x=='k' && HREAT_LINE==7)
{
break;
}
else if(x=='w')
{
system("cls");
printf("你吼,我素提米!欢迎来到TEMMY SHOP!!\n");
Shop_Draw(HREAT_LINE==1?1:--HREAT_LINE);
}
else if(x=='s')
{
system("cls");
printf("你吼,我素提米!欢迎来到TEMMY SHOP!!\n");
Shop_Draw(HREAT_LINE==7?7:++HREAT_LINE);
}
else if(x=='k')
{
printf("\n购买成功!\n");
Sleep(500);
continue;
}
}
}
}
void Main_Draw(int l)
{
printf("-----------------------------------\n");
l==1?printf(">>商店\n"):printf(" 商店\n");
l==2?printf(">>退出\n"):printf(" 退出\n");
printf("-----------------------------------\n");
printf("操作方式:w上 s下 k确认\n");
printf("-----------------------------------");
return;
}
void File()
{
int c=y.G;
int atk=y.ATK;
int def=y.DEF;
int mh=y.Max_HP;
int hp=y.HP;
int exp=y.EXP;
int lv=y.LV;
int hd=y.Have_Drug;
FILE*fp=fopen("./undertale_cundang.txt","w");
fprintf(fp,"%d %d %d %d %d %d %d %d %d ",c,atk,def,mh,hp,exp,lv,hd,y.Stage);
for(int i=1;i<=y.Have_Drug;++i)
{
fprintf(fp,"%d ",y.Bag[i]);
}
fclose(fp);
for(int i=1;i<10;i++)
{
system("cls");
if(i%3==0)cout<<"正在存档中...";
if(i%3==1)cout<<"正在存档中.";
if(i%3==2)cout<<"正在存档中..";
Sleep(300);
}
system("cls");
cout<<"存档成功!";
Sleep(2000);
system("cls");
}
void Frisk_Define()
{
y.ATK=18;
y.DEF=0;
y.EXP=0;
y.G=0;
y.Have_Drug=0;
y.HP=20;
y.LV=1;
y.Max_HP=20;
y.name="Frisk";
y.Stage=1;
}
void Monster_Define()
{
m[1].ATK=19,m[1].DEF=0,m[1].HP=50,m[1].Max_HP=50,m[1].name=" 小花 ";
m[2].ATK=6,m[1].DEF=8,m[2].HP=20,m[2].Max_HP=20,m[2].name=" 蛙吉特 ";
m[3].ATK=10,m[1].DEF=3,m[2].HP=18,m[2].Max_HP=18,m[2].name=" 独眼怪 ";
m[4].ATK=8,m[1].DEF=5,m[2].HP=30,m[2].Max_HP=30,m[2].name=" 小幽灵 ";
m[5].ATK=12,m[1].DEF=2,m[2].HP=31,m[2].Max_HP=31,m[2].name=" 爵士虫 ";
m[6].ATK=9,m[1].DEF=8,m[2].HP=50,m[2].Max_HP=50,m[2].name=" 蛙吉特 ";
m[7].ATK=2,m[1].DEF=10,m[2].HP=180,m[2].Max_HP=180,m[2].name=" 托丽尔 ";
m[8].ATK=19,m[1].DEF=32,m[2].HP=320,m[2].Max_HP=320,m[2].name=" 盾狗 ";
m[9].ATK=46,m[1].DEF=41,m[2].HP=1020,m[2].Max_HP=1020,m[2].name=" 帕派瑞斯 ";
m[10].ATK=5,m[1].DEF=184,m[2].HP=10089,m[2].Max_HP=10089,m[2].name=" 不灭的安黛因 ";
m[11].ATK=1,m[1].DEF=1,m[2].HP=1,m[2].Max_HP=1,m[2].name=" 衫斯 ";
}
void Things_Define()
{
tg[1].help_atk=0,tg[1].help_def=20,tg[1].help_hp=0,tg[1].Much_Buy=1,tg[1].name="提米薄片";
}
void Get_File()
{
FILE *fp=fopen("./undertale_cundang.txt","r");
Monster_Define();
Things_Define();
if(fp)
{
slowsay("检测到有存档,是否读档?(1/0):\n");
int aorpo;
cin>>aorpo;
if(aorpo)
{
for(int i=1;i<10;i++)
{
system("cls");
if(i%3==0)cout<<"正在读取存档中...";
if(i%3==1)cout<<"正在读取存档中.";
if(i%3==2)cout<<"正在读取存档中..";
Sleep(300);
}
int c,atk,def,mh,hp,exp,lv,st,hd;
fscanf(fp,"%d%d%d%d%d%d%d%d",&c,&atk,&def,&mh,&hp,&exp,&lv,&hd,&st);
for(int i=1;i<=hd;++i)
{
fscanf(fp,"%d",&y.Bag[i]);
}
fclose(fp);
y.ATK=atk,y.DEF=def,y.EXP=exp,y.G=c,y.Have_Drug=hd;
y.LV=lv,y.Max_HP=mh,y.name="Frisk";y.HP=hp;y.Stage=st;
slowsay("读取成功!");
Sleep(1000);
return;
}
}
Frisk_Define();
}
int main()
{
srand(time(0));
Get_File();
system("cls");
Sleep(5000);
slowsay("U N D E R T A L E");
Sleep(1000);
slowsay("\nby lingzai\n");
Sleep(2000);
cout<<"按任意键开始:";
int cin_to_start,HREAT_LINE1=1;
cin>>cin_to_start;
system("cls");
Main_Draw(HREAT_LINE1);
while(1)
{
Sleep(10);
if(kbhit())
{
char x=_getch();
if(x=='w')
{
system("cls");
Main_Draw(HREAT_LINE1==1?1:--HREAT_LINE1);
}
else if(x=='s')
{
system("cls");
Main_Draw(HREAT_LINE1==2?2:++HREAT_LINE1);
}
else if(x=='k')
{
if(HREAT_LINE1==1)Buy_Things_From_Shop();
if(HREAT_LINE1==2)return 0;
}
}
}
return 0;
}
再存一下:
#include<bits/stdc++.h>
#include <conio.h>
#include <windows.h>
using namespace std;
const int N=1e2+10;
const int INF=0x3f3f3f3f;
struct Things{
string name;
int help_atk,help_def,help_hp;
int Much_Buy,G;
}tg[N];
struct Monsters{
int Max_HP,ATK,HP,DEF;
string name;
}m[N];
struct Frisk{
int Max_HP,ATK,HP,DEF;
int LV,EXP,G,Stage;
int Bag[N],Have_Drug;
string name;
}y;
void slowsay(string a,int speed=38)
{
int alen=a.size();
for(int i=0;i<alen;i++){
Sleep(speed);
cout<<a[i];
}
}
void Shop_Draw(int l)
{
printf("-----------------------------------\n");
l==1?printf(">>提米薄片 40G\n"):printf(" 提米薄片 40G\n");
l==2?printf(">>传说英雄 280G\n"):printf(" 传说英雄 280G\n");
l==3?printf(">>蜘蛛蛋糕 400G\n"):printf(" 蜘蛛蛋糕 400G\n");
l==4?printf(">>平底锅 500G\n"):printf(" 平底锅 500G\n");
l==5?printf(">>提米盔甲!! 1700G\n"):printf(" 提米盔甲!! 1700G\n");
l==6?printf(">>甜甜圈套餐 9999G\n"):printf(" 甜甜圈套餐 9999G\n");
l==7?printf(">>退出商店\n"):printf(" 退出商店\n");
printf("-----------------------------------\n");
if(l==1)printf("*防具 防御+20\n*不用担心防御,轻轻松松地战斗\n");
if(l==2)printf("*药品 HP+40\n*很好吃的三明治\n");
if(l==3)printf("*药品 HP+60\n*有奇效的蛋糕\n");
if(l==4)printf("*防具 防御+30,攻击+10\n*神器\n");
if(l==5)printf("*防具 防御+?\n*你等着瞧叭,看看它多厉害!\n");
if(l==6)printf("*?? \n*奸商!!!\n");
if(l==7)printf("*按'k'键退出\n");
printf("-----------------------------------\n");
}
void Buy_Things_From_Shop()
{
BUY_AGAIN:
system("cls");
slowsay("*你吼,我素提米!欢迎来到TEMMY SHOP!!\n");
int HREAT_LINE=1;
Shop_Draw(HREAT_LINE);
while(1)
{
Sleep(10);
if(kbhit())
{
char x=_getch();
if(x=='k' && HREAT_LINE==7)
{
system("cls");
slowsay("欢银下次光临!");
return;
}
else if(x=='w')
{
system("cls");
printf("*你吼,我素提米!欢迎来到TEMMY SHOP!!\n");
Shop_Draw(HREAT_LINE==1?1:--HREAT_LINE);
}
else if(x=='s')
{
system("cls");
printf("*你吼,我素提米!欢迎来到TEMMY SHOP!!\n");
Shop_Draw(HREAT_LINE==7?7:++HREAT_LINE);
}
else if(x=='k')
{
system("cls");
if(y.G>=tg[HREAT_LINE].G)
{
slowsay("\n*购买成功!\n");
if(HREAT_LINE==6)
{
Sleep(1000);
slowsay("*提米偷偷嗦:介个家伙素不素有钱没地方花...");
}
}
else
{
slowsay("*你好像没有足够哒钱钱\n");
}
Sleep(1500);
goto BUY_AGAIN;
}
}
}
return;
}
void Main_Draw(int l)
{
printf("-----------------------------------\n");
l==1?printf(">>商店\n"):printf(" 商店\n");
l==2?printf(">>存档\n"):printf(" 存档\n");
l==3?printf(">>查看\n"):printf(" 查看\n");
l==4?printf(">>退出\n"):printf(" 退出\n");
printf("-----------------------------------\n");
printf("操作方式:w上 s下 k确认\n");
printf("-----------------------------------");
return;
}
void File()
{
system("cls");
int c=y.G;
int atk=y.ATK;
int def=y.DEF;
int mh=y.Max_HP;
int hp=y.HP;
int exp=y.EXP;
int lv=y.LV;
int hd=y.Have_Drug;
FILE*fp=fopen("./undertale_cundang.txt","w");
fprintf(fp,"%d %d %d %d %d %d %d %d %d ",c,atk,def,mh,hp,exp,lv,hd,y.Stage);
for(int i=1;i<=y.Have_Drug;++i)
{
fprintf(fp,"%d ",y.Bag[i]);
}
fclose(fp);
for(int i=1;i<10;i++)
{
system("cls");
if(i%3==0)cout<<"正在存档中...";
if(i%3==1)cout<<"正在存档中.";
if(i%3==2)cout<<"正在存档中..";
Sleep(300);
}
system("cls");
cout<<"存档成功!";
Sleep(2000);
system("cls");
return;
}
void Frisk_Define()
{
y.ATK=18;
y.DEF=0;
y.EXP=0;
y.G=30;
y.Have_Drug=0;
y.HP=20;
y.LV=1;
y.Max_HP=20;
y.name="Frisk";
y.Stage=1;
}
void Monster_Define()
{
m[1].ATK=19,m[1].DEF=0,m[1].HP=50,m[1].Max_HP=50,m[1].name=" 小花 ";
m[2].ATK=6,m[1].DEF=8,m[2].HP=20,m[2].Max_HP=20,m[2].name=" 蛙吉特 ";
m[3].ATK=10,m[1].DEF=3,m[2].HP=18,m[2].Max_HP=18,m[2].name=" 独眼怪 ";
m[4].ATK=8,m[1].DEF=5,m[2].HP=30,m[2].Max_HP=30,m[2].name=" 小幽灵 ";
m[5].ATK=12,m[1].DEF=2,m[2].HP=31,m[2].Max_HP=31,m[2].name=" 爵士虫 ";
m[6].ATK=9,m[1].DEF=8,m[2].HP=50,m[2].Max_HP=50,m[2].name=" 蛙吉特 ";
m[7].ATK=2,m[1].DEF=10,m[2].HP=180,m[2].Max_HP=180,m[2].name=" 托丽尔 ";
m[8].ATK=19,m[1].DEF=32,m[2].HP=320,m[2].Max_HP=320,m[2].name=" 盾狗 ";
m[9].ATK=46,m[1].DEF=41,m[2].HP=1020,m[2].Max_HP=1020,m[2].name=" 帕派瑞斯 ";
m[10].ATK=5,m[1].DEF=184,m[2].HP=10089,m[2].Max_HP=10089,m[2].name=" 不灭的安黛因 ";
m[11].ATK=1,m[1].DEF=1,m[2].HP=1,m[2].Max_HP=1,m[2].name=" 衫斯 ";
}
void Things_Define()
{
tg[1].help_atk=0,tg[1].help_def=20,tg[1].help_hp=0,tg[1].Much_Buy=1,tg[1].name="提米薄片",tg[1].G=40;
tg[2].help_atk=0,tg[2].help_def=0,tg[2].help_hp=40,tg[2].Much_Buy=INF,tg[2].name="传说英雄",tg[2].G=280;
tg[3].help_atk=0,tg[3].help_def=0,tg[3].help_hp=60,tg[3].Much_Buy=INF,tg[3].name="蜘蛛蛋糕",tg[3].G=400;
tg[4].help_atk=10,tg[4].help_def=30,tg[4].help_hp=0,tg[4].Much_Buy=1,tg[4].name="平底锅",tg[4].G=500;
tg[5].help_atk=0,tg[5].help_def=0,tg[5].help_hp=0,tg[5].Much_Buy=1,tg[5].name="提米盔甲",tg[5].G=1700;
tg[6].help_atk=0,tg[6].help_def=0,tg[6].help_hp=0,tg[6].Much_Buy=INF,tg[6].name="甜甜圈套餐",tg[6].G=9999;
}
void Get_File()
{
system("cls");
FILE *fp=fopen("./undertale_cundang.txt","r");
Monster_Define();
Things_Define();
if(fp)
{
slowsay("检测到有存档,是否读档?(1/0):\n");
int aorpo;
cin>>aorpo;
if(aorpo)
{
for(int i=1;i<10;i++)
{
system("cls");
if(i%3==0)cout<<"正在读取存档中...";
if(i%3==1)cout<<"正在读取存档中.";
if(i%3==2)cout<<"正在读取存档中..";
Sleep(300);
}
int c,atk,def,mh,hp,exp,lv,st,hd;
fscanf(fp,"%d%d%d%d%d%d%d%d",&c,&atk,&def,&mh,&hp,&exp,&lv,&hd,&st);
for(int i=1;i<=hd;++i)
{
fscanf(fp,"%d",&y.Bag[i]);
}
fclose(fp);
y.ATK=atk,y.DEF=def,y.EXP=exp,y.G=c,y.Have_Drug=hd;
y.LV=lv,y.Max_HP=mh,y.name="Frisk";y.HP=hp;y.Stage=st;
slowsay("读取成功!");
Sleep(1000);
return;
}
}
Frisk_Define();
}
void Check_Yourself()
{
system("cls");
printf("-----------------------------------\n");
printf("Frisk:\n");
printf("LV(等级):%d EXP(经验):%d\n",y.LV,y.EXP);
printf("Max_HP(血量上限):%d\n",y.Max_HP);
printf("ATK(攻击):%d\n",y.ATK);
printf("DEF(防御):%d\n",y.DEF);
printf("HP(当前血量):%d\n",y.HP);
printf("CN(金币):%d\n",y.G);
printf("BAG(背包):%d/10\n",y.Have_Drug);
for(int i=1;i<=y.Have_Drug;++i)
{
cout<<tg[y.Bag[i]].name<<" ";
}
printf("\n-----------------------------------\n输入1查看装备,2查看背包,3退出:");
int Your_Choose;
cin>>Your_Choose;
if(Your_Choose==1)return;
if(Your_Choose==2)return;
if(Your_Choose==3)return;
}
int main()
{
srand(time(0));
Get_File();
system("cls");
Sleep(3000);
slowsay("U N D E R T A L E");
Sleep(1000);
slowsay("\nby lingzai\n");
Sleep(2000);
cout<<"按任意键开始:";
int cin_to_start,HREAT_LINE=1;
cin>>cin_to_start;
AGAIN:
system("cls");
Main_Draw(HREAT_LINE);
while(1)
{
Sleep(10);
if(kbhit())
{
char x=_getch();
if(x=='w')
{
system("cls");
Main_Draw(HREAT_LINE==1?1:--HREAT_LINE);
}
else if(x=='s')
{
system("cls");
Main_Draw(HREAT_LINE==4?4:++HREAT_LINE);
}
else if(x=='k')
{
if(HREAT_LINE==1)Buy_Things_From_Shop();
else if(HREAT_LINE==2)File();
else if(HREAT_LINE==3)Check_Yourself();
else if(HREAT_LINE==4)
{
system("cls");
Sleep(3000);
slowsay("U N D E R T A L E");
Sleep(1000);
slowsay("\n感谢游玩!\n");
return 0;
}
goto AGAIN;
}
}
}
return 0;
}