📄 worm.java
字号:
}
catch(Exception exception) { }
// DeviceControl.getDefaultDeviceControl().setDeviceActive(4, false);//yue add 1
}*/
if(active)
game.endTurn(true);
}
return false;
}
boolean flag = true;
if(Worms.getTime() - healthCountStartTime < 1000L)
flag = false;
if(health <= 0 && landscape.circle_complete[0] && landscape.circle_complete[1] && landscape.circle_complete[2] && landscape.circle_complete[3] && landscape.circle_complete[4])
{
if(Menu.soundEnabled()) {
//Game.sound.close();
Game.sound.getPlayer(3);
Game.sound.start();
// try
// {
// Thread.sleep(500L);
// }
// catch(Exception exception) { }
//Game.sound.close();
//Game.sound.getPlayer(2);
/*try
{
Game.sound_BYEBYE.start();
}
catch(MediaException mediaexception) { }*/
}
/*if(Menu.vibratorEnabled())
{
// DeviceControl.getDefaultDeviceControl().setDeviceActive(4, true);//yue add 1
try
{
Thread.sleep(500L);
}
catch(Exception exception1) { }
// DeviceControl.getDefaultDeviceControl().setDeviceActive(4, false);//yue add 1
}*/
state = 8;
landscape.drawEntity(positionX - rip.width / 2, positionY + rip.height / 2 + 8, rip, 0, false);
Landscape _tmp = landscape;
landscape.add_boundingRectangle(positionX - rip.width / 2, 150 - (positionY + rip.height / 2 + 8), 14, 20);
healthCountDown = 0;
health = 0;
}
if(healthCountDown > 0 && !falling && flag && state != 8)
{
healthCountDown--;
health--;
healthCountDownLastTime = Worms.getTime();
if(health <= 0 && landscape.circle_complete[0] && landscape.circle_complete[1] && landscape.circle_complete[2] && landscape.circle_complete[3] && landscape.circle_complete[4])
{
if(Menu.soundEnabled()) {
//Game.sound.close();
Game.sound.getPlayer(3);
Game.sound.start();
// try
// {
// Thread.sleep(500L);
// }
// catch(Exception exception) { }
//Game.sound.close();
//Game.sound.getPlayer(2);
/*try
{
Game.sound_BYEBYE.start();
}
catch(MediaException mediaexception) { }*/
}
/* if(Menu.vibratorEnabled())
{
// DeviceControl.getDefaultDeviceControl().setDeviceActive(4, true);//yue add 1
try
{
Thread.sleep(500L);
}
catch(Exception exception2) { }
// DeviceControl.getDefaultDeviceControl().setDeviceActive(4, false);//yue add 1
}*/
state = 8;
landscape.drawEntity(positionX - rip.width / 2, positionY + rip.height / 2 + 8, rip, 0, false);
Landscape _tmp1 = landscape;
landscape.add_boundingRectangle(positionX - rip.width / 2, 150 - (positionY + rip.height / 2 + 8), 14, 20);
healthCountDown = 0;
health = 0;
}
}
if(!landed && !falling)
{
setIdle();
landed = true;
}
if(!active)
return false;
if(!Weapon.isActive())
{
//System.out.println("=====worm====391===");
game.timeLeft = 30 - (int)(Worms.getTime() - turnStartTime) / 1000;
//System.out.println("=====worm====Worms.getTime()==="+Worms.getTime());
//System.out.println("=====worm====turnStartTime==="+turnStartTime);
//System.out.println("=====worm===减==="+(Worms.getTime() - turnStartTime));
if(game.timeLeft <= 0)
{
//System.out.println("=====worm====timeLeft==1="+game.timeLeft);
active = false;
turnStartTime = Worms.getTime();
game.timeLeft = 30;
endTurn();
game.endTurn(false);
return false;
} else {
//System.out.println("=====worm====timeLeft=2=="+game.timeLeft);
}
}
if(state == 6 && calcVelocity() == 100)
fire();
if(pointerActive)
if(pointerDir == 0)
{
pointerPos += 2;
if(pointerPos > 10)
pointerDir ^= 0x1;
} else
{
pointerPos -= 2;
if(pointerPos < 0)
pointerDir ^= 0x1;
}
if(state == 4 && adjustCrosshair)
angle += 3;
if(state == 5 && adjustCrosshair)
angle -= 3;
if(angle < 0)
angle += 360;
if(!computer)
if(direction == 0)
{
if(angle <= 90)
angle = 91;
if(angle >= 270)
angle = 269;
} else
if(angle >= 0 && angle <= 95)
{
if(angle < 0)
angle = 1;
if(angle >= 89)
angle = 89;
} else
{
if(angle < 271)
angle = 271;
if(angle >= 359)
angle = 1;
}
if(state == 4 || state == 5)
if(direction == 0)
{
if(angle == 90)
angle = 91;
if(angle == 269)
angle = 268;
} else
{
if(angle == 90)
angle = 89;
if(angle == 270)
angle = 271;
}
if(state == 2)
{
wormObstructed = false;
positionX--;
landscape.center(positionX, positionY);
if(areaBlocked(-5))
{
wormObstructed = true;
positionX++;
}
if(positionX >= 0)
positionY = 150 - landscape.get_currentHeight(positionX, positionY) - 11;
}
if(state == 3)
{
wormObstructed = false;
positionX++;
if(areaBlocked(5))
{
wormObstructed = true;
positionX--;
}
if(positionX < 300)
positionY = 150 - landscape.get_currentHeight(positionX, positionY) - 11;
landscape.center(positionX, positionY);
}
return true;
}
public boolean healthCountDownOK()
{
if(healthCountDownLastTime == -1L)
return true;
else
return Worms.getTime() - healthCountDownLastTime > 1500L;
}
public boolean isDead()
{
return state == 8;
}
private void drawSelectedWeapon(Graphics g)
{
// System.out.println("===activeWeapon====="+activeWeapon);
// System.out.println("===ammunitionCurrent[activeWeapon]====="+ammunitionCurrent[activeWeapon]);
Game.currentWormActiveWeapon = activeWeapon;
Game.currentWormAmmoCount = ammunitionCurrent[activeWeapon];
}
public void paint(Graphics g)
{
if(state == 8)
return;
drawSelectedWeapon(g);
walk.setFrame(0);
if(state == 1)
walk.setDrawState(1);
if(state == 0)
walk.setDrawState(0);
if(state == 2 || state == 0)
{
walk.setDrawState(0);
if(state == 2)
walk.setFrame((Game.curFrame / 2 & 0x1) + 1);
else
if(state == 0)
walk.setFrame(0);
}
if(state == 3 || state == 1)
{
walk.setDrawState(1);
if(state == 3)
walk.setFrame((Game.curFrame / 2 & 0x1) + 1);
else
if(state == 1)
walk.setFrame(0);
}
if(state == 2 || state == 0)
{
walk.setPosition((positionX + Landscape.levelX) - walk.width / 2, (positionY + Landscape.levelY) - walk.height / 2);
walk.paint(g);
}
if(state == 3 || state == 1)
{
walk.setPosition((positionX + Landscape.levelX) - walk.width / 2, (positionY + Landscape.levelY) - walk.height / 2);
walk.paint(g);
}
if(state == 5 || state == 4 || state == 7 || state == 6)
{
bazooka.setPosition((positionX + Landscape.levelX) - bazooka.width / 2, (positionY + Landscape.levelY) - bazooka.height / 2);
if(angle >= 90 && angle <= 270)
bazooka.setFrame(((180 - (angle - 90)) * 8) / 180);
else
if(angle < 90)
bazooka.setFrame(4 + (angle * 8) / 180);
else
bazooka.setFrame(-4 + ((angle - 180) * 8) / 180);
if(angle <= 90 || angle >= 270)
bazooka.setDrawState(1);
else
bazooka.setDrawState(0);
bazooka.paint(g);
if(state == 6)
{
int j1 = calcVelocity();
for(int k1 = 0; k1 < j1 / 8; k1++)
{
int i = Game.table[(angle + 90) % 360] * (k1 * 3 + 5) >> 8;
int l = Game.table[(angle + 180) % 360] * (k1 * 3 + 5) >> 8;
char c = '\377';
int l1 = k1 * 25;
int i2 = 0;
if(c < 0)
c = '\0';
if(c > '\377')
c = '\377';
if(l1 < 0)
l1 = 0;
if(l1 > 255)
l1 = 255;
if(i2 < 0)
i2 = 0;
if(i2 > 255)
i2 = 255;
g.setColor(c, l1, i2);
g.fillArc((positionX + Landscape.levelX + i) - k1 / 2, (positionY + Landscape.levelY + l) - k1 / 2, k1 + 5, k1 + 5, 0, 360);
}
}
if(state != 7)
{
int j = Game.table[(angle + 90) % 360] * 40 >> 8;
int i1 = Game.table[(angle + 180) % 360] * 40 >> 8;
if(!redTeam)
{
crosshair.setPosition((positionX - crosshair.width / 2) + j + Landscape.levelX + 2, (positionY - crosshair.height / 2) + i1 + Landscape.levelY + 2);
crosshair.setFrame(1);
} else
{
crosshair.setPosition((positionX - crosshair.width / 2) + j + Landscape.levelX, (positionY - crosshair.height / 2) + i1 + Landscape.levelY);
crosshair.setFrame(0);
}
crosshair.paint(g);
}
}
if(pointerActive && pointerVisible)
{
if(redTeam)
arrow.setFrame(0);
else
arrow.setFrame(1);
arrow.setPosition((positionX - arrow.width / 2) + Landscape.levelX, (positionY - arrow.height - 43) + pointerPos + Landscape.levelY);
arrow.paint(g);
}
if(pointerActive || healthCountDown >= 0 && !falling)
{
int k = ((7 + positionX) - FontRender.stringWidth("" + health) / 2) + Landscape.levelX;
if(health >= 0)
FontRender.writeString(g, "" + health, k, (positionY + Landscape.levelY) - 25);
medic.setPosition(k - 13, (positionY + Landscape.levelY) - 24);
medic.paint(g);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -