三国杀·蜀汉版(修改)

修改了第一次的一些小bug;

#include<cstdlib> 
#include<iostream>
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
void SC(bool fr,bool fg,bool fb,bool fi,bool kr,bool kg,bool kb,bool ki)//SetColour
{
	short s=0;
	s+=fr*4;s+=fg*2;s+=fb*1;s+=fi*8;s+=kr*64;s+=kg*32;s+=kb*16;s+=ki*128;
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),s);
}
void move(int x,int y)
{
    COORD coord={x,y};
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}

void bt()
{
	cout<<"三国杀·蜀汉篇(标准版)";
	cout<<endl;
	cout<<"作者:黄昕俊hxj";
	cout<<endl;
	Sleep(6000);
}//标题
void ks()
{
	system("cls");
	cout<<"开始游戏";
	cout<<endl;
	system("pause"); 
}//开始游戏 
void jdt()
{
	system("cls");
	move(0,0);cout<<"▉";
	move(5,1);cout<<"20%";
	Sleep(800); 
	move(0,0);cout<<"▉▉";
	move(5,1);cout<<"40%";
	Sleep(800);  
	move(0,0);cout<<"▉▉▉";
	move(5,1);cout<<"60%";
	Sleep(800);  
	move(0,0);cout<<"▉▉▉▉";
	move(5,1);cout<<"80%";
	Sleep(800);  
	move(0,0);cout<<"▉▉▉▉▉";
	move(5,1);cout<<"100%"; 
	Sleep(800); 
	system("cls");
}//进度条 
int n;
int m,w,s,d;//生命值 技能1值 技能2值 技能3值 
string x,j,q,p;//武将名 技能1名 技能2名 技能3名 
string lb="刘备",gy="关羽",zf="张飞",zy="赵云",mc="马超",hz="黄忠",jw="姜维";
string wy="魏延",zgl="诸葛亮",pt="庞统";
void wj()
{
	cout<<"1、乱世的枭雄:"<<lb<<endl;
	cout<<"2、美髥公:"<<gy<<endl;
	cout<<"3、万夫莫当:"<<zf<<endl;
	cout<<"4、少年将军:"<<zy<<endl;
	cout<<"5、一骑千里:"<<mc<<endl;
	cout<<"6、老当益壮:"<<hz<<endl;
	cout<<"7、龙的衣钵:"<<jw<<endl;
	cout<<"8、嗜血的独狼:"<<wy<<endl;
	cout<<"9、迟暮的丞相:"<<zgl<<endl;
	cout<<"10、凤雏:"<<pt<<endl;
	cin>>n;
}//选择武将
void sd()
{
	if(n==1){x=lb;j="仁德";p="激将";q="龙怒";m=100;w=120;s=15;d=35;}
	if(n==2){x=gy;j="武圣";p="单骑";q="怒斩";m=90;w=30;s=-20;d=40;}
	if(n==3){x=zf;j="咆哮";p="嫉恶";q="厉勇";m=80;w=-30;s=20;d=35;}
	if(n==4){x=zy;j="龙胆";p="龙魂";q="涯角";m=120;w=45;s=30;d=20;}
	if(n==5){x=mc;j="马术";p="铁骑";q="骁袭";m=100;w=-10;s=-40;d=35;}
	if(n==6){x=hz;j="烈弓";p="赤刀";q="耄耋";m=140;w=30;s=25;d=140;}
	if(n==7){x=jw;j="挑衅";p="继志";q="九伐";m=80;w=210;s=-30;d=30;}
	if(n==8){x=wy;j="狂骨";p="奇谋";q="傲气";m=90;w=35;s=250;d=-30;}
	if(n==9){x=zgl;j="鬼谋";p="观星";q="急智";m=75;w=230;s=150;d=-45;}
	if(n==10){x=pt;j="连环";p="涅槃";q="纵玄";m=70;w=-50;s=25;d=235;}	
}//武将的各方面设定 
//敌人:马良 法正 马谡 糜竺 刘封 祝融 孟获 廖化 黄月英 刘禅 
//白眉智士 蜀汉的辅翼 恃才傲物 挥金追义 骑虎之殇 野性的女王 南蛮王 历尽沧桑 归隐的杰女 无为的真命主

string dm,dn,t,u;//敌将名称  敌将名 技1名 技2名 
int l,o,v,h;//技1值 技2值 信号 敌生命值 招数 
int k=1; 
int rt;
void ds()
{
	if(k==1){dm="白眉智士";dn="马良";t="协穆";u="纳蛮";l=-20;o=10;}	
	if(k==2){dm="蜀汉的辅翼";dn="法正";t="恩怨";u="眩惑";l=-30;o=20;}
	if(k==3){dm="恃才傲物";dn="马谡";t="心战";u="挥泪";l=-30;o=35;}
	if(k==4){dm="挥金追义";dn="糜竺";t="巨贾";u="资援";l=-45;o=45;}
	if(k==5){dm="骑虎之殇";dn="刘封";t="陷嗣";u="阵亡";l=-50;o=55;}
	if(k==6){dm="野性的女王";dn="祝融";t="巨象";u="烈刃";l=-35;o=60;}
	if(k==7){dm="南蛮王";dn="孟获";t="祸首";u="再起";l=-40;o=60;}
	if(k==8){dm="历尽沧桑";dn="廖化";t="当先";u="伏枥";l=-50;o=70;}
	if(k==9){dm="归隐的杰女";dn="黄月英";t="集智";u="奇才";l=-60;o=80;}
	if(k==10){dm="无为的真命主";dn="刘禅";t="享乐";u="放权";l=-70;o=90;}
	if(k!=10)v=100;
	if(k==10)v=130;
}//敌将的技能设定 
int zs,ts;
void sj()
{
	if(w>=100)srand(w);	
	if(s>=100)srand(s);
	if(d>=100)srand(d);
    zs=rand()/10;
}//对自身随机技能设定 
void rj()
{
	if(w>=200&&w<300)ts=w-200;
	if(s>=200&&s<300)ts=s-200;
	if(d>=200&&d<300)ts=d-200;
}//对他人生命值改动技能设定 
void kj()
{
	system("cls");
	if(k!=10)cout<<"欢迎来到第"<<k<<"关";
	else cout<<"欢迎来到第"<<k<<"关boss关";
	Sleep(3000);
	system("cls");
	SC(1,1,1,1,0,0,0,0);
	cout<<"你的对手是";
	cout<<endl;
	cout<<dm<<":"<<dn;
	cout<<endl;
	cout<<"生命值:"<<v; 
	cout<<endl;
	cout<<"技能:";
	cout<<endl;
	cout<<"1、"<<t;
	cout<<endl;
	cout<<"2、"<<u; 
	Sleep(3500);
	system("cls");
}//开局 
void az()
{
	cout<<x;
	cout<<endl;
	cout<<"生命值:"<<m;
	cout<<endl; 
	cout<<endl; 
	cout<<endl; 
	cout<<dn;
	cout<<endl;
	cout<<"生命值:"<<v;
	Sleep(2200);
	system("cls"); 
}//查看情况
int f,c;//技能号 技能值 
string z;//技能名 
void cz()
{
	cout<<x;
	cout<<endl;
	cout<<"技能:";
	cout<<endl;
	cout<<"1、"<<j;
	cout<<endl;
	cout<<"2、"<<p;
	cout<<endl;
	cout<<"3、"<<q; 
	cout<<endl;
	cin>>f;
}//我方出招 
void jz()
{
	if(f==1){c=w;z=j;}
	if(f==2){c=s;z=p;}
	if(f==3){c=d;z=q;}
	f=0;
}//技能值
void sh()
{
	if(c>0&&c<100){cout<<x<<"对"<<dn<<"使出"<<z;v-=c;}
	if(c<0&&h>0)
	{
		cout<<x<<"对"<<dn<<"使出"<<z;
		if(s>h)m+=h;
		if(s<=h)m+=s;
	}
	if(c>100&&c<200){cout<<x<<"的生命值"<<"+"<<zs;m+=zs;}
	if(c>=200&&c<300){cout<<dn<<"的生命值"<<"-"<<ts;v-=ts;}
}//我方伤害 
void dz()
{
	cout<<endl;
	cout<<dn;
	cout<<endl;
	cout<<"技能:";
	cout<<endl;
	cout<<"1、"<<t;
	cout<<endl;
	cout<<"2、"<<u;	
	cout<<endl;
	Sleep(2300);
	if(v>=50){cout<<dn<<"对"<<x<<"使出"<<u;h=o;}
	else {cout<<dn<<"对"<<x<<"使出"<<t;h=l;}
	Sleep(4000);
	system("cls");
}//敌方出招 
void dh()
{
	if(h>0)m-=h;
	if(h<0&&c>0&&c<100)
	{
		if(h>c)v+=c;
		if(h<=c)v+=h; 
	}
}//敌方伤害 
void ws()
{
	if(m==0){system("cls");SC(1,0,0,1,0,0,0,0);cout<<"很遗憾,您的生命值为0,请重新开始游戏!";} 
}//我方判定生死 
int r,qw;//下一关的信号 结束的信号 
void td()
{
	if(k!=10&&v<=0){system("cls");k++;SC(0,1,1,1,0,0,0,0);cout<<"恭喜您,打败了"<<dm<<"·"<<dn<<"!";r=1;Sleep(3000);}
	if(k==10&&v<=0){system("cls");SC(0,1,0,1,0,0,0,0);cout<<"恭喜您,打败了蜀汉中的所有敌将,成为蜀汉霸主!";qw=1;}
	if(k!=0&&v!=0)SC(1,1,1,1,0,0,0,0);
}//敌人判定生死 
void jm()
{
	sj(); 
	rj();
	ws();
	az();
	cz();
	jz();
	sh();
	dz();
	dh();
	td();
}//回合 
void dq()
{ 
	for(;;)
	{
		ds();
		kj();
		for(;;)
		{
			if(r==1){r=0;break;}//判定下一关 判定结束游戏 	
			if(qw==1)exit; 
			jm();	
		}
	}
}//对决 
int main() 
{    
 	system("title 黄昕俊hxj");
	bt();
	ks();
	jdt();
	wj();
	sd();
	dq();
    return 0;
}
//感谢大家来玩
//本次游戏题材和素材选自游戏《三国杀》小说《三国演义》
//请大家多多关注和点赞
//第一次做游戏 ,如有漏洞或做的不好的 请大家多多包容 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值