#include <bits/stdc++.h>
#include <fstream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <iomanip>
#include <algorithm>
#include <sstream>
#include <windows.h>
#include <vector>
#include <limits>
#include <cstdlib>
using namespace std;
//———————战斗结构体———————— 
struct zhan{
	int id;
	string name;
	int shang;
};
vector<int> hui1;
//srand((unsigned int)time(NULL));
//rand用法 int 变量=a + rand() % (b - a + 1)
vector<zhan> wuqi(1000009);//战斗数组 
//-----------  战斗系统  ------------
void zhand(int x,string s2){
	srand((unsigned int)time(NULL));
	cout<<"*是否战斗(y/n)\n";
	char sds;
	cin>>sds;
	if(sds=='n') return ;
	else{
		cout<<"*请选择武器\n";
		int len=wuqi.size();
		for(int i=1;i<=3;i++){
			cout<<wuqi[i].id<<"."<<wuqi[i].name<<" ";
		} 
		int nsd;
		cin>>nsd; 
		cout<<"你选择了<"<<wuqi[nsd].name<<">伤害:"<<wuqi[nsd].shang;
		string scs1=wuqi[nsd].name;
		int scs2=wuqi[nsd].shang;
		cout<<"\n";
		cout<<"*开始战斗...";
		int wer=( rand() % (3 - 1 + 1))+1;
		if(wer==1){
			cout<<"*你先发起攻击.."; 
		}
		else{
			cout<<"*"<<s2<<"先发起进攻击.."; 
		}
	}
}
void dy1(int x){
	srand((unsigned int)time(NULL));
	cout<<"开始游戏 (y/n)";
	char cdy;
	cin>>cdy;
	if(cdy=='n') return ;
	for(int i=1;i<=2;i++) {
		cout<<"加载中.";
		Sleep(200);
		system("cls"); // 清屏
		cout<<"加载中..";
		Sleep(210);
		system("cls"); // 清屏
		cout<<"加载中...";
		Sleep(220);
		system("cls"); // 清屏
	}
	cout<<"*你出现";
	Sleep(80);
	cout<<"在一个";
	Sleep(83);
	cout<<"阴森的走廊\n"; 
	int scd;
	cout<<"*你现在有两种选择..\n";
	cout<<" 1.向前走\n";
	cout<<" 2.推开旁边的房门\n";
	cin>>scd;
	if(scd==2){
		cout<<"*你没有钥匙...dasdfwe^&$dh\n"; 
		while(scd==2){
			cout<<"*你现在有两种选择..\n";
			cout<<" 1.向前走\n";
			cout<<" 2.推开旁边的房门\n";
			cin>>scd;
			if(scd==2){
				system("cls"); // 清屏
				cout<<"*你没有钥匙...\n";
			} 
		}
	}
	cout<<"*你向前走去...\n";
	cout<<" 1.靠墙走\n";
	cout<<" 2.大摇大摆的走过去\n";
	int kan;
	cin>>kan;
	if(kan==2){
		cout<<"You DIED\n\t死因:掉进陷阱了\n";
		char hui;
		cout<<"是否回档?(y/y)";	
		cin>>hui;
		dy1(1);
	}
	cout<<"*你走过来了,你一阵后怕...\n";
	cout<<"*你遇到了";
//	random_device run;
//	mt19937 gen(run());
//	uniform_int_distribution<>dist(1, 5);//改dist(1, 3)中的数 
//	int r=dist(gen);
	int r=(rand() % (5-1+1))+1;
	int fl1=0;
	int fl2=0;
	string s1;
	switch(r){
		case 1:
			
			cout<<"大剑骷髅...\n";
			cout<<"危险程度:*****";
			fl1=1; 
			s1="大剑骷髅";
			break;
		case 2:
			
			cout<<"小型史莱姆\n";
			cout<<"*无危险度\n";
			char xun;
			cout<<"*是否驯服(y/n)";
			cin>>xun;
			fl1=2;
			if(xun=='n'){
				cout<<"*你离开了...\n"; 
				fl1=2;
			} 
			else if(xun=='y'){
				int r1=( rand() % (6 - 1 + 1))+1; 
				if(r1>=3){
					cout<<"*驯服成功!\n";
				}
				else{
					cout<<"*驯服失败!\n";
				}
				
			}
			break;
		case 3:
			
			cout<<"*你遇到了僵尸骑兵\n";
			cout<<"*危险等级:***\n";
			fl1=3; 
			s1="僵尸骑兵";
			break;
		case 4:
			
			cout<<"*你遇到了sans\n";
			cout<<"*危险等级:********\n"; 
			fl1=4;
			s1="sans";
			break;
		case 5:
			
			cout<<"*你遇到了Omega\n";
			cout<<"*危险等级:****\n";
			fl1=5;
			s1="Omega";
			break;
		break;
	}
	if(fl1!=2){
		zhand(1,s1);//战斗 
	}
	
	Sleep(28347923); 
}
//void huidang(int x){
//	cout<<"正在回档...9%^&*3h";
//	Sleep(3000);
////	goto start;
//}
int main() {
	srand((unsigned int)time(NULL));
	wuqi[1].name="木棒";
	wuqi[1].id=1;
	wuqi[1].shang=10;
	wuqi[2].name="燧石小刀";
	wuqi[2].id=2;
	wuqi[2].shang=13;
	wuqi[3].name="石头";
	wuqi[3].id=3;
	wuqi[3].shang=8;
//	for(int ) 
	cout<<"你想干甚么?";
	int dy=1;
	for(int i=1;;i++){
		cout<<"w/s键选择\n";
		char ws;
		cin>>ws;
		if(ws=='s'&&dy<2) dy++;
		if(ws=='w'&&dy>1) dy--;
		system("cls"); // 清屏
		if(dy==1){
			cout<<">传说之下<\n";
			cout<<"确定吗?(y/n)\n";			
			cout<<" 我的世界(敬请期待) \n"; 
			cout<<" (去投稿吧) \n";
			char sed;
			cin>>sed;
			if(sed=='y'){
				dy1(1);
				system("cls"); // 清屏
			}

		}
		if(dy==2){
			cout<<" 传说之下 \n";
			cout<<">我的世界(敬请期待)<\n"; 
			cout<<" (去投稿吧) \n";
		}
	} 
	return 0;
}










