蒟蒻编的小游戏

黄戈  •  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;
//}
}

评论:

黄戈你小子(doge)


凌艺樽  •  1个月前

d


凌艺樽  •  1个月前

存一下:

#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;
}


凌艺樽  •  1个月前

刚点进来,看了一眼代码:!?什么,男神sans?!仔细一看第一个是攻击的代码,第二段是提米商店?!!!!!UNDERTALE好评!!!!


tpx046  •  1个月前

![](/uploads/20240331/17118783446146.png)


tpx046  •  1个月前

![](/uploads/20240331/17118784234494.gif)


tpx046  •  1个月前

我的G爹!!!!!❤️


tpx046  •  1个月前

haha


凌艺樽  •  1个月前

再存一下:

#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;
}

凌艺樽  •  1个月前