📄 b.java
字号:
Graphics g11 = g1;
g1.drawImage(z, i + e + 2, h + 2, 20);
Graphics g16 = g1;
Graphics g19 = g1;
g1.drawImage(y, i + e + 2, h + E / 2, 20);
} else
{
Graphics g7 = g1;
Graphics g12 = g1;
g1.drawImage(z, i + 2, h + E + 2, 20);
Graphics g17 = g1;
Graphics g20 = g1;
g1.drawImage(y, i + e / 2, h + E + 2, 20);
}
_fldlong = false;
}
if(flag)
{
g1.setColor(63, 63, 63);
g1.fillRect(i + e + 1, h + w._fldcase + 3, 20, I);
g1.fillRect(i + e + 1, h + E / 2 + w._fldcase + 2, 20, I);
g1.setColor(255, 255, 254);
Graphics g2 = g1;
Graphics g4 = g1;
g1.drawString(" " + D, i + e + 2, h + w._fldcase + 1, 20);
Graphics g8 = g1;
Graphics g13 = g1;
g1.drawString(" " + J, i + e + 2, h + E / 2 + w._fldcase + 0, 20);
} else
{
g1.setColor(63, 63, 63);
g1.fillRect(i + w._fldvoid + 3, h + E + 1, 20, I);
g1.fillRect(i + e / 2 + w._fldvoid + 1, h + E + 1, 20, I);
g1.setColor(255, 255, 254);
Graphics g3 = g1;
Graphics g5 = g1;
g1.drawString(" " + D, i + w._fldvoid + 2, h + E + 0, 20);
Graphics g9 = g1;
Graphics g14 = g1;
g1.drawString(" " + J, i + e / 2 + w._fldvoid, h + E + 0, 20);
}
w.a(g1);
for(int i1 = 0; i1 < l; i1++)
if(_fldgoto[i1])
{
O[i1].a(g1);
for(int k1 = 0; k1 < l; k1++)
if(i1 != k1 && O[k1].a && O[i1].a(O[k1]._fldint, O[k1]._fldfor))
{
O[i1].b = (O[i1].b ^ 7) & 3;
if(O[i1].b == 0)
O[i1].b = 4;
}
if(O[i1].a(w._fldbyte, w._fldnew) && w._fldnull == 1)
{
O[i1].b = (O[i1].b ^ 7) & 3;
if(O[i1].b == 0)
O[i1].b = 4;
w._fldnull = 7;
w.f = w.f & 0xf;
w._fldfor = 8;
}
if(_fldchar[0]._fldif && _fldchar[0].a(O[i1]._fldint, O[i1]._fldfor, O[i1]._fldlong, O[i1]._fldtry) && !_fldchar[0]._fldint)
{
_fldchar[0]._fldfor = O[i1]._fldint;
_fldchar[0]._flddo = O[i1]._fldfor;
_fldchar[0]._fldint = true;
_fldchar[0]._fldnull = 8;
_fldgoto[i1] = false;
J--;
if(J == 0)
k = true;
g1.fillRect(O[i1]._fldint, O[i1]._fldfor, O[i1]._fldlong, O[i1]._fldtry);
}
} else
if(J >= l)
{
switch(i1)
{
case 0: // '\0'
O[0]._fldint = (i + e / 2) - O[0]._fldlong / 2;
O[0]._fldfor = h + 2;
break;
case 1: // '\001'
O[1]._fldint = i;
O[1]._fldfor = h + 2;
break;
case 2: // '\002'
O[2]._fldint = (i + e) - O[2]._fldlong;
O[2]._fldfor = h + 2;
break;
}
O[i1].a = true;
_fldgoto[i1] = true;
for(int l1 = 0; l1 < l; l1++)
if(_fldgoto[l1] && i1 != l1 && O[l1].a(O[i1]._fldint, O[i1]._fldfor))
{
O[i1].a = false;
_fldgoto[i1] = false;
}
}
if(_fldchar[0]._fldif)
_fldchar[0].a(g1);
else
w.b = false;
for(int i2 = 1; i2 < _fldif; i2++)
if(r[i2])
{
_fldchar[i2].a(g1);
if(!_fldchar[i2]._fldif)
{
r[i2] = false;
for(int k2 = 0; k2 < l; k2++)
if(O[k2]._fldelse == i2 && O[k2]._fldnull)
O[k2]._fldnull = false;
}
if(r[0] && _fldchar[i2].a(_fldchar[0]._fldbyte, _fldchar[0]._fldtry, _fldchar[0].b, _fldchar[0]._fldchar) && w._fldnull == 1 && !_fldchar[i2]._fldint && !_fldchar[0]._fldint)
{
_fldchar[i2]._fldif = false;
_fldchar[0]._fldif = false;
r[0] = false;
r[i2] = false;
g1.fillRect(_fldchar[i2]._fldbyte, _fldchar[i2]._fldtry, _fldchar[i2].b, _fldchar[i2]._fldchar);
g1.fillRect(_fldchar[0]._fldbyte, _fldchar[0]._fldtry, _fldchar[0].b, _fldchar[0]._fldchar);
}
if(_fldchar[i2].a(w._fldbyte, w._fldnew, w._fldvoid, w._fldcase) && w._fldnull == 1 && !_fldchar[i2]._fldint)
{
_fldchar[i2]._fldif = false;
r[i2] = false;
g1.fillRect(_fldchar[i2]._fldbyte, _fldchar[i2]._fldtry, _fldchar[i2].b, _fldchar[i2]._fldchar);
w._fldnull = 7;
w.f = w.f & 0xf;
w._fldfor = 8;
}
}
if(k || x)
{
try
{
if(k)
_fldnull = Image.createImage("/win.png");
if(x)
_fldnull = Image.createImage("/lose.png");
}
catch(Exception exception)
{
System.out.println(exception);
}
H = 1;
_fldlong = true;
u = 4;
}
}
private void _mthdo(Graphics g1)
{
if(_fldlong)
{
_fldlong = false;
_fldint = _fldnull.getWidth() / 2;
_fldfor = _fldnull.getHeight() / 2;
_fldnew = 0;
_fldvoid = 0;
}
switch(H)
{
default:
break;
case 1: // '\001'
g1.translate((a - _fldnull.getWidth()) / 2, (_flddo - _fldnull.getHeight()) / 3);
g1.setClip(_fldint, _fldfor, _fldnew, _fldvoid);
Graphics g2 = g1;
Graphics g3 = g1;
g1.drawImage(_fldnull, 0, 0, 20);
if(_fldnew < _fldnull.getWidth())
{
_fldint -= 4;
_fldfor -= 4;
_fldnew += 8;
_fldvoid += 8;
} else
{
_fldcase.a = 0;
if(k && _fldtry == 20)
{
try
{
v = Image.createImage("/medal.png");
}
catch(Exception exception)
{
System.out.println(exception);
}
H = 2;
} else
{
H = 4;
}
}
break;
case 2: // '\002'
if(_fldcase.a >= 2)
{
_fldcase.a = 0;
H = 3;
g1.setColor(0);
g1.fillRect(0, 0, a, _flddo);
}
break;
case 3: // '\003'
Graphics g4 = g1;
Graphics g5 = g1;
g1.drawImage(v, (a - v.getWidth()) / 2, (_flddo - v.getHeight()) / 2, 20);
g1.setColor(255, 255, 255);
g1.drawString("You are a HERO!", a / 2, (_flddo + v.getHeight()) / 2, 17);
if(_fldcase.a >= 2)
{
_fldcase.a = 0;
H = 4;
}
break;
case 4: // '\004'
_fldnull = null;
if(G != null)
G.commandAction(List.SELECT_COMMAND, this);
break;
}
}
private boolean a(int i1)
{
Object obj = null;
boolean flag = false;
int j1 = 0;
int ai[] = new int[2704];
String s1 = "/tank_map.";
try
{
InputStream inputstream = getClass().getResourceAsStream(s1 + i1);
if(inputstream != null)
{
int k1;
while((k1 = inputstream.read()) != -1)
{
int i2 = k1;
int k2 = inputstream.read();
for(int i3 = 0; i3 < i2; i3++)
{
ai[j1] = k2;
ai[52 + j1] = k2;
ai[j1 + 1] = k2;
ai[52 + j1 + 1] = k2;
if((j1 += 2) % 52 == 0)
j1 += 52;
}
}
inputstream.close();
}
System.out.println("Could not find the map for level " + i1);
}
catch(IOException ioexception)
{
return false;
}
boolean flag1 = false;
int l1 = 0;
int j2 = o * 52 + p;
for(int l2 = 0; l2 < 2704; l2++)
if(l2 >= j2 && l2 < j2 + e / 4)
n[l1++] = ai[l2];
else
if(l2 == j2 + e / 4)
{
j2 += 52;
if(l2 == j2)
n[l1++] = ai[l2];
}
return true;
}
void a(int i1, int j1, int k1, int l1, int i2)
{
if(!_fldchar[i1]._fldif)
{
r[i1] = true;
_fldchar[i1]._fldif = true;
_fldchar[i1].f = j1 & 0xf;
if(_fldchar[i1].f == 0)
_fldchar[i1].f = 3;
switch(_fldchar[i1].f)
{
default:
break;
case 1: // '\001'
_fldchar[i1]._fldtry = l1 + i2;
m = true;
if(k1 > i + 2)
_fldchar[i1]._fldbyte = k1;
else
_fldchar[i1]._fldbyte = i + 2;
break;
case 2: // '\002'
_fldchar[i1]._fldtry = l1 + i2;
m = true;
if(k1 < (i + e) - 18)
_fldchar[i1]._fldbyte = k1 + 6;
else
_fldchar[i1]._fldbyte = (i + e) - 10;
break;
case 3: // '\003'
_fldchar[i1]._fldbyte = k1 + i2;
m = true;
if(l1 > h + 2)
_fldchar[i1]._fldtry = l1;
else
_fldchar[i1]._fldtry = h + 2;
break;
case 4: // '\004'
_fldchar[i1]._fldbyte = k1 + i2;
m = true;
if(l1 < (h + E) - 18)
_fldchar[i1]._fldtry = l1 + 6;
else
_fldchar[i1]._fldtry = (h + E) - 10;
break;
}
}
}
public void setCommandListener(CommandListener commandlistener)
{
super.setCommandListener(commandlistener);
G = commandlistener;
}
public Screen a()
{
String s1 = "Result";
j = new ChoiceGroup("Your choice", 1);
A = new Form(null);
if(k)
{
if(_fldtry < 20)
j.append("Next Level", null);
else
j.append("Play Again", null);
} else
{
j.append("Try Again", null);
}
j.append("Back to Menu", null);
j.append("Quit", null);
if(k)
s1 = "You Win!";
if(x)
s1 = "You lose!";
A.append(j);
A.setTitle(s1);
return A;
}
void _mthif(int i1)
{
_fldlong = true;
k = false;
x = false;
l = 3;
_fldif = 3;
J = 3 + i1 * 3;
try
{
t = Image.createImage("/tiles.png");
g = Image.createImage(8, 8);
_fldelse = g.getGraphics();
_fldelse.drawImage(t, 0, 0, 20);
f = Image.createImage(8, 8);
_fldelse = f.getGraphics();
_fldelse.drawImage(t, -8, 0, 20);
d = Image.createImage(8, 8);
_fldelse = d.getGraphics();
_fldelse.drawImage(t, 0, -8, 20);
c = Image.createImage(8, 8);
_fldelse = c.getGraphics();
_fldelse.drawImage(t, -8, -8, 20);
K = Image.createImage(16, 16);
_fldelse = K.getGraphics();
_fldelse.drawImage(t, -16, 0, 20);
if(a > _flddo)
{
i = (a - e - w._fldvoid) / 2;
h = (_flddo - E) / 2;
} else
{
i = (a - e) / 2;
h = (_flddo - E - w._fldcase) / 2;
}
p = (208 - e) / 2 / 4;
o = (208 - E) / 4;
v = Image.createImage("/tanks.png");
z = Image.createImage(v.getWidth() / 4, v.getHeight());
_fldelse = z.getGraphics();
_fldelse.drawImage(v, -v.getWidth() / 2, 0, 20);
v = Image.createImage("/tank_enemy.png");
y = Image.createImage(v.getWidth() / 4, v.getHeight());
_fldelse = y.getGraphics();
_fldelse.drawImage(v, -v.getWidth() / 2, 0, 20);
_fldelse = null;
v = null;
}
catch(Exception exception)
{
System.out.println(exception);
}
if(!a(_fldtry))
{
_fldtry = 1;
a(_fldtry);
}
for(int j1 = 0; j1 < l; j1++)
{
_fldgoto[j1] = true;
O[j1].a = true;
O[j1]._fldnull = false;
}
for(int k1 = 0; k1 < _fldif; k1++)
{
r[k1] = false;
_fldchar[k1]._fldif = false;
_fldchar[k1]._fldint = false;
}
O[0]._fldint = i + (e - O[0]._fldlong) / 2;
O[0]._fldfor = h + 2;
O[0]._fldbyte = 30;
O[1]._fldint = i + 2;
O[1]._fldfor = h + 2;
O[1]._fldbyte = 50;
O[2]._fldint = (i + e) - O[2]._fldlong - 2;
O[2]._fldfor = h + 2;
O[2]._fldbyte = 40;
for(int l1 = 0; l1 < 4; l1++)
{
n[0 + (e / 4) * l1] = 0;
n[1 + (e / 4) * l1] = 0;
n[2 + (e / 4) * l1] = 0;
n[3 + (e / 4) * l1] = 0;
n[((e / 4 - 1) / 2 - 1) + (e / 4) * l1] = 0;
n[((e / 4 - 1) / 2 - 0) + (e / 4) * l1] = 0;
n[(e / 4 - 1) / 2 + 1 + (e / 4) * l1] = 0;
n[(e / 4 - 1) / 2 + 2 + (e / 4) * l1] = 0;
n[(e / 4 - 1) + (e / 4) * l1] = 0;
n[(e / 4 - 2) + (e / 4) * l1] = 0;
n[(e / 4 - 3) + (e / 4) * l1] = 0;
n[(e / 4 - 4) + (e / 4) * l1] = 0;
}
if(_fldtry % 3 == 0)
D++;
w._fldbyte = (i + e / 2) - 16 - w._fldvoid - 2;
w._fldnew = (h + E) - w._fldcase - 2;
w._fldnull = 0;
w._fldfor = 40;
w.f = 3;
w.b = false;
B = true;
}
void _mthfor()
{
}
boolean _mthif()
{
return M;
}
void _mthint()
{
if(!M)
{
M = true;
b = null;
}
_fldlong = true;
repaint();
}
void _mthdo()
{
if(M)
{
M = false;
s.setCurrent(this);
} else
{
_fldlong = true;
s.setCurrent(this);
repaint();
}
b = new Thread(this);
b.start();
}
void _mthnew()
{
u = 3;
H = 1;
_mthif(_fldtry);
s.setCurrent(this);
repaint();
_fldcase.a = 0;
b = new Thread(this);
b.start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -