- 分享
小游戏1.1.6.beta
- @ 2026-4-7 15:56:58
#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