还有BUG但我不会修

rand的BUG已经修了

加了一些东西

1 条评论

  • @ 2026-4-7 16:06:16

    小游戏1.1.6beta pro

    #include <bits/stdc++.h>
    #include <fstream>
    #include <string>
    #include <cstdlib>
    #include <ctime>
    #include <iomanip>
    #include <algorithm>
    #include <sstream>
    #include <windows.h>
    #include <vector>
    #include <limits>
    #include <cstdlib>
    using namespace std;
    //———————战斗结构体———————— 
    struct zhan{
    	int id;
    	string name;
    	int shang;
    };
    vector<int> hui1;
    //srand((unsigned int)time(NULL));
    //rand用法 int 变量=a + rand() % (b - a + 1)
    vector<zhan> wuqi(1000009);//战斗数组 
    //-----------  战斗系统  ------------
    void zhand(int x,string s2){
    	srand((unsigned int)time(NULL));
    	cout<<"*是否战斗(y/n)\n";
    	char sds;
    	cin>>sds;
    	if(sds=='n') return ;
    	else{
    		cout<<"*请选择武器\n";
    		int len=wuqi.size();
    		for(int i=1;i<=3;i++){
    			cout<<wuqi[i].id<<"."<<wuqi[i].name<<" ";
    		} 
    		int nsd;
    		cin>>nsd; 
    		cout<<"你选择了<"<<wuqi[nsd].name<<">伤害:"<<wuqi[nsd].shang;
    		string scs1=wuqi[nsd].name;
    		int scs2=wuqi[nsd].shang;
    		cout<<"\n";
    		cout<<"*开始战斗...";
    		int wer=( rand() % (3 - 1 + 1))+1;
    		bool f; 
    		if(wer==1){
    			cout<<"*你先发起攻击..";
    			f=1;
    		}
    		else{
    			cout<<"*"<<s2<<"先发起攻击.."; 
    			f=0;
    		}
    		while(怪物血量!=0 and 你血量!=0){
    			if(f==1){
    				//怪物血量-=wuqi[nsd].shang;
    				f=0;
    			} else {
    				//你血量-=怪物攻击力 
    			}
    		}
    	}
    }
    void dy1(int x){
    	srand((unsigned int)time(NULL));
    	cout<<"开始游戏 (y/n)";
    	char cdy;
    	cin>>cdy;
    	if(cdy=='n') return ;
    	for(int i=1;i<=2;i++) {
    		cout<<"加载中.";
    		Sleep(200);
    		system("cls"); // 清屏
    		cout<<"加载中..";
    		Sleep(210);
    		system("cls"); // 清屏
    		cout<<"加载中...";
    		Sleep(220);
    		system("cls"); // 清屏
    	}
    	cout<<"*你出现";
    	Sleep(80);
    	cout<<"在一个";
    	Sleep(83);
    	cout<<"阴森的走廊\n"; 
    	int scd;
    	cout<<"*你现在有两种选择..\n";
    	cout<<" 1.向前走\n";
    	cout<<" 2.推开旁边的房门\n";
    	cin>>scd;
    	if(scd==2){
    		cout<<"*你没有钥匙...dasdfwe^&$dh\n"; 
    		while(scd==2){
    			cout<<"*你现在有两种选择..\n";
    			cout<<" 1.向前走\n";
    			cout<<" 2.推开旁边的房门\n";
    			cin>>scd;
    			if(scd==2){
    				system("cls"); // 清屏
    				cout<<"*你没有钥匙...\n";
    			} 
    		}
    	}
    	cout<<"*你向前走去...\n";
    	cout<<" 1.靠墙走\n";
    	cout<<" 2.大摇大摆的走过去\n";
    	int kan;
    	cin>>kan;
    	if(kan==2){
    		cout<<"You DIED\n\t死因:掉进陷阱了\n";
    		char hui;
    		cout<<"是否回档?(y/y)";	
    		cin>>hui;
    		dy1(1);
    	}
    	cout<<"*你走过来了,你一阵后怕...\n";
    	cout<<"*你遇到了";
    //	random_device run;
    //	mt19937 gen(run());
    //	uniform_int_distribution<>dist(1, 5);//改dist(1, 3)中的数 
    //	int r=dist(gen);
    	int r=(rand() % (5-1+1))+1;
    	int fl1=0;
    	int fl2=0;
    	string s1;
    	switch(r){
    		case 1:
    			
    			cout<<"大剑骷髅...\n";
    			cout<<"危险程度:*****";
    			fl1=1; 
    			s1="大剑骷髅";
    			break;
    		case 2:
    			
    			cout<<"小型史莱姆\n";
    			cout<<"*无危险度\n";
    			char xun;
    			cout<<"*是否驯服(y/n)";
    			cin>>xun;
    			fl1=2;
    			if(xun=='n'){
    				cout<<"*你离开了...\n"; 
    				fl1=2;
    			} 
    			else if(xun=='y'){
    				int r1=( rand() % (6 - 1 + 1))+1; 
    				if(r1>=3){
    					cout<<"*驯服成功!\n";
    				}
    				else{
    					cout<<"*驯服失败!\n";
    				}
    				
    			}
    			break;
    		case 3:
    			
    			cout<<"*你遇到了僵尸骑兵\n";
    			cout<<"*危险等级:***\n";
    			fl1=3; 
    			s1="僵尸骑兵";
    			break;
    		case 4:
    			
    			cout<<"*你遇到了sans\n";
    			cout<<"*危险等级:********\n"; 
    			fl1=4;
    			s1="sans";
    			break;
    		case 5:
    			
    			cout<<"*你遇到了Omega\n";
    			cout<<"*危险等级:****\n";
    			fl1=5;
    			s1="Omega";
    			break;
    		break;
    	}
    	if(fl1!=2){
    		zhand(1,s1);//战斗 
    	}
    	
    	Sleep(28347923); 
    }
    //void huidang(int x){
    //	cout<<"正在回档...9%^&*3h";
    //	Sleep(3000);
    ////	goto start;
    //}
    int main() {
    	srand((unsigned int)time(NULL));
    	wuqi[1].name="木棒";
    	wuqi[1].id=1;
    	wuqi[1].shang=10;
    	wuqi[2].name="燧石小刀";
    	wuqi[2].id=2;
    	wuqi[2].shang=13;
    	wuqi[3].name="石头";
    	wuqi[3].id=3;
    	wuqi[3].shang=8;
    //	for(int ) 
    	cout<<"你想干甚么?";
    	int dy=1;
    	for(int i=1;;i++){
    		cout<<"w/s键选择\n";
    		char ws;
    		cin>>ws;
    		if(ws=='s'&&dy<2) dy++;
    		if(ws=='w'&&dy>1) dy--;
    		system("cls"); // 清屏
    		if(dy==1){
    			cout<<">传说之下<\n";
    			cout<<"确定吗?(y/n)\n";			
    			cout<<" 我的世界(敬请期待) \n"; 
    			cout<<" (去投稿吧) \n";
    			char sed;
    			cin>>sed;
    			if(sed=='y'){
    				dy1(1);
    				system("cls"); // 清屏
    			}
    
    		}
    		if(dy==2){
    			cout<<" 传说之下 \n";
    			cout<<">我的世界(敬请期待)<\n"; 
    			cout<<" (去投稿吧) \n";
    		}
    	} 
    	return 0;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    • [ ] 改了战斗系统
    • 1