获取涉及';'的语法错误

时间:2012-06-16 03:47:17

标签: c#

我正在制作一个口袋妖怪游戏,这部分给了我3个错误: “无效的表达术语';' (CS1525)“和”;预期(CS1002)“

public class HeldItem
{
    public static int CritCalc(bool item,bool skill, bool UsedItem,int dmg)
    {
        Random rand=new Random();
        Action jump=new Action();
        int i = rand()%100;
        double CritPerc = 6.25;
        if(item==true)
            CritPerc=12.5;
        else if(skill==true)
            CritPerc=12.5;
        else if(UsedItem==true)
            CritPerc=12.5;
        else if((item==true & skill== true) || (item==true & UsedItem == true) || (skill==true & UsedItem==true))
                CritPerc=25%;
        else if(item==true & skill == true & UsedItem==true)
            CritPerc=33.3%;
        if(Action) //jump
            CritPerc = 50%;
        if(i<CritPerc)
            dmg=2*dmg;
        else if(i>CritPerc)
            dmg==dmg;
        return dmg; 
    }
}

}

也许这是一个愚蠢的问题,但我不知道它是什么

4 个答案:

答案 0 :(得分:10)

您无法在C#中指定百分比。

您有以下几行:

CritPerc=25%;
CritPerc=33.3%;
CritPerc = 50%;

无效(百分比表示C#中的模运算符)。

相反,您可能希望将值指定为双浮点值。

CritPerc=0.25;
CritPerc=0.333;
CritPerc = 0.50;

答案 1 :(得分:2)

  c#中的%p(%)运算符意味着模运算需要两个   操作数。但你给一个。所以它给出了错误。

而不是

CritPerc=25%;

CritPerc=.25;

CritPerc=25/100;

  

dmg == dmg

导致错误。

答案 2 :(得分:1)

该行说:

dmg == dmg;

啊,致命的'='错误。

答案 3 :(得分:1)

你有dmg == dmg这是错误的操作符,如果dmg已经有正确的值只返回它,dmg = dmg不言而喻