源码如下:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
//以时间为种子,产生不一样的随机数
srand((unsigned) time(NULL));
//printf("随机数字是%d\n",rand());
int hp1=100,hp2=100; //设定初始的血量为100
int att1,att2; //定义两个整形变量作为攻击力
int i=1; //设定执行的次数
while(hp1>0 && hp2>0) //双方的生命值要大于0才能进行
{
att1=rand() % 11 + 5; //产生5-15之间的一个随机攻击力(rand产生随机数,取模%11为0-10之间,然后两边同时+5则为5-15之间,(b-a+1)+5)
att2=rand() % 11 + 5;
//1P先攻击
hp2-=att1;
//2P攻击
hp1-=att2;
//判断谁的血量少于零则游戏结束
if (hp1<0)
{
printf("玩家1的第%d轮攻击力是%d.\t玩家2的剩余血量是%d.\t\n",i,att1,hp2);
printf("玩家2的第%d轮攻击力是%d.\t玩家1的剩余血量是%d.\t\n",i,att2,hp1);
printf("<<<<<<<<<<<游戏结束~~~!hp2获胜!!他的剩余血量是%d>>>>>>>\n",hp2);
break;
}
else if (hp2<0)
{
printf("玩家1的第%d轮攻击力是%d.\t玩家2的剩余血量是%d.\t\n",i,att1,hp2);
printf("玩家2的第%d轮攻击力是%d.\t玩家1的剩余血量是%d.\t\n",i,att2,hp1);
printf("<<<<<<<<<<<游戏结束~~~!hp1获胜!!他的剩余血量是%d>>>>>>>\n",hp1);
break;
}
if (hp1==0 && hp2==0)
{
printf("<<<<<<<<<<<游戏结束~~~!双方战平!!>>>>>>>\n");
break;
}
printf("************************************\n");
printf("当前是第%d轮\n",i);
printf("玩家1的第%d轮攻击力是%d.\t玩家2的剩余血量是%d.\t\n",i,att1,hp2);
printf("玩家2的第%d轮攻击力是%d.\t玩家1的剩余血量是%d.\t\n",i,att2,hp1);
printf("************************************\n");
Sleep(500);
i++;
}
return0;
效果截图: