游戏初步简易伤害系统

利用循环 和 随机数生成

因为没有攻速设定 ,所以我能做的只有回合制的攻击。

下面附上代码:

#include 
#include 
#include 
int main()
{
    printf("游戏开始:\n");
    //使用时间做种子,产生不一样的随机数
    srand(time(NULL));
    /*实现模拟玩家对战  双方初始值HP均为100
      每次攻击5-15 HP最先到零或以下的被KO*/
    int hp1=100,hp2=100;
    int att1,att2;
    while(hp1>0&&hp2>0)  //循环执行条件是双方血量均不为零
    {
        att1=rand()%11+5;
        att2=rand()%11+5;
    //rand()的生成值范围是0-32767 目标为生成5-15的数 %控制数据范围 +控制下限
        hp2-=att1;
        if(hp2<=0)
        {
            printf("**********************************************************\n");
            printf("玩家1发动攻击造成%d点伤害\t玩家2剩余血量%d:\n",att1,hp2);
            printf("玩家2已死亡\t玩家1剩余血量%d:\n",hp1);
            printf("**********************************************************\n");
            break;
        }
        hp1-=att2;
        printf("**********************************************************\n");
        printf("玩家1发动攻击造成%d点伤害\t玩家2剩余血量%d:\n",att1,hp2);
        printf("玩家2发动攻击造成%d点伤害\t玩家1剩余血量%d:\n",att2,hp1);
        printf("**********************************************************\n");
    }
    printf("KO~游戏结束\n");
    if(hp1>hp2) printf("玩家1获胜");
    else printf("玩家2获胜");
    return 0;
}

最开始没有在玩家1攻击后加if判断 运行存在双方负血的结果,与你死我活的对抗不符

所以处理方式就是加一个判断默认攻击有一个次序

 

运行结果当然是玩家2十分凄惨

这里再附上一个我刷了好多次玩家2获胜的截图游戏初步简易伤害系统_第1张图片

你可能感兴趣的:(游戏初步)