1. 程式人生 > >爐石傳說爆牌魚斬殺演算法C語言實現

爐石傳說爆牌魚斬殺演算法C語言實現

#include <stdio.h>


int main()
{
    printf("請輸入敵方血量:\n");
    int difangxue;
    scanf("%d",&difangxue);
    printf("請輸入自己血量:\n");
    int zijixue;
    scanf("%d",&zijixue);


    printf("請輸入敵方剩餘卡數:\n");
    int difangsheng;
    scanf("%d",&difangsheng);
    printf("請輸入自己卡數:\n");
    int zijisheng;
    scanf("%d",&zijisheng);
    getchar();


    char pai;
    int d1=1;
    int ci=0;


    while((pai=getchar())!=EOF)//t是銅須d是大哥0結束
    {
        if(pai=='0')
        {
            break;
        }
        else
        {
            if(pai=='t')
            {
                d1+=1;
            }
            else if(pai=='d')
            {
                ci+=d1;
            }
        }
    }






    int z=0,d=0;
    while(ci--)
    {
        if(zijisheng>0)//自己扣血
        {
            zijisheng--;
        }
        else
        {
            zijixue-=(++z);
        }
        if(zijisheng>0)
        {
            zijisheng--;
        }
        else
        {
            zijixue-=(++z);
        }


        if(difangsheng>0)//敵方扣血
        {
            difangsheng--;
        }
        else
        {
            difangxue-=(++d);
        }
        if(difangsheng>0)
        {
            difangsheng--;
        }
        else
        {
            difangxue-=(++d);
        }


        if(zijixue<=0&&difangxue<=0)
        {
            printf("同歸於盡!");
            break;
        }
        else if(zijixue<=0&&difangxue>0)
        {
            printf("想自殺?");printf("%d %d",zijixue,difangxue);
            break;
        }
        else if(zijixue>0&&difangxue<=0)
        {
            printf("完美斬殺!");
            break;
        }
        else if(ci==0)
        {
            difangxue-=(++d);
            if(difangxue<=0)
            {
                printf("回合結束後瀟灑斬殺。");
            }
            else
            {
                printf("並沒有什麼卵用==");
            }
        }






    }








    return 0;
}