我正在制作一个口袋妖怪游戏,这部分给了我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;
}
}
}
也许这是一个愚蠢的问题,但我不知道它是什么
答案 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不言而喻