随机Java:CPU播放器值未计算
我有一个非常简单的游戏:两个玩家从十个攻击点开始,选择若干点攻击另一个玩家,目标是将另一个玩家的生命从40减少到零。我已经让两个播放器的函数工作得很好,但是当涉及到在单机播放器中为计算机播放器生成值时——这是使用开关盒设置的——似乎没有生成值。难度标志由单选按钮组设置,但无论难度设置为什么,都不会生成计算机玩家的攻击值
//This code calculates remaining attack/life points with the selected attack values.
//It's here that CPU player attack values SHOULD be set as well.
if(attackVal1 <= player1AtkPoints)
{
player1AtkPoints = player1AtkPoints - attackVal1;
}
else
if(attackVal1 > player1AtkPoints)
{
attackVal1 = player1AtkPoints;
player1AtkPoints = 0;
}
life2 = life2 - attackVal1;
if(P2ACTIVE = false)
{
switch(difficultyFlag)
{
case 1:
attackVal2 = cpuPlayer.nextInt(3) + 1;
break;
case 2:
attackVal2 = cpuPlayer.nextInt(4) + 1;
break;
case 3:
attackVal2 = cpuPlayer.nextInt(5) + 1;
break;
case 4:
attackVal2 = cpuPlayer.nextInt(8) + 1;
break;
default:
attackVal2 = cpuPlayer.nextInt(3)+ 1;
break;
}
}
if(attackVal2 <= player2AtkPoints)
{
player2AtkPoints = player2AtkPoints - attackVal2;
}
else
if(attackVal2 > player2AtkPoints)
{
attackVal2 = player2AtkPoints;
player2AtkPoints = 0;
}
life1 = life1 - attackVal2;
以上是相关代码。玩家一的计算工作,并减少玩家两个生命点的单人和双人,两人模式的工作,以减少玩家一的生命。只有当它被设置为单人时,玩家的生命值才会发生任何变化,这使得这是一场单方面的战斗
# 1 楼答案
当您打算将
false
与false
进行比较时,您已将false
分配给此行中的P2ACTIVE
您可以使用
==
比较运算符,但它已经是boolean
,所以只需使用!
运算符即可: