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