- 分享
小游戏3.0.0
- @ 2026-5-10 21:23:48
QwQ 加了不少东西,全是作者自己整理出来的,费了不少精力,希望能支持一下ToT
#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;
using ll=long long;
int shan;
int hp=1;
ll player_hp=300;
//——————等待数组——————
void sl(int sw){
if(sw==1){
Sleep(200);
return ;
}
if(sw==2){
Sleep(300);
return ;
}
}
//--------逐字输出-----
void sout(string se){
for(int i=0;i<se.size();i++){
cout<<se[i];
Sleep(80);
}
cout<<"\n";
return ;
}
//———————战斗结构体————————
struct zhan{
int id;
string name;
int shang;
};
vector<int> hui1;
//———————版权协议——————————
int banquan(int swe){
system("cls"); // 清屏
cout<<"被作品为团队首创/原创\n";
sl(2);
cout<<"拥有多系统作品体系\n";
sl(2);
cout<<"禁止抄袭\n";
sl(2);
cout<<"————————————————\n";
sl(2);
cout<<"我是否以了解版权协议书(y/n)\n";
char ban;
cin>>ban;
if(ban=='y'){
cout<<"祝你玩的愉快..\n";
sl(2);
return 0;
}
else if(ban=='n')banquan(1);
}
//———————登录系统——————————
int deng(int xsdfg){
system("cls"); // 清屏
cout<<"你还没有注册\n";
cout<<"使用/reg 用户名 密码 重复一次密码 来登录";
cout<<"\n";
// cout<<"格式:\n";
// cout<<"/reg\n";
// cout<<"用户名\n";
// cout<<"密码\n";
// cout<<"重复一次密码\n";
string reg;
int cnt=0;
string reg1,reg2;
string name;
cin>>reg>>name>>reg1>>reg2;
// getline(cin,reg);
// getline(cin,name);
// getline(cin,reg1);
// getline(cin,reg2);
// for(int i=4;;i++){
// if(reg[i]==' '){
// cnt=i;
// break;
// }
// reg1+=reg[i];
//
// }
// for(int i=cnt+1;i<reg.size();i++){
//
// reg2+=reg[i];
// }
int sumr=reg1.size();
if(reg1==reg2&&sumr>=4&®=="/reg"){
cout<<"注册成功\n";
cout<<"欢迎"<<name<<"\n";
cout<<"正在跳转....\n";
Sleep(4000);
return 0;
}
else if(sumr<4){
cout<<"密码必须是4位及以上!";
deng(1);
}
else if(reg!="/reg"){
cout<<"你的注册指令不正确";
deng(1);
}
else{
cout<<"你的密码不相同或不正确\n";
deng(1);
}
}
//srand((unsigned int)time(NULL));
//rand用法 int 变量=a + rand() % (b - a + 1)
//system("cls"); // 清屏
vector<zhan> wuqi(1000009);//战斗数组
//----------- 战斗系统 ------------
int zhand(int x,string s2,int fl1){
srand((unsigned int)time(NULL));
cout<<"*是否战斗(y/n)\n";
char sds;
cin>>sds;
if(sds=='n') return 0;
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;
int fool=0;
if(wer==1){
cout<<"\n*你先发起攻击..";
fool=1;
}
else{
cout<<"\n*"<<s2<<"先发起进攻击..";
fool=2;
}
if(fool==1){
}
else{
fl1=2;
switch(fl1){
case 1:{
cout<<"2342345dsf\n";
break;
}
case 2:{
cout<<"182347m";
break;
}
case 4:{
int xue=180;
cout<<"*对方使用了骨刀\n";
int forl1=( rand() % (7 - 1 + 1))+1;
if(forl1>=6){
}
else{
cout<<"*你触发了'闪避'";
cout<<"<闪避技能熟练度+2>";
shan+=2;
cout<<"*你躲开了对方的攻击\n";
cout<<" 是否还击(y/n/27f*^%*n)";
char apple;
cin>>apple;
if(apple=='y'){
cout<<"*你选择了'还击'\n";
cout<<"*你打出"<<scs2<<"点伤害\n";
cout<<"*对方受伤了\n";
//
xue-=scs2;
//
cout<<"*对方血量:"<<xue<<"\n";
cout<<"*我方血量:"<< hp<<"\n";
}
else{
cout<<"*sans打出伤害:10\n";
cout<<"*当前血量:"<<hp<<"->"<<hp-10;
cout<<" You Died...\n";
cout<<"<点击运行重新开始吧...>\n";
return 0;
}
}
break;
}
case 5:{
int Omegahp=1000;
cout<<"Omega:你知道我是谁吗?\n";
cout<<"Omega:没关系...\n" ;
cout<<"Omega:不知道也没什么大不了的...\n";
cout<<"*你心中充满决心..\n";
cout<<" <hp=100>/<Omega.hp=1000>\n";
cout<<"*你打出一刀...\n";
cout<<"<打出伤害...999/>\n";
Omegahp-=999;
cout<<"Omega:饿啊...\n" ;
cout<<"(Omega闭上双眼...似乎在..闭目养神..么?)\n" ;
cout<<"Omega:今天..";
Sleep(300);
cout<<"只能有一人活着走出这里!!!\n" ;
Sleep(1000);
cout<<"Omega:来吧...\n";
cout<<"*Omega打出一刀...<打中了你>\n";
Sleep(500);
cout<<"*当前血量:"<<hp<<"->"<<hp-18<<"\n";
hp-=18;
Sleep(700);
cout<<"*Omega使用了尖刺雨\n";
cout<<"Omega<小声嘀咕>:饱含风霜..向阳生长..夏天..死亡..!\n";
Sleep(300);
cout<<"*你被打中了!!\n";
cout<<"*当前血量:"<<hp<<"->"<<hp-50<<"\n";
cout<<"*该你反击了...\n";
cout<<"*输入伤害倍数...<最高为8>";
int shan1;
cin>>shan1;
cout<<"";
break;
}
}
}
}
}//--------目录----------
int juqing(int xwsde){
cout<<"加载目录中....\n";
Sleep(3700);
cout<<"第一章 走廊\n";
Sleep(200);
cout<<"第二章 地下城之战\n";
sl(1);
cout<<"第三章 皇宫决爵\n";
sl(1);
cout<<"第四章 诛城汇皖\n";
sout("是否退出...(y/n)\n");
char wert;
cin>>wert;
if(wert=='y'){
return 0;
}
else{
for(int i=1;;i++){
cout<<"是否开始<走廊>...(y/n)\n";
char wert;
cin>>wert;
if(wert=='y'){
return 0;
}
}
}
return 0;
}
//———————人物———————
int renwuxi(int x){
cout<<"Frisk:\n";
cout<<"游戏的主角,一名意外坠入地下怪物世界的人类孩子。玩家将操控 Frisk 在地下世界中探索,寻找回到地表的方法。Frisk 的性格由玩家的选择决定,可以是仁慈、暴力或介于两者之间.\n";
cout<<"\n";
cout<<"Sans:\n";
cout<<"Papyrus 的兄弟,皇家卫队成员之一。他以懒散、爱讲冷笑话著称,但背后隐藏着极深的秘密与强大的实力。Sans 是游戏中最受欢迎的角色之一,其经典台词“You’re gonna have a bad time.”深入人心.\n";
cout<<"\n";
cout<<"Papyrus:\n";
cout<<"Sans 的弟弟,梦想加入皇家卫队并抓住一个人类。他性格热情、天真,虽然战斗方式略显滑稽,但充满正义感。Papyrus 坚信“Everyone deserves a second chance!”。\n";
cout<<"\n";
cout<<"Toriel(羊马):\n";
cout<<"废墟的守护者,曾是地下世界的王后。她在 Frisk 刚进入地下世界时救下并照顾他,是一位温柔而慈爱的母亲形象。\n\n";
cout<<"Undyne(安黛因):\n";
cout<<"皇家卫队队长,性格刚烈、执着。她最初试图阻止 Frisk 离开,但在“和平路线”中会逐渐转变立场,成为坚定的盟友。\n\n";
cout<<"Alphys(龙博士)\n";
cout<<"地下世界的皇家科学家,负责监控主角的一举一动。她性格内向、害羞,但对科技充满热情,并在剧情发展中扮演关键角色。\n\n";
cout<<"Mettaton(机器女明星):\n";
cout<<"由 Alphys 制造的机器人,渴望成为明星。他主持多场战斗节目,外表华丽,性格张扬,是游戏中最具娱乐性的角色之一。\n\n";
cout<<"Asgore Dreemurr(羊爸):\n";
cout<<"地下世界的现任国王,被称为“毛茸茸好好先生”。他是 Asriel 的父亲,肩负着带领怪物重返地表的重任。\n\n";
cout<<"Asriel Dreemurr(小羊):\n";
cout<<"Asgore 的儿子,曾与人类孩子 Chara 成为好友。他的命运与整个故事的核心谜团紧密相连,是推动剧情发展的关键人物。\n\n";
cout<<"是否返回游戏主菜单?(y/n)<不回的话不用选>\n";
char mule;
cin>>mule;
if(mule=='y'){
return 1;
}
}
//———————准备工作—————
void zhuibei(int werdfg){
cout<<"1.查看人物详情\n";
cout<<"2.查看剧情\n";
cout<<"3.查看玩法介绍\n";
cout<<"4.退出该游戏\n";
cout<<"5.查看个人简介\n";
cout<<"6.开始游戏\n";
int xc;
cin>>xc;
if(xc==1){
system("cls"); // 清屏
if(renwuxi(1)) zhuibei(1);
}
}
//———————主游戏——————
int dy1(int www){
zhuibei(91);
juqing(1);
srand((unsigned int)time(NULL));
cout<<"开始游戏<走廊> (y/n)";
char cdy;
cin>>cdy;
if(cdy=='n') return 0;
for(int i=1;i<=2;i++) {
cout<<"加载中.";
Sleep(200);
system("cls"); // 清屏
cout<<"加载中..";
Sleep(210);
system("cls"); // 清屏
cout<<"加载中...";
Sleep(220);
system("cls"); // 清屏
}
sout("*你出现在一个阴森的走廊");
cout<<"\n";
int scd;
cout<<"*你现在有两种选择..\n";
cout<<" 1.向前走\n";
cout<<" 2.推开旁边的房门\n";
cin>>scd;
if(scd==2){
cout<<"*门被锁上了,你没有钥匙...dasdfwe^&$dh\n";
char chyuo;
cout<<"*是否暴力开门?(y/n)\n";
cin>>chyuo;
if(chyuo=='y'){
int answer=1 + rand() % (20 - 1 + 1);
if(answer>=19){
cout<<"你没踹开.你的腿断了hp-40\n";
player_hp-=40;
cout<<"当前血量:"<<player_hp<<"\n";
}
else {
cout<<"你成功踹开了...但你受伤了hp-20\n";
player_hp-=20;
}
}
}
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<<"*你遇到了";
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,fl1);//战斗
}
cout<<"你进入了一个小房间";
Sleep(10000000);
return 0;
}
void mc(int xs){
cout<<"欢迎来到minecraft\n";
Sleep(1000);
cout<<"10% 选择JAVA类型中\n";
Sleep(300);
system("cls"); // 清屏
cout<<"20% 加载已选JAVA中\n";
Sleep(300);
system("cls"); // 清屏
cout<<"35% 正在创建minecraft启动器文件夹\n";
Sleep(300);
system("cls"); // 清屏
cout<<"50% 在向已有文件夹中导入数据\n";
Sleep(300);
cout<<"请等待\n";
for(int i=50;i<=40+50;i+=2){
cout<<i<<"%";
Sleep(400);
system("cls"); // 清屏
}
cout<<"41% JAVA数据重载中...\n";
Sleep(409);
system("cls"); // 清屏
cout<<"99%创建世界和加载世界\n";
Sleep(400);
system("cls"); // 清屏
cout<<"100% 游戏加载完成!开始吧..!\n";
cout<<"e..\n";
Sleep(500);
cout<<"当前主线任务:\n";
cout<<" 1.与村长对话";
int ans;
cin>>ans;
if(ans==1){
cout<<"你走到了村长旁\n";
cout<<"1.开始对话 2.@$#%*(S\n";
int ans1;
cin>>ans1;
cout<<"村长:年轻人..\n";
sl(1);
cout<<"村长:看你的穿着..你应该是刚来到这里.\n";
sl(1);
cout<<"你:没错\n";
sl(1);
cout<<"<村长赠与你一把铁剑>\n";
sl(1);
cout<<"村长:那好这把你的本命剑,记住本命剑永远不能丢!\n";
sl(1);
cout<<"你:什么是本命剑?\n";
sl(1);
cout<<"村长:就是你专属的剑\n";
sl(1);
cout<<"<村长给了你1个'远古终末强化石碎片'>\n";\
sl(1);
cout<<"村长:去吧勇士!去集齐这10个碎片吧!\n";
sl(1);
cout<<"...\n";
Sleep(3000);
cout<<"你来到了一个空间中..\n";
cout<<"1.加入部落 2.加入联盟\n";
int sdfghj;
cin>>sdfghj;
cout<<"";
}
return ;
}
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;
deng(1);
banquan(1);
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";
char asdfg;
cout<<"确定吗?(y/n)\n";
cout<<" (去投稿吧) \n";
cin>>asdfg;
if(asdfg=='y'){
mc(1);
}
cout<<" (去投稿吧) \n";
}
}
/*
团队名:乐猫腾跃
成员:
UID1015
UID1063
UID4988
UID6638
UID2029
UID7282
UID1619
团队名:宋宇轩团队.乐猫腾跃.报童计划
Tip:这是图形化团队,需要'源码编辑器4'
成员:
UID7282
UID1015
*/
//该作品为原首创,禁止抄袭;
return 0;
}