#include<stdio.h>//双人小游戏
#include<windows.h>
int main()
{
printf("规则:输1聚气(用于买招式)/输2拳(一个气)/ 输0盾(一个气且盾最多买两个且盾不能算生命值)/ 6回血(两个气)\n\n\
/当你无法购买时会要求你再次输入/\n\n回合个人规定若回合内生命值为非正则算输,若回合结束则生命高者获胜否则平局\n\n");
printf("了解完后请按回车键开始游戏\n");
getchar();
char differ,differ2;//定义人物以及顺序
int xin1=6, xin2=6;//定义生命值
int dun1=0, juqi1=0,huixue1=0;//定义招式拳一个气 盾一个气 聚气 回血两个气//盾最多买两个
int dun2=0, juqi2=0,huixue2=0;
int n;
printf("请定义回合数:");
scanf_s("%d", &n);//回合数定义
printf("请随便输入数字决定谁先出招:");
int n1, sum = 0;//输数决定
scanf_s("%d", &n1);
for (; n1 > 0; n1 = n1 / 10)//
{ sum = n1 % 10 + sum;}
int c = sum % 10;
if (c == 1 || c == 3 || c == 5 || c == 7 || c == 9) { differ = 'A'; differ2 = 'B'; }
else { differ = 'B'; differ2 = 'A'; }//谁先出招
//定义招式作用
int i;
for (i = 1; i <= n&&xin1>0&&xin2>0; ++i)
{if (i % 2 == 1)
{int x;
printf("%c: 生命值%d 护盾值%d 气数%d\n", differ, xin1, dun1,juqi1);
scanf_s("%d", &x);
if (x ==1)
++juqi1;
else if (x == 0)
{dun1 += 2;
if (dun1 ==6)
{dun1 = 4;--i;continue;}
--juqi1;
}
else if ( x == 6)
{if (juqi1 >= 2)
{++xin1;juqi1 -= 2;}
else{--i;continue;}
}
else if (x == 2){if (juqi1 >= 1)
{if (dun2 - 2 <= 0)
{dun2 = 0;xin2 = xin2 + dun2 - 2;}
else dun2 = dun2 - 2;
--juqi1;}
else {--i;continue;}}
}
//
else{int y;printf("%c: 生命值%d 护盾值%d 气数%d\n", differ2, xin2, dun2, juqi2);
scanf_s("%d", &y);
if (y == 1)++juqi2;
else if (y == 0){dun2 += 2;
if (dun2 == 6){dun2 = 4;--i;continue;}
--juqi2;}
else if (y == 6)
{if (juqi2 >= 2){++xin2;juqi2 -= 2;}
else{--i;continue;}
}
else if (y == 2){
if (juqi2 >= 1){if (dun1 - 2 <= 0)
{dun1 = 0;xin1 = xin1 + dun1 - 2;}
else dun1 = dun1 - 2;
--juqi2;
}
else{--i;continue;}
}
}
}//最后判断胜负
system("cls");
if (xin1 > xin2) printf("%c胜", differ);
else if (xin2 > xin1) printf("%c胜", differ2);
else printf("平局");
}
06-23