📄 fight.java
字号:
return;
for(int i = 0; i < iMMonsters; i++)
if(iMDoing[i] == 0 || iMDoing[i] == 1 || iMDoing[i] == 3)
I2Monster[_$552].drawFrame(g, iMXPos[i], _$802[i] - I2Monster[_$552].dy, 0);
else
if(iMDoing[i] == 4)
I2Monster[_$552].drawFrame(g, iMXPos[i], _$802[i] - I2Monster[_$552].dy, 1);
else
if(iMDoing[i] == 5)
I2Monster[_$552].drawFrame(g, iMXPos[i], _$802[i] - I2Monster[_$552].dy, 0);
for(int j = 0; j < iEPlayers; j++)
{
int i1 = iEImage[j];
if(iEDoing[j] == 0 || iEDoing[j] == 1 || iEDoing[j] == 3 || iEDoing[j] == 6 || iEDoing[j] == 7 || iEDoing[j] == 8)
I2E[i1].drawFrame(g, iEXPos[j], iEYPos[j] - I2E[i1].dy, 0);
else
if(iEDoing[j] == 4)
I2E[i1].drawFrame(g, iEXPos[j], _$802[j] - I2E[i1].dy, 1);
else
if(iEDoing[j] == 5)
I2E[i1].drawFrame(g, iEXPos[j], _$802[j] - I2E[i1].dy, 0);
if(iEDoing[j] == 8 && (frames >> 1 & 0x1) == 0)
I2Potion.draw(g, iEXPos[j], iEYPos[j] - I2E[i1].dy);
}
for(int k = 0; k < iMMonsters; k++)
if(iMLife[k] > 0)
{
mu.printValue(g, 21, _$805[k] - 1, iMLife[k]);
I2Heart.draw(g, 11, _$805[k] - 1);
}
for(int l = 0; l < 3; l++)
if(iEDoing[l] != 98)
{
Graphics _tmp = g;
mu.printValue(g, -20, _$805[l] - 1, iELife[l], 8);
Graphics _tmp1 = g;
I2Heart.draw(g, -11, _$805[l] - 1, 8);
}
Graphics _tmp2 = g;
I2Potion.draw(g, -60, 100, 8);
Graphics _tmp3 = g;
mu.printValue(g, -60 - I2Potion.dx - 2, 102, iPotions, 8);
drawFlyingValues(g);
if(iMonsterTypeDamage[iMonsterType] == 0)
{
mu.print(g, 66, 23, 297);
mu.print(g, 66, 50, 299);
mu.print(g, 66, 77, 300);
int j1 = frames / 3 & 0x3;
if(j1 == 3)
j1 = 1;
I2Tut.drawFrame(g, 52 + j1, 25, 0);
I2Tut.drawFrame(g, 52 + j1, 52, 0);
I2Tut.drawFrame(g, 52 + j1, 79, 0);
mu.print(g, 109, 37, 298);
mu.print(g, 109, 64, 301);
I2Tut.drawFrame(g, 115, 27 + j1, 2);
I2Tut.drawFrame(g, 115, 49 - j1, 1);
I2Tut.drawFrame(g, 115, 55 + j1, 2);
I2Tut.drawFrame(g, 115, 78 - j1, 1);
Graphics _tmp4 = g;
mu.print(g, 0, 4, 303, 2);
Graphics _tmp5 = g;
Graphics _tmp6 = g;
mu.print(g, 0, -32, 302, 0x2 | 0x20);
}
frames++;
}
public boolean run()
{
running = true;
for(int i = 0; i < 3; i++)
{
if(mu.key_num[1 + i * 3] && iEDoing[i] == 0 && iMDoing[i] < 98)
{
iEDoing[i] = 1;
bMUnderAttack[i] = true;
}
if(mu.key_num[3 + i * 3] && iEDoing[i] == 0 && iPotions > 0)
{
iPotions--;
iEDoing[i] = 8;
iEValue[i] = 15;
}
}
if(mu.key_num[2])
{
int j = ((_$802[1] - _$802[0]) * 3) / iMSpeed;
j += 8;
if((iMXPos[0] < j || iMLife[0] <= 0 || iMDoing[0] == 3) && (iMXPos[1] < j || iMLife[1] <= 0 || iMDoing[1] == 3) && (iEDoing[0] == 0 || iELife[0] <= 0) && (iEDoing[1] == 0 || iELife[1] <= 0) && (iELife[1] > 0 || iEDoing[2] != 6))
{
if(iELife[0] > 0)
iEDoing[0] = 7;
if(iELife[1] > 0)
iEDoing[1] = 6;
}
}
if(mu.key_num[8])
{
int k = ((_$802[2] - _$802[1]) * 3) / iMSpeed;
k += 8;
if((iMXPos[1] < k || iMLife[1] <= 0 || iMDoing[1] == 3) && (iMXPos[2] < k || iMLife[2] <= 0 || iMDoing[2] == 3) && (iEDoing[1] == 0 || iELife[1] <= 0) && (iEDoing[2] == 0 || iELife[2] <= 0) && (iELife[1] > 0 || iEDoing[0] != 7))
{
if(iELife[1] > 0)
iEDoing[1] = 7;
if(iELife[2] > 0)
iEDoing[2] = 6;
}
}
if(runPlayers())
{
_$1452();
bPlayerWins = false;
return true;
}
if(runMonsters())
{
_$1452();
bPlayerWins = true;
return true;
} else
{
running = false;
return false;
}
}
boolean runMonsters()
{
boolean flag = true;
for(int i = 0; i < iMMonsters; i++)
{
if(iMLife[i] > 0)
flag = false;
switch(iMDoing[i])
{
case 2: // '\002'
default:
break;
case 0: // '\0'
if(random.nextInt() % iMWait == 0 && (iEDoing[i] == 0 || iEDoing[i] == 8 || iEDoing[i] == 1))
{
iMDoing[i] = 1;
bEUnderAttack[i] = true;
}
break;
case 1: // '\001'
iMXPos[i] += iMSpeed;
if(iMXPos[i] + I2Monster[_$552].dx > iEXPos[i] && iELife[i] > 0)
setInitiative(i);
if(iELife[i] <= 0)
iMDoing[i] = 3;
break;
case 4: // '\004'
if(++iMValue[i] == 4)
{
hitPlayer(i);
iMDoing[i] = 3;
}
break;
case 3: // '\003'
if(iMXPos[i] <= 8)
{
bMUnderAttack[i] = false;
iMDoing[i] = 0;
} else
{
iMXPos[i] -= iMSpeed;
}
break;
case 5: // '\005'
if(++iMValue[i] == 5)
iMDoing[i] = 3;
break;
}
}
return flag;
}
boolean runPlayers()
{
boolean flag = true;
for(int i = 0; i < 3; i++)
{
if(iELife[i] > 0)
flag = false;
switch(iEDoing[i])
{
case 0: // '\0'
case 2: // '\002'
default:
break;
case 1: // '\001'
iEXPos[i] -= iESpeed[i];
if(iEXPos[i] < iMXPos[i] + I2Monster[_$552].dx)
setInitiative(i);
break;
case 4: // '\004'
if(++iEValue[i] == 4)
{
hitMonster(i);
iEDoing[i] = 3;
}
break;
case 3: // '\003'
if(iEXPos[i] >= 100)
{
bEUnderAttack[i] = false;
iEDoing[i] = 0;
} else
{
iEXPos[i] += iESpeed[i];
}
break;
case 5: // '\005'
if(++iEValue[i] == 5)
iEDoing[i] = 3;
break;
case 6: // '\006'
iEYPos[i] -= 3;
if(iELife[i - 1] <= 0 && iEYPos[i] < _$802[i - 1])
{
iEYPos[i] = _$802[i - 1];
iEYPos[i - 1] = _$802[i];
iEDoing[i - 1] = 0;
iEDoing[i] = 98;
switchPlayerValues(i - 1, i);
}
break;
case 7: // '\007'
iEYPos[i] += 3;
if(iEYPos[i] <= _$802[i + 1])
break;
iEYPos[i] = _$802[i + 1];
iEYPos[i + 1] = _$802[i];
if(iELife[i + 1] > 0)
iEDoing[i] = 0;
else
iEDoing[i] = 98;
iEDoing[i + 1] = 0;
switchPlayerValues(i, i + 1);
break;
case 8: // '\b'
if(--iEValue[i] == 0)
{
iELife[i] = iELifeMax[i];
iEDoing[i] = 0;
}
break;
}
}
return flag;
}
private void _$1452()
{
if(iEImage[2] == 0)
switchPlayerValues(1, 2);
if(iEImage[1] == 0)
switchPlayerValues(0, 1);
if(iEImage[1] == 2)
switchPlayerValues(1, 2);
}
void setFlyingValue(int i, int j)
{
iDDamage[i] = j;
if(i < 3)
{
iDX[i] = iMXPos[i];
iDY[i] = _$802[i] - I2Monster[_$552].dy;
} else
{
iDX[i] = iEXPos[i - 3] + 5;
iDY[i] = _$802[i - 3] - 20;
}
iDValue[i] = 20;
}
void setInitiative(int i)
{
iMValue[i] = 0;
iEValue[i] = 0;
byte byte0 = 30;
int j = 8 + byte0;
int k = 100 - byte0;
iMDoing[i] = 5;
iEDoing[i] = 5;
if(iEXPos[i] <= k)
iEDoing[i] = 4;
if(iMXPos[i] >= j)
iMDoing[i] = 4;
}
void switchPlayerValues(int i, int j)
{
int k = iEPlayer[j];
iEPlayer[j] = iEPlayer[i];
iEPlayer[i] = k;
k = iEDamage[j];
iEDamage[j] = iEDamage[i];
iEDamage[i] = k;
k = iEArmor[j];
iEArmor[j] = iEArmor[i];
iEArmor[i] = k;
k = iELife[j];
iELife[j] = iELife[i];
iELife[i] = k;
k = iELifeMax[j];
iELifeMax[j] = iELifeMax[i];
iELifeMax[i] = k;
k = iESpeed[j];
iESpeed[j] = iESpeed[i];
iESpeed[i] = k;
k = iEImage[j];
iEImage[j] = iEImage[i];
iEImage[i] = k;
k = iEXPos[j];
iEXPos[j] = iEXPos[i];
iEXPos[i] = k;
k = iEYPos[j];
iEYPos[j] = iEYPos[i];
iEYPos[i] = k;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -