问题标题: 小李工作室:焕新:1+1(2.1.1)

0
0
已解决
李熙尧
李熙尧
新手光能
新手光能
1+1:

规则:开局每人10滴血,游戏格式如下:

                    x1      x2



                    y1      y2

         如果玩家一输入 1 1  即x1+=y1

         如果玩家一输入 1 2  即x1+=y2

         如果玩家一输入 2 1  即x2+=y1

         如果玩家一输入 2 2  即x2+=y2

         如果玩家二输入 1 1  即y1+=x1

         如果玩家二输入 1 2  即y1+=x2

         如果玩家二输入 2 1  即y2+=x1

         如果玩家二输入 2 2  即y2+=x2

         相应的数字组合会对对方造成伤害或给自己加血,自行摸索,不逐一介绍了。

         结束:有一人血量>=0

代码:

#include<iostream>
#include<windows.h>
#include<ctime>
#include<conio.h>
#pragma GCC optimize(3)
#pragma GCC target("avx")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#pragma GCC optimize(2)
#define find(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
void go1(){
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_CURSOR_INFO CursorInfo;
    GetConsoleCursorInfo(handle, &CursorInfo);
    CursorInfo.bVisible = false;
    SetConsoleCursorInfo(handle, &CursorInfo);
}
struct people{
	int a[5]={0,1,1};
    int xue=10;
}p1,p2;
int H=0;
int PD(int pd[],int k){
	H=0;
	if(pd[1]==1&&pd[2]==5||pd[1]==5&&pd[2]==1){
		return 1;
	}else if(pd[1]==3&&pd[2]==5||pd[1]==5&&pd[2]==3){
		return 3;
	}else if(pd[1]==4&&pd[2]==5||pd[1]==5&&pd[2]==4){
		return 7;
	}else if(pd[1]==5&&pd[2]==6||pd[1]==6&&pd[2]==5){
		return 3;
	}else if(pd[1]==5&&pd[2]==5){
		return 10;
	}else if(pd[1]==5&&pd[2]==8||pd[1]==8&&pd[2]==5){
		return 4; 
	}else if(pd[1]==6&&pd[2]==6){
		H=4;
		return 2;
	}else if(pd[1]==6&&pd[2]==8||pd[1]==8&&pd[2]==6){
		H=2;
		return 4;
	}else if(pd[1]==8&&pd[2]==8){
		return 6;
	} else if(pd[1]==8&&pd[2]==9||pd[1]==9&&pd[2]==8){
		return 0x3f3f3f3f;
	}else if(pd[k]==6){
		H=1;
		return 1;
	}else if(pd[k]==7 ){
		return 1;
	}else if(pd[k]==8){
		return 1;
	}else if(pd[k]==9){
		return 1;
	}else{
		return 0;
	}
}
int main(){
	go1();
	system("title 1+1 小李工作室    XiaoYaoLi  Studio");
	system("color 4f");
	for(int i=1;i<=50;i++){
		cout<<"1+1    1.2.1\n";
		Sleep(50);
	}
	system("cls");
	printf("     1.普通模式(1 PK 1)   2.无尽模式(1000血)\n");
	int t1,w1=0,w2=0,f=0;
	cin>>t1;
	system("cls");
	if(t1==1){
	while(true){
		f++;
		printf("玩家1:  血量:%d\n    %d     %d",p1.xue,p1.a[1],p1.a[2]);
		printf("\n\n\n");
		printf("    %d     %d\n玩家2:  血量:%d",p2.a[1],p2.a[2],p2.xue);
		printf("\n\n");
		if(f%2==1){
			printf("玩家1:");
			cin>>w1>>w2;
			p1.a[w1]+=p2.a[w2];
			if(p1.a[w1]==10) p1.a[w1]=1;
			if(p1.a[w1]>10) p1.a[w1]-=10;
			int G=PD(p1.a,w1);
			if(G!=0){
				printf("\n玩家2减去了%d滴血!!!",G);
				Sleep(1000);
			}
			
			p2.xue-=G;
			p1.xue+=H;
			if(H!=0){
				printf("\n玩家1加上了%d滴血!!!",H);
				Sleep(1000);
			}
		}else{
			printf("玩家2:");
			cin>>w1>>w2;
			p2.a[w1]+=p1.a[w2];
			if(p2.a[w1]==10) p2.a[w1]=1;
			if(p2.a[w1]>10) p2.a[w1]-=10;
			int G=PD(p2.a,w1);
			if(G!=0){
				printf("\n玩家1减去了%d滴血!!!",G);
				Sleep(1000);
			}
			p1.xue-=G;
			p2.xue+=H;
			if(H!=0){
				printf("\n玩家2加上了%d滴血!!!",H);
				Sleep(1000);
			}
		}
		if(p1.xue<=0){
			system("cls");
			printf("        ** OVER!!!    玩家二胜\n   感谢支持小李工作室!!!");
			return false;
		}
		if(p2.xue<=0){
			system("cls");
			printf("        ** OVER!!!    玩家一胜\n   感谢支持小李工作室!!!");
			return false;
		}
		system("cls");
	}
	}else if(t1==2){
		p1.xue=p2.xue=1000;
	while(true){
		f++;
		printf("玩家1:  血量:%d\n    %d     %d",p1.xue,p1.a[1],p1.a[2]);
		printf("\n\n\n");
		printf("    %d     %d\n玩家2:  血量:%d",p2.a[1],p2.a[2],p2.xue);
		printf("\n\n");
		if(f%2==1){
			printf("玩家1:");
			cin>>w1>>w2;
			p1.a[w1]+=p2.a[w2];
			if(p1.a[w1]==10) p1.a[w1]=1;
			if(p1.a[w1]>10) p1.a[w1]-=10;
			int G=PD(p1.a,w1);
			if(G!=0){
				printf("\n玩家2减去了%d滴血!!!",G);
				Sleep(1000);
			}
			
			p2.xue-=G;
			p1.xue+=H;
			if(H!=0){
				printf("\n玩家1加上了%d滴血!!!",H);
				Sleep(1000);
			}
		}else{
			printf("玩家2:");
			cin>>w1>>w2;
			p2.a[w1]+=p1.a[w2];
			if(p2.a[w1]==10) p2.a[w1]=1;
			if(p2.a[w1]>10) p2.a[w1]-=10;
			int G=PD(p2.a,w1);
			if(G!=0){
				printf("\n玩家1减去了%d滴血!!!",G);
				Sleep(1000);
			}
			p1.xue-=G;
			p2.xue+=H;
			if(H!=0){
				printf("\n玩家2加上了%d滴血!!!",H);
				Sleep(1000);
			}
		}
		if(p1.xue<=0){
			system("cls");
			printf("        ** OVER!!!    玩家二胜\n   感谢支持小李工作室!!!");
			return false;
		}
		if(p2.xue<=0){
			system("cls");
			printf("        ** OVER!!!    玩家一胜\n   感谢支持小李工作室!!!");
			return false;
		}
		system("cls");
	}
	}
	return false;
} 

 

李熙尧在2022-03-27 15:38:41追加了内容

注意:x1,x2,y1,y2均不超过10,如果其一==10,则它变为1;如果其一 >10,则它-10

李熙尧在2022-03-29 13:11:37追加了内容

李熙尧在2022-03-30 13:17:40追加了内容

ding

李熙尧在2022-04-03 13:44:11追加了内容

ding

李熙尧在2022-04-10 13:30:06追加了内容

dingdingding


0
已采纳
李宜和
李宜和
高级启示者
高级启示者

你这个游戏让左手打右手的我患上了精神**症(狗头保命)

0
0
万韧山
万韧山
初级天翼
初级天翼

玩不懂欸。。。。。。。。。

0
我要回答