import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.image.*;
import java.util.Random;
import javax.swing.JFrame;
public class A extends JFrame
{
private static boolean a_boolean_array1d_static_fld[] = new boolean[0x10000];
private static int a_int_static_fld;
private static int b;
private static int c;
public A()
{
}
public final void processEvent(AWTEvent awtevent)
{
switch(awtevent.getID())
{
case 201:
System.exit(0);
// fall through
case 502:
c = 0;
return;
case 501:
c = ((MouseEvent)awtevent).getButton();
// fall through
case 503:
case 506:
a_int_static_fld = ((MouseEvent)awtevent).getX();
b = ((MouseEvent)awtevent).getY();
return;
case 401:
case 402:
a_boolean_array1d_static_fld[((KeyEvent)awtevent).getKeyCode()] = awtevent.getID() == 401;
// fall through
default:
return;
}
}
public static void main(String args[])
throws Throwable
{
char ac[];
Graphics g;
BufferedImage bufferedimage;
int ai[];
Image image;
Graphics g1;
Random random;
int ai1[];
String args1[];
String args2[];
int ai2[];
int i;
ac = " !!!! !oooo !oooo ** **XX o*XX ** ** ** ooo ! !!" +
"!! !oooo oooo **XXX *oXXX **** ** ** ** oooo !!! !oooo !!oooo" +
" ** XX ***oX ** XX *** ***** o** ** o oo !!!! !!oooo !oooo ** " +
"**XXX *oXXX ** o*** o** oo !!!! !oooo !oooo ** " +
" **XX o*XX #*# # ### # #!!!! # " +
"!oooo #o#o# ##### #" +
" # #"
.toCharArray();
A a1;
(a1 = new A()).setSize(640, 500);
a1.setResizable(false);
a1.enableEvents(511L);
a1.setVisible(true);
g = a1.getGraphics();
ai = ((DataBufferInt)(bufferedimage = new BufferedImage(640, 480, 1)).getRaster().getDataBuffer()).getData();
(g1 = (image = a1.createImage(640, 480)).getGraphics()).setColor(new Color(255, 255, 255));
random = new Random();
ai1 = new int[0x200000];
args1 = (new String[] {
"Level 1: Miners4k", "Level 2: Rocks", "Level 3: Descent", "Level 4: Slime", "Level 5: Massive", "Level 6: Riiiight", "You won!"
});
args2 = (new String[] {
"Bring the gold home!", "Rocks are impenetrable.", "Use arrow keys to scroll.", "Slime explodes on contact!", "Wide level!", "Timekiller!", "Bonus level!"
});
ai2 = (new int[] {
0, 0, 0, 6, 10, 25, 0
});
i = 0;
_L60:
int j;
char c1;
int k;
int l;
int i1;
int j1;
int k1;
if(a_boolean_array1d_static_fld[27])
{
break MISSING_BLOCK_LABEL_4146;
}
j = (i / 4) * 384 + 640;
c1 = i <= 1 ? '\u01E0' : '\u0400';
k = ((i - 1) / 2) * 100;
l = i * 500;
i1 = i * i * 50;
j1 = i * i * 50;
if(i == 0)
{
k = 0;
l = 100;
i1 = 50;
j1 = 10;
}
if(i == 1)
{
k = 10;
l = 200;
j1 = 30;
}
if(i == 2)
{
k = 50;
}
if(i == 6)
{
c1 = '\u0800';
l = 0x1869f;
i1 = 800;
}
k1 = l * 2;
ai1[0] = 200;
ai1[512] = 200;
512;
_L6:
JVM INSTR dup ;
int l1;
l1;
1;
JVM INSTR icmple 516;
goto _L1 _L2
_L1:
0;
_L5:
JVM INSTR dup ;
int i2;
i2;
1024;
JVM INSTR icmpge 509;
goto _L3 _L4
_L3:
int j2 = ai1[i2];
int l2 = ai1[i2 + l1 & 0x3ff];
ai1[i2 + l1 / 2] = (j2 + l2) / 2 + (random.nextInt(l1) - l1 / 2) / 4;
i2 + l1;
goto _L5
_L4:
l1 / 2;
goto _L6
_L2:
for(l1 = 0; l1 < 88; l1++)
{
ai1[l1] = ai1[88] - 2;
ai1[j - l1 - 1] = ai1[j - 88 - 1] - 2;
}
l1 = 1;
_L17:
if(l1 >= c1)
{
break; /* Loop/switch isn't completed */
}
i2 = 0;
_L15:
if(i2 >= j) goto _L8; else goto _L7
_L7:
int k2;
double d;
k2 = i2 | l1 << 10;
d = (d = 1.2D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)k2 / 6193152D);
if(i2 >= 8 && i2 < j - 8 && l1 < c1 - 8) goto _L10; else goto _L9
_L9:
int k3 = (int)(180D * d);
ai1;
k2;
k3 << 16 | k3 << 8;
k3;
goto _L11
_L10:
if(l1 >= ai1[k2 % 1024]) goto _L13; else goto _L12
_L12:
ai1;
k2;
0;
goto _L14
_L13:
int l3;
int i4;
k3 = (int)(111D * d);
l3 = (int)(92D * d);
i4 = (int)(51D * d);
if(l1 < ai1[i2] + 4)
{
k3 = (int)(44D * d);
l3 = (int)(148D * d);
i4 = (int)(49D * d);
if(i2 < 88 || i2 > j - 89)
{
k3 = i4 = l3;
}
}
ai1;
k2;
k3 << 16 | l3 << 8;
i4;
_L11:
JVM INSTR ior ;
_L14:
JVM INSTR iastore ;
if(l1 >= c1 - 10 && ai2[i] > 0)
{
ai1[k2] = 65280;
}
i2++;
goto _L15
_L8:
l1++;
if(true) goto _L17; else goto _L16
_L16:
l1 = 0;
_L28:
if(l1 >= j1 + k + ai2[i]) goto _L19; else goto _L18
_L18:
long l4;
i2 = random.nextInt(j - 40) + 20;
k2 = random.nextInt(c1 - 240) + 200;
d = random.nextInt(c1 - 240) + 200;
int i3 = random.nextInt(c1 - 240) + 200;
k3 = d <= k2 ? k2 : ((int) (d));
if(i3 > k3)
{
k3 = i3;
}
l3 = 0;
i4 = random.nextInt(8) + 4;
if(l1 >= j1)
{
i4 = random.nextInt(32) + 8;
l3 = 1;
if(l1 - j1 >= k)
{
l3 = 2;
i4 = 6;
}
}
l4 = i2 - i4;
_L27:
int j4;
if(l4 > i2 + i4)
{
continue; /* Loop/switch isn't completed */
}
j4 = k3 - i4;
_L25:
if(j4 > k3 + i4) goto _L21; else goto _L20
_L20:
int k4 = (l4 - i2) * (l4 - i2) + (j4 - k3) * (j4 - k3);
if(l4 < 0 || j4 < 0 || l4 >= 1024 || j4 >= 2048 || k4 >= i4 * i4)
{
continue; /* Loop/switch isn't completed */
}
if(l3 != 1) goto _L23; else goto _L22
_L22:
int j5;
int i5 = (int)(((((double)(l4 - i2) + (double)i4 / 3D) * ((double)(l4 - i2) + (double)i4 / 3D)) / (double)i4 / (double)i4 + (((double)(j4 - k3) + (double)i4 / 3D) * ((double)(j4 - k3) + (double)i4 / 3D)) / (double)i4 / (double)i4) * 64D);
j5 = 200 - i5 - random.nextInt(16);
if(ai1[l4 | j4 << 10] == 0)
{
continue; /* Loop/switch isn't completed */
}
ai1;
l4 | j4 << 10;
j5 << 16 | j5 << 8 | j5;
goto _L24
_L23:
if(ai1[l4 | j4 << 10] == 0)
{
continue; /* Loop/switch isn't completed */
}
ai1;
l4 | j4 << 10;
l3 * 128 - l3 / 2 << 16 ^ 0xffff00;
_L24:
JVM INSTR iastore ;
j4++;
goto _L25
_L21:
l4++;
if(true) goto _L27; else goto _L26
_L26:
l1++;
goto _L28
_L19:
int ai3[][];
int j3;
boolean flag;
boolean flag1;
long l5;
ai3 = new int[i1][8];
for(i2 = 0; i2 < ai3.length; i2++)
{
ai3[i2][0] = random.nextInt(48) + 24;
if(i2 < ai3.length / 2)
{
ai3[i2][0] = j - ai3[i2][0];
}
ai3[i2][1] = -random.nextInt(400);
ai3[i2][2] = random.nextInt(2) * 2 - 1;
ai3[i2][7] = -640;
}
i2 = 0;
k2 = 0;
c = 0;
d = 0;
j3 = 0;
k3 = 0;
flag = false;
flag1 = false;
l5 = l4 = System.currentTimeMillis();
_L58:
int k5;
int i6;
int k6;
if(flag || a_boolean_array1d_static_fld[27])
{
break; /* Loop/switch isn't completed */
}
j5 = a_int_static_fld + d;
k5 = b + j3;
if(!flag1 || c <= 0)
{
break MISSING_BLOCK_LABEL_1915;
}
i6 = (int)Math.sqrt((j5 - i2) * (j5 - i2) + (k5 - k2) * (k5 - k2)) + 1;
k6 = 0;
_L39:
if(k6 >= i6) goto _L30; else goto _L29
_L29:
int i8;
int k9;
int l10;
i8 = j5 + ((i2 - j5) * k6) / i6;
k9 = k5 + ((k2 - k5) * k6) / i6;
l10 = -3;
_L38:
int l11;
if(l10 > 3)
{
continue; /* Loop/switch isn't completed */
}
l11 = -3;
_L36:
if(l11 > 3) goto _L32; else goto _L31
_L31:
int k12;
int k13;
if((l10 == -3 || l10 == 3) && (l11 == -3 || l11 == 3))
{
continue; /* Loop/switch isn't completed */
}
k12 = i8 + l10;
k13 = k9 + l11;
if(k12 < 0 || k13 < 0 || k12 >= 1024 || k13 >= 2048)
{
continue; /* Loop/switch isn't completed */
}
if(c != 3 && !a_boolean_array1d_static_fld[17]) goto _L34; else goto _L33
_L33:
int i14 = ai1[k12 | k13 << 10] >> 16 & 0xff;
int k14 = ai1[k12 | k13 << 10] >> 8 & 0xff;
int i15 = ai1[k12 | k13 << 10] >> 0 & 0xff;
if(i14 == k14 || i14 == i15)
{
continue; /* Loop/switch isn't completed */
}
ai1;
k12 | k13 << 10;
0;
goto _L35
_L34:
int j15;
int l15;
int i16;
if(ai1[k12 | k13 << 10] != 0)
{
continue; /* Loop/switch isn't completed */
}
double d1;
d1 = (d1 = 1.6000000000000001D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)(k12 | k13 << 10) / 6193152D);
j15 = (int)(111D * d1);
l15 = (int)(92D * d1);
i16 = (int)(51D * d1);
ai1;
k12 | k13 << 10;
j15 << 16 | l15 << 8 | i16;
_L35:
JVM INSTR iastore ;
l11++;
goto _L36
_L32:
l10++;
if(true) goto _L38; else goto _L37
_L37:
k6++;
goto _L39
_L30:
i2 = j5;
k2 = k5;
for(i6 = 0; i6 < 480; i6++)
{
System.arraycopy(ai1, d | j3 + i6 << 10, ai, i6 * 640, 640);
}
label0:
for(i6 = 0; i6 < ai3.length; i6++)
{
if(ai3[i6][6] >= 16)
{
continue;
}
int l6 = -3;
do
{
if(l6 > 3)
{
continue label0;
}
for(int j8 = -8; j8 <= 1; j8++)
{
int l9 = (ai3[i6][0] - d) + l6 * ai3[i6][2];
int i11 = (ai3[i6][1] - j3) + j8;
if(l9 < 0 || i11 < 0 || l9 >= 640 || i11 >= 480)
{
continue;
}
char c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10];
if(ai3[i6][6] > 0)
{
c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][6] / 4 + 3) * 7 * 10];
}
if(c2 == 'X' && ai3[i6][5] == 1)
{
ai[l9 + i11 * 640] = 0xffff00;
}
if(c2 == 'o')
{
ai[l9 + i11 * 640] = 0xdb8eaf;
}
if(c2 == '!')
{
ai[l9 + i11 * 640] = 65280;
}
if(c2 == '*')
{
ai[l9 + i11 * 640] = 255;
}
if(c2 == '#')
{
ai[l9 + i11 * 640] = 0xff0000;
}
}
l6++;
} while(true);
}
_L56:
if(!flag1 || l5 >= System.currentTimeMillis())
{
break; /* Loop/switch isn't completed */
}
l5 += 25L;
label1:
for(i6 = 0; i6 < 400; i6++)
{
int i7 = random.nextInt(1021) + 1;
int k8 = random.nextInt(1021) + 1;
int i10 = (i7 + random.nextInt(3)) - 1;
int j11 = (k8 + random.nextInt(3)) - 1;
if(ai1[i10 | j11 << 10] != 65280)
{
continue;
}
int i12 = -1;
do
{
if(i12 > 1)
{
continue label1;
}
for(int l12 = -1; l12 <= 1; l12++)
{
ai1[i7 + i12 | k8 + l12 << 10] = 65280;
}
i12++;
} while(true);
}
i6 = 0;
_L54:
if(i6 >= ai3.length) goto _L41; else goto _L40
_L40:
if(ai3[i6][6] != 0)
{
break MISSING_BLOCK_LABEL_3647;
}
if(ai3[i6][4] <= 1 || ai3[i6][1] <= 1) goto _L43; else goto _L42
_L42:
if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] - ai3[i6][4] / 8 << 10] != 0) goto _L45; else goto _L44
_L44:
ai3[i6][0] += ai3[i6][2];
ai3[i6][1] -= ai3[i6][4] / 8;
ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
ai3[i6];
4;
JVM INSTR dup2 ;
JVM INSTR iaload ;
1;
JVM INSTR isub ;
goto _L46
_L45:
ai3[i6];
4;
false;
goto _L46
_L43:
if(ai3[i6][1] > 0 && ai1[ai3[i6][0] | ai3[i6][1] << 10] == 0xffff00)
{
ai3[i6][1]--;
}
if(ai3[i6][1] >= 4 && ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] != 0) goto _L48; else goto _L47
_L47:
if(ai3[i6][4] != -1 || random.nextInt(3) == 0) goto _L50; else goto _L49
_L50:
for(int j7 = 0; j7 < 2; j7++)
{
if(ai3[i6][1] < 4 || ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] == 0)
{
ai3[i6][1]++;
ai3[i6][4] = 0;
ai3[i6][7]++;
}
}
goto _L51
_L48:
if(ai3[i6][7] > 100)
{
ai3[i6][6] = 1;
i1--;
ai3[i6][0] -= ai3[i6][2];
}
ai3[i6][7] = 0;
ai3[i6][4] = -1;
if(random.nextInt(20) == 0) goto _L51; else goto _L52
_L52:
boolean flag2;
flag2 = true;
int l8 = 2;
do
{
if(l8 < -4)
{
break;
}
if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] + l8 << 10] == 0)
{
ai3[i6][0] += ai3[i6][2];
ai3[i6][1] += l8;
ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
flag2 = false;
break;
}
l8--;
} while(true);
if(random.nextInt(flag2 ? 10 : 4000) != 0) goto _L51; else goto _L53
_L53:
ai3[i6][2] *= -1;
if(!flag2 || random.nextInt(3) == 0) goto _L51; else goto _L49
_L49:
ai3[i6];
4;
16;
_L46:
JVM INSTR iastore ;
_L51:
if(ai3[i6][5] == 1 && ai3[i6][1] <= ai1[ai3[i6][0]] && (ai3[i6][0] == 40 || ai3[i6][0] == j - 8 - 32))
{
k3++;
for(int k7 = 0; k7 < 4; k7++)
{
int i9 = ai3[i6][0];
int j10 = ai3[i6][1] - 5;
boolean flag3 = false;
while(!flag3)
{
if(ai1[i9 + 0 | j10 + 1 << 10] == 0)
{
j10++;
} else
if(ai1[i9 - 1 | j10 + 1 << 10] == 0)
{
i9--;
j10++;
} else
if(ai1[i9 + 1 | j10 + 1 << 10] == 0)
{
i9++;
j10++;
} else
{
flag3 = true;
}
}
if(j10 < ai1[i9])
{
ai1[i9 | j10 << 10] = 0xfefe00;
}
}
ai3[i6][5] = 0;
}
int l7 = -3;
do
{
if(l7 > 3)
{
continue; /* Loop/switch isn't completed */
}
for(int j9 = -8; j9 <= 1; j9++)
{
int k10 = ai3[i6][0] + l7 * ai3[i6][2];
int k11 = ai3[i6][1] + j9;
if(k10 < 0 || k11 < 0 || k10 >= j || k11 >= c1 || ac[l7 + 3 + (j9 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10] == ' ')
{
continue;
}
if(ai1[k10 | k11 << 10] == 65280)
{
ai3[i6][6] = 1;
i1--;
for(int i13 = -16; i13 <= 16; i13++)
{
for(int l13 = -16; l13 <= 16; l13++)
{
int j14 = i13 * i13 + l13 * l13;
int l14 = i13 + ai3[i6][0];
int k15 = (l13 + ai3[i6][1]) - 4;
if(l14 >= 4 && k15 >= 4 && l14 < j - 4 && k15 < c1 - 4 && j14 < 256)
{
ai1[l14 | k15 << 10] = 0;
}
}
}
}
if(ai3[i6][5] != 0 || ai1[k10 | k11 << 10] != 0xffff00)
{
continue;
}
for(int j12 = -1; j12 <= 1; j12++)
{
for(int j13 = -1; j13 <= 1; j13++)
{
if(ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] == 0xffff00)
{
ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] = 0;
}
}
}
ai3[i6][5] = 1;
}
l7++;
} while(true);
if(ai3[i6][6] < 16)
{
ai3[i6][6]++;
}
i6++;
goto _L54
_L41:
if(a_boolean_array1d_static_fld[37] && d > 8)
{
d -= 8;
}
if(a_boolean_array1d_static_fld[39] && d < j - 640)
{
d += 8;
}
if(a_boolean_array1d_static_fld[38] && j3 > 8)
{
j3 -= 8;
}
if(a_boolean_array1d_static_fld[40] && j3 < c1 - 480)
{
j3 += 8;
}
if(true) goto _L56; else goto _L55
_L55:
g1.drawImage(bufferedimage, 0, 0, null);
if(!flag1)
{
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString(args1[i], 200, 100);
g1.setFont(new Font("Sans-Serif", 0, 12));
g1.drawString(args2[i], 200, 116);
g1.drawString("(click to start)", 200, 132);
if(c > 0)
{
flag1 = true;
c = 0;
}
l5 = l4 = System.currentTimeMillis();
}
int j6 = (int)((System.currentTimeMillis() - l4) / 1000L);
g1.drawString("Miners: " + i1, 10, 36);
g1.drawString("Gold: " + k3 + " / " + l, 10, 48);
g1.drawString("Time left: " + (k1 - j6), 10, 60);
g.drawImage(image, 0, 0, null);
if(k3 >= l)
{
if(i < 6)
{
i++;
}
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString("LEVEL PASSED!", 200, 100);
g.drawImage(image, 0, 0, null);
Thread.sleep(2000L);
flag = true;
}
if(i1 <= 0 || k1 - j6 <= 0 || a_boolean_array1d_static_fld[75])
{
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString("LEVEL FAILED!", 200, 100);
g.drawImage(image, 0, 0, null);
Thread.sleep(2000L);
flag = true;
}
Thread.sleep(10L);
if(true) goto _L58; else goto _L57
_L57:
if(true) goto _L60; else goto _L59
_L59:
System.exit(0);
return;
}
}
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.image.*;
import java.util.Random;
import javax.swing.JFrame;
public class A extends JFrame
{
private static boolean a_boolean_array1d_static_fld[] = new boolean[0x10000];
private static int a_int_static_fld;
private static int b;
private static int c;
public A()
{
}
public final void processEvent(AWTEvent awtevent)
{
switch(awtevent.getID())
{
case 201:
System.exit(0);
// fall through
case 502:
c = 0;
return;
case 501:
c = ((MouseEvent)awtevent).getButton();
// fall through
case 503:
case 506:
a_int_static_fld = ((MouseEvent)awtevent).getX();
b = ((MouseEvent)awtevent).getY();
return;
case 401:
case 402:
a_boolean_array1d_static_fld[((KeyEvent)awtevent).getKeyCode()] = awtevent.getID() == 401;
// fall through
default:
return;
}
}
public static void main(String args[])
throws Throwable
{
char ac[];
Graphics g;
BufferedImage bufferedimage;
int ai[];
Image image;
Graphics g1;
Random random;
int ai1[];
String args1[];
String args2[];
int ai2[];
int i;
ac = " !!!! !oooo!oooo ** **XX o*XX ** ** ** ooo ! !!" +
"!! !oooo oooo **XXX*oXXX****** ** ** oooo !!! !oooo !!oooo" +
" ** XX***oX** XX*** ***** o** ** o oo !!!!!!oooo!oooo ** " +
"**XXX*oXXX** o*** o** oo !!!! !oooo!oooo ** " +
" **XX o*XX#*# # ### # #!!!! # " +
"!oooo#o#o###### #" +
" # #"
.toCharArray();
A a1;
(a1 = new A()).setSize(640, 500);
a1.setResizable(false);
a1.enableEvents(511L);
a1.setVisible(true);
g = a1.getGraphics();
ai = ((DataBufferInt)(bufferedimage = new BufferedImage(640, 480, 1)).getRaster().getDataBuffer()).getData();
(g1 = (image = a1.createImage(640, 480)).getGraphics()).setColor(new Color(255, 255, 255));
random = new Random();
ai1 = new int[0x200000];
args1 = (new String[] {
"Level 1: Miners4k", "Level 2: Rocks", "Level 3: Descent", "Level 4: Slime", "Level 5: Massive", "Level 6: Riiiight", "You won!"
});
args2 = (new String[] {
"Bring the gold home!", "Rocks are impenetrable.", "Use arrow keys to scroll.", "Slime explodes on contact!", "Wide level!", "Timekiller!", "Bonus level!"
});
ai2 = (new int[] {
0, 0, 0, 6, 10, 25, 0
});
i = 0;
_L60:
int j;
char c1;
int k;
int l;
int i1;
int j1;
int k1;
if(a_boolean_array1d_static_fld[27])
{
break MISSING_BLOCK_LABEL_4146;
}
j = (i / 4) * 384 + 640;
c1 = i <= 1 ? '\u01E0' : '\u0400';
k = ((i - 1) / 2) * 100;
l = i * 500;
i1 = i * i * 50;
j1 = i * i * 50;
if(i == 0)
{
k = 0;
l = 100;
i1 = 50;
j1 = 10;
}
if(i == 1)
{
k = 10;
l = 200;
j1 = 30;
}
if(i == 2)
{
k = 50;
}
if(i == 6)
{
c1 = '\u0800';
l = 0x1869f;
i1 = 800;
}
k1 = l * 2;
ai1[0] = 200;
ai1[512] = 200;
512;
_L6:
JVM INSTR dup ;
int l1;
l1;
1;
JVM INSTR icmple 516;
goto _L1 _L2
_L1:
0;
_L5:
JVM INSTR dup ;
int i2;
i2;
1024;
JVM INSTR icmpge 509;
goto _L3 _L4
_L3:
int j2 = ai1[i2];
int l2 = ai1[i2 + l1 & 0x3ff];
ai1[i2 + l1 / 2] = (j2 + l2) / 2 + (random.nextInt(l1) - l1 / 2) / 4;
i2 + l1;
goto _L5
_L4:
l1 / 2;
goto _L6
_L2:
for(l1 = 0; l1 < 88; l1++)
{
ai1[l1] = ai1[88] - 2;
ai1[j - l1 - 1] = ai1[j - 88 - 1] - 2;
}
l1 = 1;
_L17:
if(l1 >= c1)
{
break; /* Loop/switch isn't completed */
}
i2 = 0;
_L15:
if(i2 >= j) goto _L8; else goto _L7
_L7:
int k2;
double d;
k2 = i2 | l1 << 10;
d = (d = 1.2D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)k2 / 6193152D);
if(i2 >= 8 && i2 < j - 8 && l1 < c1 - 8) goto _L10; else goto _L9
_L9:
int k3 = (int)(180D * d);
ai1;
k2;
k3 << 16 | k3 << 8;
k3;
goto _L11
_L10:
if(l1 >= ai1[k2 % 1024]) goto _L13; else goto _L12
_L12:
ai1;
k2;
0;
goto _L14
_L13:
int l3;
int i4;
k3 = (int)(111D * d);
l3 = (int)(92D * d);
i4 = (int)(51D * d);
if(l1 < ai1[i2] + 4)
{
k3 = (int)(44D * d);
l3 = (int)(148D * d);
i4 = (int)(49D * d);
if(i2 < 88 || i2 > j - 89)
{
k3 = i4 = l3;
}
}
ai1;
k2;
k3 << 16 | l3 << 8;
i4;
_L11:
JVM INSTR ior ;
_L14:
JVM INSTR iastore ;
if(l1 >= c1 - 10 && ai2[i] > 0)
{
ai1[k2] = 65280;
}
i2++;
goto _L15
_L8:
l1++;
if(true) goto _L17; else goto _L16
_L16:
l1 = 0;
_L28:
if(l1 >= j1 + k + ai2[i]) goto _L19; else goto _L18
_L18:
long l4;
i2 = random.nextInt(j - 40) + 20;
k2 = random.nextInt(c1 - 240) + 200;
d = random.nextInt(c1 - 240) + 200;
int i3 = random.nextInt(c1 - 240) + 200;
k3 = d <= k2 ? k2 : ((int) (d));
if(i3 > k3)
{
k3 = i3;
}
l3 = 0;
i4 = random.nextInt(8) + 4;
if(l1 >= j1)
{
i4 = random.nextInt(32) + 8;
l3 = 1;
if(l1 - j1 >= k)
{
l3 = 2;
i4 = 6;
}
}
l4 = i2 - i4;
_L27:
int j4;
if(l4 > i2 + i4)
{
continue; /* Loop/switch isn't completed */
}
j4 = k3 - i4;
_L25:
if(j4 > k3 + i4) goto _L21; else goto _L20
_L20:
int k4 = (l4 - i2) * (l4 - i2) + (j4 - k3) * (j4 - k3);
if(l4 < 0 || j4 < 0 || l4 >= 1024 || j4 >= 2048 || k4 >= i4 * i4)
{
continue; /* Loop/switch isn't completed */
}
if(l3 != 1) goto _L23; else goto _L22
_L22:
int j5;
int i5 = (int)(((((double)(l4 - i2) + (double)i4 / 3D) * ((double)(l4 - i2) + (double)i4 / 3D)) / (double)i4 / (double)i4 + (((double)(j4 - k3) + (double)i4 / 3D) * ((double)(j4 - k3) + (double)i4 / 3D)) / (double)i4 / (double)i4) * 64D);
j5 = 200 - i5 - random.nextInt(16);
if(ai1[l4 | j4 << 10] == 0)
{
continue; /* Loop/switch isn't completed */
}
ai1;
l4 | j4 << 10;
j5 << 16 | j5 << 8 | j5;
goto _L24
_L23:
if(ai1[l4 | j4 << 10] == 0)
{
continue; /* Loop/switch isn't completed */
}
ai1;
l4 | j4 << 10;
l3 * 128 - l3 / 2 << 16 ^ 0xffff00;
_L24:
JVM INSTR iastore ;
j4++;
goto _L25
_L21:
l4++;
if(true) goto _L27; else goto _L26
_L26:
l1++;
goto _L28
_L19:
int ai3[][];
int j3;
boolean flag;
boolean flag1;
long l5;
ai3 = new int[i1][8];
for(i2 = 0; i2 < ai3.length; i2++)
{
ai3[i2][0] = random.nextInt(48) + 24;
if(i2 < ai3.length / 2)
{
ai3[i2][0] = j - ai3[i2][0];
}
ai3[i2][1] = -random.nextInt(400);
ai3[i2][2] = random.nextInt(2) * 2 - 1;
ai3[i2][7] = -640;
}
i2 = 0;
k2 = 0;
c = 0;
d = 0;
j3 = 0;
k3 = 0;
flag = false;
flag1 = false;
l5 = l4 = System.currentTimeMillis();
_L58:
int k5;
int i6;
int k6;
if(flag || a_boolean_array1d_static_fld[27])
{
break; /* Loop/switch isn't completed */
}
j5 = a_int_static_fld + d;
k5 = b + j3;
if(!flag1 || c <= 0)
{
break MISSING_BLOCK_LABEL_1915;
}
i6 = (int)Math.sqrt((j5 - i2) * (j5 - i2) + (k5 - k2) * (k5 - k2)) + 1;
k6 = 0;
_L39:
if(k6 >= i6) goto _L30; else goto _L29
_L29:
int i8;
int k9;
int l10;
i8 = j5 + ((i2 - j5) * k6) / i6;
k9 = k5 + ((k2 - k5) * k6) / i6;
l10 = -3;
_L38:
int l11;
if(l10 > 3)
{
continue; /* Loop/switch isn't completed */
}
l11 = -3;
_L36:
if(l11 > 3) goto _L32; else goto _L31
_L31:
int k12;
int k13;
if((l10 == -3 || l10 == 3) && (l11 == -3 || l11 == 3))
{
continue; /* Loop/switch isn't completed */
}
k12 = i8 + l10;
k13 = k9 + l11;
if(k12 < 0 || k13 < 0 || k12 >= 1024 || k13 >= 2048)
{
continue; /* Loop/switch isn't completed */
}
if(c != 3 && !a_boolean_array1d_static_fld[17]) goto _L34; else goto _L33
_L33:
int i14 = ai1[k12 | k13 << 10] >> 16 & 0xff;
int k14 = ai1[k12 | k13 << 10] >> 8 & 0xff;
int i15 = ai1[k12 | k13 << 10] >> 0 & 0xff;
if(i14 == k14 || i14 == i15)
{
continue; /* Loop/switch isn't completed */
}
ai1;
k12 | k13 << 10;
0;
goto _L35
_L34:
int j15;
int l15;
int i16;
if(ai1[k12 | k13 << 10] != 0)
{
continue; /* Loop/switch isn't completed */
}
double d1;
d1 = (d1 = 1.6000000000000001D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)(k12 | k13 << 10) / 6193152D);
j15 = (int)(111D * d1);
l15 = (int)(92D * d1);
i16 = (int)(51D * d1);
ai1;
k12 | k13 << 10;
j15 << 16 | l15 << 8 | i16;
_L35:
JVM INSTR iastore ;
l11++;
goto _L36
_L32:
l10++;
if(true) goto _L38; else goto _L37
_L37:
k6++;
goto _L39
_L30:
i2 = j5;
k2 = k5;
for(i6 = 0; i6 < 480; i6++)
{
System.arraycopy(ai1, d | j3 + i6 << 10, ai, i6 * 640, 640);
}
label0:
for(i6 = 0; i6 < ai3.length; i6++)
{
if(ai3[i6][6] >= 16)
{
continue;
}
int l6 = -3;
do
{
if(l6 > 3)
{
continue label0;
}
for(int j8 = -8; j8 <= 1; j8++)
{
int l9 = (ai3[i6][0] - d) + l6 * ai3[i6][2];
int i11 = (ai3[i6][1] - j3) + j8;
if(l9 < 0 || i11 < 0 || l9 >= 640 || i11 >= 480)
{
continue;
}
char c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10];
if(ai3[i6][6] > 0)
{
c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][6] / 4 + 3) * 7 * 10];
}
if(c2 == 'X' && ai3[i6][5] == 1)
{
ai[l9 + i11 * 640] = 0xffff00;
}
if(c2 == 'o')
{
ai[l9 + i11 * 640] = 0xdb8eaf;
}
if(c2 == '!')
{
ai[l9 + i11 * 640] = 65280;
}
if(c2 == '*')
{
ai[l9 + i11 * 640] = 255;
}
if(c2 == '#')
{
ai[l9 + i11 * 640] = 0xff0000;
}
}
l6++;
} while(true);
}
_L56:
if(!flag1 || l5 >= System.currentTimeMillis())
{
break; /* Loop/switch isn't completed */
}
l5 += 25L;
label1:
for(i6 = 0; i6 < 400; i6++)
{
int i7 = random.nextInt(1021) + 1;
int k8 = random.nextInt(1021) + 1;
int i10 = (i7 + random.nextInt(3)) - 1;
int j11 = (k8 + random.nextInt(3)) - 1;
if(ai1[i10 | j11 << 10] != 65280)
{
continue;
}
int i12 = -1;
do
{
if(i12 > 1)
{
continue label1;
}
for(int l12 = -1; l12 <= 1; l12++)
{
ai1[i7 + i12 | k8 + l12 << 10] = 65280;
}
i12++;
} while(true);
}
i6 = 0;
_L54:
if(i6 >= ai3.length) goto _L41; else goto _L40
_L40:
if(ai3[i6][6] != 0)
{
break MISSING_BLOCK_LABEL_3647;
}
if(ai3[i6][4] <= 1 || ai3[i6][1] <= 1) goto _L43; else goto _L42
_L42:
if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] - ai3[i6][4] / 8 << 10] != 0) goto _L45; else goto _L44
_L44:
ai3[i6][0] += ai3[i6][2];
ai3[i6][1] -= ai3[i6][4] / 8;
ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
ai3[i6];
4;
JVM INSTR dup2 ;
JVM INSTR iaload ;
1;
JVM INSTR isub ;
goto _L46
_L45:
ai3[i6];
4;
false;
goto _L46
_L43:
if(ai3[i6][1] > 0 && ai1[ai3[i6][0] | ai3[i6][1] << 10] == 0xffff00)
{
ai3[i6][1]--;
}
if(ai3[i6][1] >= 4 && ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] != 0) goto _L48; else goto _L47
_L47:
if(ai3[i6][4] != -1 || random.nextInt(3) == 0) goto _L50; else goto _L49
_L50:
for(int j7 = 0; j7 < 2; j7++)
{
if(ai3[i6][1] < 4 || ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] == 0)
{
ai3[i6][1]++;
ai3[i6][4] = 0;
ai3[i6][7]++;
}
}
goto _L51
_L48:
if(ai3[i6][7] > 100)
{
ai3[i6][6] = 1;
i1--;
ai3[i6][0] -= ai3[i6][2];
}
ai3[i6][7] = 0;
ai3[i6][4] = -1;
if(random.nextInt(20) == 0) goto _L51; else goto _L52
_L52:
boolean flag2;
flag2 = true;
int l8 = 2;
do
{
if(l8 < -4)
{
break;
}
if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] + l8 << 10] == 0)
{
ai3[i6][0] += ai3[i6][2];
ai3[i6][1] += l8;
ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
flag2 = false;
break;
}
l8--;
} while(true);
if(random.nextInt(flag2 ? 10 : 4000) != 0) goto _L51; else goto _L53
_L53:
ai3[i6][2] *= -1;
if(!flag2 || random.nextInt(3) == 0) goto _L51; else goto _L49
_L49:
ai3[i6];
4;
16;
_L46:
JVM INSTR iastore ;
_L51:
if(ai3[i6][5] == 1 && ai3[i6][1] <= ai1[ai3[i6][0]] && (ai3[i6][0] == 40 || ai3[i6][0] == j - 8 - 32))
{
k3++;
for(int k7 = 0; k7 < 4; k7++)
{
int i9 = ai3[i6][0];
int j10 = ai3[i6][1] - 5;
boolean flag3 = false;
while(!flag3)
{
if(ai1[i9 + 0 | j10 + 1 << 10] == 0)
{
j10++;
} else
if(ai1[i9 - 1 | j10 + 1 << 10] == 0)
{
i9--;
j10++;
} else
if(ai1[i9 + 1 | j10 + 1 << 10] == 0)
{
i9++;
j10++;
} else
{
flag3 = true;
}
}
if(j10 < ai1[i9])
{
ai1[i9 | j10 << 10] = 0xfefe00;
}
}
ai3[i6][5] = 0;
}
int l7 = -3;
do
{
if(l7 > 3)
{
continue; /* Loop/switch isn't completed */
}
for(int j9 = -8; j9 <= 1; j9++)
{
int k10 = ai3[i6][0] + l7 * ai3[i6][2];
int k11 = ai3[i6][1] + j9;
if(k10 < 0 || k11 < 0 || k10 >= j || k11 >= c1 || ac[l7 + 3 + (j9 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10] == ' ')
{
continue;
}
if(ai1[k10 | k11 << 10] == 65280)
{
ai3[i6][6] = 1;
i1--;
for(int i13 = -16; i13 <= 16; i13++)
{
for(int l13 = -16; l13 <= 16; l13++)
{
int j14 = i13 * i13 + l13 * l13;
int l14 = i13 + ai3[i6][0];
int k15 = (l13 + ai3[i6][1]) - 4;
if(l14 >= 4 && k15 >= 4 && l14 < j - 4 && k15 < c1 - 4 && j14 < 256)
{
ai1[l14 | k15 << 10] = 0;
}
}
}
}
if(ai3[i6][5] != 0 || ai1[k10 | k11 << 10] != 0xffff00)
{
continue;
}
for(int j12 = -1; j12 <= 1; j12++)
{
for(int j13 = -1; j13 <= 1; j13++)
{
if(ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] == 0xffff00)
{
ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] = 0;
}
}
}
ai3[i6][5] = 1;
}
l7++;
} while(true);
if(ai3[i6][6] < 16)
{
ai3[i6][6]++;
}
i6++;
goto _L54
_L41:
if(a_boolean_array1d_static_fld[37] && d > 8)
{
d -= 8;
}
if(a_boolean_array1d_static_fld[39] && d < j - 640)
{
d += 8;
}
if(a_boolean_array1d_static_fld[38] && j3 > 8)
{
j3 -= 8;
}
if(a_boolean_array1d_static_fld[40] && j3 < c1 - 480)
{
j3 += 8;
}
if(true) goto _L56; else goto _L55
_L55:
g1.drawImage(bufferedimage, 0, 0, null);
if(!flag1)
{
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString(args1[i], 200, 100);
g1.setFont(new Font("Sans-Serif", 0, 12));
g1.drawString(args2[i], 200, 116);
g1.drawString("(click to start)", 200, 132);
if(c > 0)
{
flag1 = true;
c = 0;
}
l5 = l4 = System.currentTimeMillis();
}
int j6 = (int)((System.currentTimeMillis() - l4) / 1000L);
g1.drawString("Miners: " + i1, 10, 36);
g1.drawString("Gold: " + k3 + " / " + l, 10, 48);
g1.drawString("Time left: " + (k1 - j6), 10, 60);
g.drawImage(image, 0, 0, null);
if(k3 >= l)
{
if(i < 6)
{
i++;
}
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString("LEVEL PASSED!", 200, 100);
g.drawImage(image, 0, 0, null);
Thread.sleep(2000L);
flag = true;
}
if(i1 <= 0 || k1 - j6 <= 0 || a_boolean_array1d_static_fld[75])
{
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString("LEVEL FAILED!", 200, 100);
g.drawImage(image, 0, 0, null);
Thread.sleep(2000L);
flag = true;
}
Thread.sleep(10L);
if(true) goto _L58; else goto _L57
_L57:
if(true) goto _L60; else goto _L59
_L59:
System.exit(0);
return;
}
}
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.image.*;
import java.util.Random;
import javax.swing.JFrame;
public class A extends JFrame
{
private static boolean a_boolean_array1d_static_fld[] = new boolean[0x10000];
private static int a_int_static_fld;
private static int b;
private static int c;
public A()
{
}
public final void processEvent(AWTEvent awtevent)
{
switch(awtevent.getID())
{
case 201:
System.exit(0);
// fall through
case 502:
c = 0;
return;
case 501:
c = ((MouseEvent)awtevent).getButton();
// fall through
case 503:
case 506:
a_int_static_fld = ((MouseEvent)awtevent).getX();
b = ((MouseEvent)awtevent).getY();
return;
case 401:
case 402:
a_boolean_array1d_static_fld[((KeyEvent)awtevent).getKeyCode()] = awtevent.getID() == 401;
// fall through
default:
return;
}
}
public static void main(String args[])
throws Throwable
{
char ac[];
Graphics g;
BufferedImage bufferedimage;
int ai[];
Image image;
Graphics g1;
Random random;
int ai1[];
String args1[];
String args2[];
int ai2[];
int i;
ac = " !!!! !oooo !oooo ** **XX o*XX ** ** ** ooo ! !!" +
"!! !oooo oooo **XXX *oXXX **** ** ** ** oooo !!! !oooo !!oooo" +
" ** XX ***oX ** XX *** ***** o** ** o oo !!!! !!oooo !oooo ** " +
"**XXX *oXXX ** o*** o** oo !!!! !oooo !oooo ** " +
" **XX o*XX #*# # ### # #!!!! # " +
"!oooo #o#o# ##### #" +
" # #"
.toCharArray();
A a1;
(a1 = new A()).setSize(640, 500);
a1.setResizable(false);
a1.enableEvents(511L);
a1.setVisible(true);
g = a1.getGraphics();
ai = ((DataBufferInt)(bufferedimage = new BufferedImage(640, 480, 1)).getRaster().getDataBuffer()).getData();
(g1 = (image = a1.createImage(640, 480)).getGraphics()).setColor(new Color(255, 255, 255));
random = new Random();
ai1 = new int[0x200000];
args1 = (new String[] {
"Level 1: Miners4k", "Level 2: Rocks", "Level 3: Descent", "Level 4: Slime", "Level 5: Massive", "Level 6: Riiiight", "You won!"
});
args2 = (new String[] {
"Bring the gold home!", "Rocks are impenetrable.", "Use arrow keys to scroll.", "Slime explodes on contact!", "Wide level!", "Timekiller!", "Bonus level!"
});
ai2 = (new int[] {
0, 0, 0, 6, 10, 25, 0
});
i = 0;
_L60:
int j;
char c1;
int k;
int l;
int i1;
int j1;
int k1;
if(a_boolean_array1d_static_fld[27])
{
break MISSING_BLOCK_LABEL_4146;
}
j = (i / 4) * 384 + 640;
c1 = i <= 1 ? '\u01E0' : '\u0400';
k = ((i - 1) / 2) * 100;
l = i * 500;
i1 = i * i * 50;
j1 = i * i * 50;
if(i == 0)
{
k = 0;
l = 100;
i1 = 50;
j1 = 10;
}
if(i == 1)
{
k = 10;
l = 200;
j1 = 30;
}
if(i == 2)
{
k = 50;
}
if(i == 6)
{
c1 = '\u0800';
l = 0x1869f;
i1 = 800;
}
k1 = l * 2;
ai1[0] = 200;
ai1[512] = 200;
512;
_L6:
JVM INSTR dup ;
int l1;
l1;
1;
JVM INSTR icmple 516;
goto _L1 _L2
_L1:
0;
_L5:
JVM INSTR dup ;
int i2;
i2;
1024;
JVM INSTR icmpge 509;
goto _L3 _L4
_L3:
int j2 = ai1[i2];
int l2 = ai1[i2 + l1 & 0x3ff];
ai1[i2 + l1 / 2] = (j2 + l2) / 2 + (random.nextInt(l1) - l1 / 2) / 4;
i2 + l1;
goto _L5
_L4:
l1 / 2;
goto _L6
_L2:
for(l1 = 0; l1 < 88; l1++)
{
ai1[l1] = ai1[88] - 2;
ai1[j - l1 - 1] = ai1[j - 88 - 1] - 2;
}
l1 = 1;
_L17:
if(l1 >= c1)
{
break; /* Loop/switch isn't completed */
}
i2 = 0;
_L15:
if(i2 >= j) goto _L8; else goto _L7
_L7:
int k2;
double d;
k2 = i2 | l1 << 10;
d = (d = 1.2D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)k2 / 6193152D);
if(i2 >= 8 && i2 < j - 8 && l1 < c1 - 8) goto _L10; else goto _L9
_L9:
int k3 = (int)(180D * d);
ai1;
k2;
k3 << 16 | k3 << 8;
k3;
goto _L11
_L10:
if(l1 >= ai1[k2 % 1024]) goto _L13; else goto _L12
_L12:
ai1;
k2;
0;
goto _L14
_L13:
int l3;
int i4;
k3 = (int)(111D * d);
l3 = (int)(92D * d);
i4 = (int)(51D * d);
if(l1 < ai1[i2] + 4)
{
k3 = (int)(44D * d);
l3 = (int)(148D * d);
i4 = (int)(49D * d);
if(i2 < 88 || i2 > j - 89)
{
k3 = i4 = l3;
}
}
ai1;
k2;
k3 << 16 | l3 << 8;
i4;
_L11:
JVM INSTR ior ;
_L14:
JVM INSTR iastore ;
if(l1 >= c1 - 10 && ai2[i] > 0)
{
ai1[k2] = 65280;
}
i2++;
goto _L15
_L8:
l1++;
if(true) goto _L17; else goto _L16
_L16:
l1 = 0;
_L28:
if(l1 >= j1 + k + ai2[i]) goto _L19; else goto _L18
_L18:
long l4;
i2 = random.nextInt(j - 40) + 20;
k2 = random.nextInt(c1 - 240) + 200;
d = random.nextInt(c1 - 240) + 200;
int i3 = random.nextInt(c1 - 240) + 200;
k3 = d <= k2 ? k2 : ((int) (d));
if(i3 > k3)
{
k3 = i3;
}
l3 = 0;
i4 = random.nextInt(8) + 4;
if(l1 >= j1)
{
i4 = random.nextInt(32) + 8;
l3 = 1;
if(l1 - j1 >= k)
{
l3 = 2;
i4 = 6;
}
}
l4 = i2 - i4;
_L27:
int j4;
if(l4 > i2 + i4)
{
continue; /* Loop/switch isn't completed */
}
j4 = k3 - i4;
_L25:
if(j4 > k3 + i4) goto _L21; else goto _L20
_L20:
int k4 = (l4 - i2) * (l4 - i2) + (j4 - k3) * (j4 - k3);
if(l4 < 0 || j4 < 0 || l4 >= 1024 || j4 >= 2048 || k4 >= i4 * i4)
{
continue; /* Loop/switch isn't completed */
}
if(l3 != 1) goto _L23; else goto _L22
_L22:
int j5;
int i5 = (int)(((((double)(l4 - i2) + (double)i4 / 3D) * ((double)(l4 - i2) + (double)i4 / 3D)) / (double)i4 / (double)i4 + (((double)(j4 - k3) + (double)i4 / 3D) * ((double)(j4 - k3) + (double)i4 / 3D)) / (double)i4 / (double)i4) * 64D);
j5 = 200 - i5 - random.nextInt(16);
if(ai1[l4 | j4 << 10] == 0)
{
continue; /* Loop/switch isn't completed */
}
ai1;
l4 | j4 << 10;
j5 << 16 | j5 << 8 | j5;
goto _L24
_L23:
if(ai1[l4 | j4 << 10] == 0)
{
continue; /* Loop/switch isn't completed */
}
ai1;
l4 | j4 << 10;
l3 * 128 - l3 / 2 << 16 ^ 0xffff00;
_L24:
JVM INSTR iastore ;
j4++;
goto _L25
_L21:
l4++;
if(true) goto _L27; else goto _L26
_L26:
l1++;
goto _L28
_L19:
int ai3[][];
int j3;
boolean flag;
boolean flag1;
long l5;
ai3 = new int[i1][8];
for(i2 = 0; i2 < ai3.length; i2++)
{
ai3[i2][0] = random.nextInt(48) + 24;
if(i2 < ai3.length / 2)
{
ai3[i2][0] = j - ai3[i2][0];
}
ai3[i2][1] = -random.nextInt(400);
ai3[i2][2] = random.nextInt(2) * 2 - 1;
ai3[i2][7] = -640;
}
i2 = 0;
k2 = 0;
c = 0;
d = 0;
j3 = 0;
k3 = 0;
flag = false;
flag1 = false;
l5 = l4 = System.currentTimeMillis();
_L58:
int k5;
int i6;
int k6;
if(flag || a_boolean_array1d_static_fld[27])
{
break; /* Loop/switch isn't completed */
}
j5 = a_int_static_fld + d;
k5 = b + j3;
if(!flag1 || c <= 0)
{
break MISSING_BLOCK_LABEL_1915;
}
i6 = (int)Math.sqrt((j5 - i2) * (j5 - i2) + (k5 - k2) * (k5 - k2)) + 1;
k6 = 0;
_L39:
if(k6 >= i6) goto _L30; else goto _L29
_L29:
int i8;
int k9;
int l10;
i8 = j5 + ((i2 - j5) * k6) / i6;
k9 = k5 + ((k2 - k5) * k6) / i6;
l10 = -3;
_L38:
int l11;
if(l10 > 3)
{
continue; /* Loop/switch isn't completed */
}
l11 = -3;
_L36:
if(l11 > 3) goto _L32; else goto _L31
_L31:
int k12;
int k13;
if((l10 == -3 || l10 == 3) && (l11 == -3 || l11 == 3))
{
continue; /* Loop/switch isn't completed */
}
k12 = i8 + l10;
k13 = k9 + l11;
if(k12 < 0 || k13 < 0 || k12 >= 1024 || k13 >= 2048)
{
continue; /* Loop/switch isn't completed */
}
if(c != 3 && !a_boolean_array1d_static_fld[17]) goto _L34; else goto _L33
_L33:
int i14 = ai1[k12 | k13 << 10] >> 16 & 0xff;
int k14 = ai1[k12 | k13 << 10] >> 8 & 0xff;
int i15 = ai1[k12 | k13 << 10] >> 0 & 0xff;
if(i14 == k14 || i14 == i15)
{
continue; /* Loop/switch isn't completed */
}
ai1;
k12 | k13 << 10;
0;
goto _L35
_L34:
int j15;
int l15;
int i16;
if(ai1[k12 | k13 << 10] != 0)
{
continue; /* Loop/switch isn't completed */
}
double d1;
d1 = (d1 = 1.6000000000000001D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)(k12 | k13 << 10) / 6193152D);
j15 = (int)(111D * d1);
l15 = (int)(92D * d1);
i16 = (int)(51D * d1);
ai1;
k12 | k13 << 10;
j15 << 16 | l15 << 8 | i16;
_L35:
JVM INSTR iastore ;
l11++;
goto _L36
_L32:
l10++;
if(true) goto _L38; else goto _L37
_L37:
k6++;
goto _L39
_L30:
i2 = j5;
k2 = k5;
for(i6 = 0; i6 < 480; i6++)
{
System.arraycopy(ai1, d | j3 + i6 << 10, ai, i6 * 640, 640);
}
label0:
for(i6 = 0; i6 < ai3.length; i6++)
{
if(ai3[i6][6] >= 16)
{
continue;
}
int l6 = -3;
do
{
if(l6 > 3)
{
continue label0;
}
for(int j8 = -8; j8 <= 1; j8++)
{
int l9 = (ai3[i6][0] - d) + l6 * ai3[i6][2];
int i11 = (ai3[i6][1] - j3) + j8;
if(l9 < 0 || i11 < 0 || l9 >= 640 || i11 >= 480)
{
continue;
}
char c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10];
if(ai3[i6][6] > 0)
{
c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][6] / 4 + 3) * 7 * 10];
}
if(c2 == 'X' && ai3[i6][5] == 1)
{
ai[l9 + i11 * 640] = 0xffff00;
}
if(c2 == 'o')
{
ai[l9 + i11 * 640] = 0xdb8eaf;
}
if(c2 == '!')
{
ai[l9 + i11 * 640] = 65280;
}
if(c2 == '*')
{
ai[l9 + i11 * 640] = 255;
}
if(c2 == '#')
{
ai[l9 + i11 * 640] = 0xff0000;
}
}
l6++;
} while(true);
}
_L56:
if(!flag1 || l5 >= System.currentTimeMillis())
{
break; /* Loop/switch isn't completed */
}
l5 += 25L;
label1:
for(i6 = 0; i6 < 400; i6++)
{
int i7 = random.nextInt(1021) + 1;
int k8 = random.nextInt(1021) + 1;
int i10 = (i7 + random.nextInt(3)) - 1;
int j11 = (k8 + random.nextInt(3)) - 1;
if(ai1[i10 | j11 << 10] != 65280)
{
continue;
}
int i12 = -1;
do
{
if(i12 > 1)
{
continue label1;
}
for(int l12 = -1; l12 <= 1; l12++)
{
ai1[i7 + i12 | k8 + l12 << 10] = 65280;
}
i12++;
} while(true);
}
i6 = 0;
_L54:
if(i6 >= ai3.length) goto _L41; else goto _L40
_L40:
if(ai3[i6][6] != 0)
{
break MISSING_BLOCK_LABEL_3647;
}
if(ai3[i6][4] <= 1 || ai3[i6][1] <= 1) goto _L43; else goto _L42
_L42:
if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] - ai3[i6][4] / 8 << 10] != 0) goto _L45; else goto _L44
_L44:
ai3[i6][0] += ai3[i6][2];
ai3[i6][1] -= ai3[i6][4] / 8;
ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
ai3[i6];
4;
JVM INSTR dup2 ;
JVM INSTR iaload ;
1;
JVM INSTR isub ;
goto _L46
_L45:
ai3[i6];
4;
false;
goto _L46
_L43:
if(ai3[i6][1] > 0 && ai1[ai3[i6][0] | ai3[i6][1] << 10] == 0xffff00)
{
ai3[i6][1]--;
}
if(ai3[i6][1] >= 4 && ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] != 0) goto _L48; else goto _L47
_L47:
if(ai3[i6][4] != -1 || random.nextInt(3) == 0) goto _L50; else goto _L49
_L50:
for(int j7 = 0; j7 < 2; j7++)
{
if(ai3[i6][1] < 4 || ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] == 0)
{
ai3[i6][1]++;
ai3[i6][4] = 0;
ai3[i6][7]++;
}
}
goto _L51
_L48:
if(ai3[i6][7] > 100)
{
ai3[i6][6] = 1;
i1--;
ai3[i6][0] -= ai3[i6][2];
}
ai3[i6][7] = 0;
ai3[i6][4] = -1;
if(random.nextInt(20) == 0) goto _L51; else goto _L52
_L52:
boolean flag2;
flag2 = true;
int l8 = 2;
do
{
if(l8 < -4)
{
break;
}
if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] + l8 << 10] == 0)
{
ai3[i6][0] += ai3[i6][2];
ai3[i6][1] += l8;
ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
flag2 = false;
break;
}
l8--;
} while(true);
if(random.nextInt(flag2 ? 10 : 4000) != 0) goto _L51; else goto _L53
_L53:
ai3[i6][2] *= -1;
if(!flag2 || random.nextInt(3) == 0) goto _L51; else goto _L49
_L49:
ai3[i6];
4;
16;
_L46:
JVM INSTR iastore ;
_L51:
if(ai3[i6][5] == 1 && ai3[i6][1] <= ai1[ai3[i6][0]] && (ai3[i6][0] == 40 || ai3[i6][0] == j - 8 - 32))
{
k3++;
for(int k7 = 0; k7 < 4; k7++)
{
int i9 = ai3[i6][0];
int j10 = ai3[i6][1] - 5;
boolean flag3 = false;
while(!flag3)
{
if(ai1[i9 + 0 | j10 + 1 << 10] == 0)
{
j10++;
} else
if(ai1[i9 - 1 | j10 + 1 << 10] == 0)
{
i9--;
j10++;
} else
if(ai1[i9 + 1 | j10 + 1 << 10] == 0)
{
i9++;
j10++;
} else
{
flag3 = true;
}
}
if(j10 < ai1[i9])
{
ai1[i9 | j10 << 10] = 0xfefe00;
}
}
ai3[i6][5] = 0;
}
int l7 = -3;
do
{
if(l7 > 3)
{
continue; /* Loop/switch isn't completed */
}
for(int j9 = -8; j9 <= 1; j9++)
{
int k10 = ai3[i6][0] + l7 * ai3[i6][2];
int k11 = ai3[i6][1] + j9;
if(k10 < 0 || k11 < 0 || k10 >= j || k11 >= c1 || ac[l7 + 3 + (j9 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10] == ' ')
{
continue;
}
if(ai1[k10 | k11 << 10] == 65280)
{
ai3[i6][6] = 1;
i1--;
for(int i13 = -16; i13 <= 16; i13++)
{
for(int l13 = -16; l13 <= 16; l13++)
{
int j14 = i13 * i13 + l13 * l13;
int l14 = i13 + ai3[i6][0];
int k15 = (l13 + ai3[i6][1]) - 4;
if(l14 >= 4 && k15 >= 4 && l14 < j - 4 && k15 < c1 - 4 && j14 < 256)
{
ai1[l14 | k15 << 10] = 0;
}
}
}
}
if(ai3[i6][5] != 0 || ai1[k10 | k11 << 10] != 0xffff00)
{
continue;
}
for(int j12 = -1; j12 <= 1; j12++)
{
for(int j13 = -1; j13 <= 1; j13++)
{
if(ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] == 0xffff00)
{
ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] = 0;
}
}
}
ai3[i6][5] = 1;
}
l7++;
} while(true);
if(ai3[i6][6] < 16)
{
ai3[i6][6]++;
}
i6++;
goto _L54
_L41:
if(a_boolean_array1d_static_fld[37] && d > 8)
{
d -= 8;
}
if(a_boolean_array1d_static_fld[39] && d < j - 640)
{
d += 8;
}
if(a_boolean_array1d_static_fld[38] && j3 > 8)
{
j3 -= 8;
}
if(a_boolean_array1d_static_fld[40] && j3 < c1 - 480)
{
j3 += 8;
}
if(true) goto _L56; else goto _L55
_L55:
g1.drawImage(bufferedimage, 0, 0, null);
if(!flag1)
{
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString(args1[i], 200, 100);
g1.setFont(new Font("Sans-Serif", 0, 12));
g1.drawString(args2[i], 200, 116);
g1.drawString("(click to start)", 200, 132);
if(c > 0)
{
flag1 = true;
c = 0;
}
l5 = l4 = System.currentTimeMillis();
}
int j6 = (int)((System.currentTimeMillis() - l4) / 1000L);
g1.drawString("Miners: " + i1, 10, 36);
g1.drawString("Gold: " + k3 + " / " + l, 10, 48);
g1.drawString("Time left: " + (k1 - j6), 10, 60);
g.drawImage(image, 0, 0, null);
if(k3 >= l)
{
if(i < 6)
{
i++;
}
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString("LEVEL PASSED!", 200, 100);
g.drawImage(image, 0, 0, null);
Thread.sleep(2000L);
flag = true;
}
if(i1 <= 0 || k1 - j6 <= 0 || a_boolean_array1d_static_fld[75])
{
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString("LEVEL FAILED!", 200, 100);
g.drawImage(image, 0, 0, null);
Thread.sleep(2000L);
flag = true;
}
Thread.sleep(10L);
if(true) goto _L58; else goto _L57
_L57:
if(true) goto _L60; else goto _L59
_L59:
System.exit(0);
return;
}
}
2021.12 数据,可能有更多内容
import java.awt.*;import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.image.*;
import java.util.Random;
import javax.swing.JFrame;
public class A extends JFrame
{
private static boolean a_boolean_array1d_static_fld[] = new boolean[0x10000];
private static int a_int_static_fld;
private static int b;
private static int c;
public A()
{
}
public final void processEvent(AWTEvent awtevent)
{
switch(awtevent.getID())
{
case 201:
System.exit(0);
// fall through
case 502:
c = 0;
return;
case 501:
c = ((MouseEvent)awtevent).getButton();
// fall through
case 503:
case 506:
a_int_static_fld = ((MouseEvent)awtevent).getX();
b = ((MouseEvent)awtevent).getY();
return;
case 401:
case 402:
a_boolean_array1d_static_fld[((KeyEvent)awtevent).getKeyCode()] = awtevent.getID() == 401;
// fall through
default:
return;
}
}
public static void main(String args[])
throws Throwable
{
char ac[];
Graphics g;
BufferedImage bufferedimage;
int ai[];
Image image;
Graphics g1;
Random random;
int ai1[];
String args1[];
String args2[];
int ai2[];
int i;
ac = " !!!! !oooo!oooo ** **XX o*XX ** ** ** ooo ! !!" +
"!! !oooo oooo **XXX*oXXX****** ** ** oooo !!! !oooo !!oooo" +
" ** XX***oX** XX*** ***** o** ** o oo !!!!!!oooo!oooo ** " +
"**XXX*oXXX** o*** o** oo !!!! !oooo!oooo ** " +
" **XX o*XX#*# # ### # #!!!! # " +
"!oooo#o#o###### #" +
" # #"
.toCharArray();
A a1;
(a1 = new A()).setSize(640, 500);
a1.setResizable(false);
a1.enableEvents(511L);
a1.setVisible(true);
g = a1.getGraphics();
ai = ((DataBufferInt)(bufferedimage = new BufferedImage(640, 480, 1)).getRaster().getDataBuffer()).getData();
(g1 = (image = a1.createImage(640, 480)).getGraphics()).setColor(new Color(255, 255, 255));
random = new Random();
ai1 = new int[0x200000];
args1 = (new String[] {
"Level 1: Miners4k", "Level 2: Rocks", "Level 3: Descent", "Level 4: Slime", "Level 5: Massive", "Level 6: Riiiight", "You won!"
});
args2 = (new String[] {
"Bring the gold home!", "Rocks are impenetrable.", "Use arrow keys to scroll.", "Slime explodes on contact!", "Wide level!", "Timekiller!", "Bonus level!"
});
ai2 = (new int[] {
0, 0, 0, 6, 10, 25, 0
});
i = 0;
_L60:
int j;
char c1;
int k;
int l;
int i1;
int j1;
int k1;
if(a_boolean_array1d_static_fld[27])
{
break MISSING_BLOCK_LABEL_4146;
}
j = (i / 4) * 384 + 640;
c1 = i <= 1 ? '\u01E0' : '\u0400';
k = ((i - 1) / 2) * 100;
l = i * 500;
i1 = i * i * 50;
j1 = i * i * 50;
if(i == 0)
{
k = 0;
l = 100;
i1 = 50;
j1 = 10;
}
if(i == 1)
{
k = 10;
l = 200;
j1 = 30;
}
if(i == 2)
{
k = 50;
}
if(i == 6)
{
c1 = '\u0800';
l = 0x1869f;
i1 = 800;
}
k1 = l * 2;
ai1[0] = 200;
ai1[512] = 200;
512;
_L6:
JVM INSTR dup ;
int l1;
l1;
1;
JVM INSTR icmple 516;
goto _L1 _L2
_L1:
0;
_L5:
JVM INSTR dup ;
int i2;
i2;
1024;
JVM INSTR icmpge 509;
goto _L3 _L4
_L3:
int j2 = ai1[i2];
int l2 = ai1[i2 + l1 & 0x3ff];
ai1[i2 + l1 / 2] = (j2 + l2) / 2 + (random.nextInt(l1) - l1 / 2) / 4;
i2 + l1;
goto _L5
_L4:
l1 / 2;
goto _L6
_L2:
for(l1 = 0; l1 < 88; l1++)
{
ai1[l1] = ai1[88] - 2;
ai1[j - l1 - 1] = ai1[j - 88 - 1] - 2;
}
l1 = 1;
_L17:
if(l1 >= c1)
{
break; /* Loop/switch isn't completed */
}
i2 = 0;
_L15:
if(i2 >= j) goto _L8; else goto _L7
_L7:
int k2;
double d;
k2 = i2 | l1 << 10;
d = (d = 1.2D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)k2 / 6193152D);
if(i2 >= 8 && i2 < j - 8 && l1 < c1 - 8) goto _L10; else goto _L9
_L9:
int k3 = (int)(180D * d);
ai1;
k2;
k3 << 16 | k3 << 8;
k3;
goto _L11
_L10:
if(l1 >= ai1[k2 % 1024]) goto _L13; else goto _L12
_L12:
ai1;
k2;
0;
goto _L14
_L13:
int l3;
int i4;
k3 = (int)(111D * d);
l3 = (int)(92D * d);
i4 = (int)(51D * d);
if(l1 < ai1[i2] + 4)
{
k3 = (int)(44D * d);
l3 = (int)(148D * d);
i4 = (int)(49D * d);
if(i2 < 88 || i2 > j - 89)
{
k3 = i4 = l3;
}
}
ai1;
k2;
k3 << 16 | l3 << 8;
i4;
_L11:
JVM INSTR ior ;
_L14:
JVM INSTR iastore ;
if(l1 >= c1 - 10 && ai2[i] > 0)
{
ai1[k2] = 65280;
}
i2++;
goto _L15
_L8:
l1++;
if(true) goto _L17; else goto _L16
_L16:
l1 = 0;
_L28:
if(l1 >= j1 + k + ai2[i]) goto _L19; else goto _L18
_L18:
long l4;
i2 = random.nextInt(j - 40) + 20;
k2 = random.nextInt(c1 - 240) + 200;
d = random.nextInt(c1 - 240) + 200;
int i3 = random.nextInt(c1 - 240) + 200;
k3 = d <= k2 ? k2 : ((int) (d));
if(i3 > k3)
{
k3 = i3;
}
l3 = 0;
i4 = random.nextInt(8) + 4;
if(l1 >= j1)
{
i4 = random.nextInt(32) + 8;
l3 = 1;
if(l1 - j1 >= k)
{
l3 = 2;
i4 = 6;
}
}
l4 = i2 - i4;
_L27:
int j4;
if(l4 > i2 + i4)
{
continue; /* Loop/switch isn't completed */
}
j4 = k3 - i4;
_L25:
if(j4 > k3 + i4) goto _L21; else goto _L20
_L20:
int k4 = (l4 - i2) * (l4 - i2) + (j4 - k3) * (j4 - k3);
if(l4 < 0 || j4 < 0 || l4 >= 1024 || j4 >= 2048 || k4 >= i4 * i4)
{
continue; /* Loop/switch isn't completed */
}
if(l3 != 1) goto _L23; else goto _L22
_L22:
int j5;
int i5 = (int)(((((double)(l4 - i2) + (double)i4 / 3D) * ((double)(l4 - i2) + (double)i4 / 3D)) / (double)i4 / (double)i4 + (((double)(j4 - k3) + (double)i4 / 3D) * ((double)(j4 - k3) + (double)i4 / 3D)) / (double)i4 / (double)i4) * 64D);
j5 = 200 - i5 - random.nextInt(16);
if(ai1[l4 | j4 << 10] == 0)
{
continue; /* Loop/switch isn't completed */
}
ai1;
l4 | j4 << 10;
j5 << 16 | j5 << 8 | j5;
goto _L24
_L23:
if(ai1[l4 | j4 << 10] == 0)
{
continue; /* Loop/switch isn't completed */
}
ai1;
l4 | j4 << 10;
l3 * 128 - l3 / 2 << 16 ^ 0xffff00;
_L24:
JVM INSTR iastore ;
j4++;
goto _L25
_L21:
l4++;
if(true) goto _L27; else goto _L26
_L26:
l1++;
goto _L28
_L19:
int ai3[][];
int j3;
boolean flag;
boolean flag1;
long l5;
ai3 = new int[i1][8];
for(i2 = 0; i2 < ai3.length; i2++)
{
ai3[i2][0] = random.nextInt(48) + 24;
if(i2 < ai3.length / 2)
{
ai3[i2][0] = j - ai3[i2][0];
}
ai3[i2][1] = -random.nextInt(400);
ai3[i2][2] = random.nextInt(2) * 2 - 1;
ai3[i2][7] = -640;
}
i2 = 0;
k2 = 0;
c = 0;
d = 0;
j3 = 0;
k3 = 0;
flag = false;
flag1 = false;
l5 = l4 = System.currentTimeMillis();
_L58:
int k5;
int i6;
int k6;
if(flag || a_boolean_array1d_static_fld[27])
{
break; /* Loop/switch isn't completed */
}
j5 = a_int_static_fld + d;
k5 = b + j3;
if(!flag1 || c <= 0)
{
break MISSING_BLOCK_LABEL_1915;
}
i6 = (int)Math.sqrt((j5 - i2) * (j5 - i2) + (k5 - k2) * (k5 - k2)) + 1;
k6 = 0;
_L39:
if(k6 >= i6) goto _L30; else goto _L29
_L29:
int i8;
int k9;
int l10;
i8 = j5 + ((i2 - j5) * k6) / i6;
k9 = k5 + ((k2 - k5) * k6) / i6;
l10 = -3;
_L38:
int l11;
if(l10 > 3)
{
continue; /* Loop/switch isn't completed */
}
l11 = -3;
_L36:
if(l11 > 3) goto _L32; else goto _L31
_L31:
int k12;
int k13;
if((l10 == -3 || l10 == 3) && (l11 == -3 || l11 == 3))
{
continue; /* Loop/switch isn't completed */
}
k12 = i8 + l10;
k13 = k9 + l11;
if(k12 < 0 || k13 < 0 || k12 >= 1024 || k13 >= 2048)
{
continue; /* Loop/switch isn't completed */
}
if(c != 3 && !a_boolean_array1d_static_fld[17]) goto _L34; else goto _L33
_L33:
int i14 = ai1[k12 | k13 << 10] >> 16 & 0xff;
int k14 = ai1[k12 | k13 << 10] >> 8 & 0xff;
int i15 = ai1[k12 | k13 << 10] >> 0 & 0xff;
if(i14 == k14 || i14 == i15)
{
continue; /* Loop/switch isn't completed */
}
ai1;
k12 | k13 << 10;
0;
goto _L35
_L34:
int j15;
int l15;
int i16;
if(ai1[k12 | k13 << 10] != 0)
{
continue; /* Loop/switch isn't completed */
}
double d1;
d1 = (d1 = 1.6000000000000001D - (random.nextDouble() - 0.5D) * random.nextDouble() * random.nextDouble() * 0.59999999999999998D) * (1.0D - (double)(k12 | k13 << 10) / 6193152D);
j15 = (int)(111D * d1);
l15 = (int)(92D * d1);
i16 = (int)(51D * d1);
ai1;
k12 | k13 << 10;
j15 << 16 | l15 << 8 | i16;
_L35:
JVM INSTR iastore ;
l11++;
goto _L36
_L32:
l10++;
if(true) goto _L38; else goto _L37
_L37:
k6++;
goto _L39
_L30:
i2 = j5;
k2 = k5;
for(i6 = 0; i6 < 480; i6++)
{
System.arraycopy(ai1, d | j3 + i6 << 10, ai, i6 * 640, 640);
}
label0:
for(i6 = 0; i6 < ai3.length; i6++)
{
if(ai3[i6][6] >= 16)
{
continue;
}
int l6 = -3;
do
{
if(l6 > 3)
{
continue label0;
}
for(int j8 = -8; j8 <= 1; j8++)
{
int l9 = (ai3[i6][0] - d) + l6 * ai3[i6][2];
int i11 = (ai3[i6][1] - j3) + j8;
if(l9 < 0 || i11 < 0 || l9 >= 640 || i11 >= 480)
{
continue;
}
char c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10];
if(ai3[i6][6] > 0)
{
c2 = ac[l6 + 3 + (j8 + 8) * 7 + (ai3[i6][6] / 4 + 3) * 7 * 10];
}
if(c2 == 'X' && ai3[i6][5] == 1)
{
ai[l9 + i11 * 640] = 0xffff00;
}
if(c2 == 'o')
{
ai[l9 + i11 * 640] = 0xdb8eaf;
}
if(c2 == '!')
{
ai[l9 + i11 * 640] = 65280;
}
if(c2 == '*')
{
ai[l9 + i11 * 640] = 255;
}
if(c2 == '#')
{
ai[l9 + i11 * 640] = 0xff0000;
}
}
l6++;
} while(true);
}
_L56:
if(!flag1 || l5 >= System.currentTimeMillis())
{
break; /* Loop/switch isn't completed */
}
l5 += 25L;
label1:
for(i6 = 0; i6 < 400; i6++)
{
int i7 = random.nextInt(1021) + 1;
int k8 = random.nextInt(1021) + 1;
int i10 = (i7 + random.nextInt(3)) - 1;
int j11 = (k8 + random.nextInt(3)) - 1;
if(ai1[i10 | j11 << 10] != 65280)
{
continue;
}
int i12 = -1;
do
{
if(i12 > 1)
{
continue label1;
}
for(int l12 = -1; l12 <= 1; l12++)
{
ai1[i7 + i12 | k8 + l12 << 10] = 65280;
}
i12++;
} while(true);
}
i6 = 0;
_L54:
if(i6 >= ai3.length) goto _L41; else goto _L40
_L40:
if(ai3[i6][6] != 0)
{
break MISSING_BLOCK_LABEL_3647;
}
if(ai3[i6][4] <= 1 || ai3[i6][1] <= 1) goto _L43; else goto _L42
_L42:
if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] - ai3[i6][4] / 8 << 10] != 0) goto _L45; else goto _L44
_L44:
ai3[i6][0] += ai3[i6][2];
ai3[i6][1] -= ai3[i6][4] / 8;
ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
ai3[i6];
4;
JVM INSTR dup2 ;
JVM INSTR iaload ;
1;
JVM INSTR isub ;
goto _L46
_L45:
ai3[i6];
4;
false;
goto _L46
_L43:
if(ai3[i6][1] > 0 && ai1[ai3[i6][0] | ai3[i6][1] << 10] == 0xffff00)
{
ai3[i6][1]--;
}
if(ai3[i6][1] >= 4 && ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] != 0) goto _L48; else goto _L47
_L47:
if(ai3[i6][4] != -1 || random.nextInt(3) == 0) goto _L50; else goto _L49
_L50:
for(int j7 = 0; j7 < 2; j7++)
{
if(ai3[i6][1] < 4 || ai1[ai3[i6][0] | ai3[i6][1] + 1 << 10] == 0)
{
ai3[i6][1]++;
ai3[i6][4] = 0;
ai3[i6][7]++;
}
}
goto _L51
_L48:
if(ai3[i6][7] > 100)
{
ai3[i6][6] = 1;
i1--;
ai3[i6][0] -= ai3[i6][2];
}
ai3[i6][7] = 0;
ai3[i6][4] = -1;
if(random.nextInt(20) == 0) goto _L51; else goto _L52
_L52:
boolean flag2;
flag2 = true;
int l8 = 2;
do
{
if(l8 < -4)
{
break;
}
if(ai1[ai3[i6][0] + ai3[i6][2] | ai3[i6][1] + l8 << 10] == 0)
{
ai3[i6][0] += ai3[i6][2];
ai3[i6][1] += l8;
ai3[i6][3] = ai3[i6][3] + 1 & 0xf;
flag2 = false;
break;
}
l8--;
} while(true);
if(random.nextInt(flag2 ? 10 : 4000) != 0) goto _L51; else goto _L53
_L53:
ai3[i6][2] *= -1;
if(!flag2 || random.nextInt(3) == 0) goto _L51; else goto _L49
_L49:
ai3[i6];
4;
16;
_L46:
JVM INSTR iastore ;
_L51:
if(ai3[i6][5] == 1 && ai3[i6][1] <= ai1[ai3[i6][0]] && (ai3[i6][0] == 40 || ai3[i6][0] == j - 8 - 32))
{
k3++;
for(int k7 = 0; k7 < 4; k7++)
{
int i9 = ai3[i6][0];
int j10 = ai3[i6][1] - 5;
boolean flag3 = false;
while(!flag3)
{
if(ai1[i9 + 0 | j10 + 1 << 10] == 0)
{
j10++;
} else
if(ai1[i9 - 1 | j10 + 1 << 10] == 0)
{
i9--;
j10++;
} else
if(ai1[i9 + 1 | j10 + 1 << 10] == 0)
{
i9++;
j10++;
} else
{
flag3 = true;
}
}
if(j10 < ai1[i9])
{
ai1[i9 | j10 << 10] = 0xfefe00;
}
}
ai3[i6][5] = 0;
}
int l7 = -3;
do
{
if(l7 > 3)
{
continue; /* Loop/switch isn't completed */
}
for(int j9 = -8; j9 <= 1; j9++)
{
int k10 = ai3[i6][0] + l7 * ai3[i6][2];
int k11 = ai3[i6][1] + j9;
if(k10 < 0 || k11 < 0 || k10 >= j || k11 >= c1 || ac[l7 + 3 + (j9 + 8) * 7 + (ai3[i6][3] / 4) * 7 * 10] == ' ')
{
continue;
}
if(ai1[k10 | k11 << 10] == 65280)
{
ai3[i6][6] = 1;
i1--;
for(int i13 = -16; i13 <= 16; i13++)
{
for(int l13 = -16; l13 <= 16; l13++)
{
int j14 = i13 * i13 + l13 * l13;
int l14 = i13 + ai3[i6][0];
int k15 = (l13 + ai3[i6][1]) - 4;
if(l14 >= 4 && k15 >= 4 && l14 < j - 4 && k15 < c1 - 4 && j14 < 256)
{
ai1[l14 | k15 << 10] = 0;
}
}
}
}
if(ai3[i6][5] != 0 || ai1[k10 | k11 << 10] != 0xffff00)
{
continue;
}
for(int j12 = -1; j12 <= 1; j12++)
{
for(int j13 = -1; j13 <= 1; j13++)
{
if(ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] == 0xffff00)
{
ai1[k10 + j12 & 0x3ff | (k11 + j13 & 0x3ff) << 10] = 0;
}
}
}
ai3[i6][5] = 1;
}
l7++;
} while(true);
if(ai3[i6][6] < 16)
{
ai3[i6][6]++;
}
i6++;
goto _L54
_L41:
if(a_boolean_array1d_static_fld[37] && d > 8)
{
d -= 8;
}
if(a_boolean_array1d_static_fld[39] && d < j - 640)
{
d += 8;
}
if(a_boolean_array1d_static_fld[38] && j3 > 8)
{
j3 -= 8;
}
if(a_boolean_array1d_static_fld[40] && j3 < c1 - 480)
{
j3 += 8;
}
if(true) goto _L56; else goto _L55
_L55:
g1.drawImage(bufferedimage, 0, 0, null);
if(!flag1)
{
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString(args1[i], 200, 100);
g1.setFont(new Font("Sans-Serif", 0, 12));
g1.drawString(args2[i], 200, 116);
g1.drawString("(click to start)", 200, 132);
if(c > 0)
{
flag1 = true;
c = 0;
}
l5 = l4 = System.currentTimeMillis();
}
int j6 = (int)((System.currentTimeMillis() - l4) / 1000L);
g1.drawString("Miners: " + i1, 10, 36);
g1.drawString("Gold: " + k3 + " / " + l, 10, 48);
g1.drawString("Time left: " + (k1 - j6), 10, 60);
g.drawImage(image, 0, 0, null);
if(k3 >= l)
{
if(i < 6)
{
i++;
}
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString("LEVEL PASSED!", 200, 100);
g.drawImage(image, 0, 0, null);
Thread.sleep(2000L);
flag = true;
}
if(i1 <= 0 || k1 - j6 <= 0 || a_boolean_array1d_static_fld[75])
{
g1.setFont(new Font("Sans-Serif", 1, 30));
g1.drawString("LEVEL FAILED!", 200, 100);
g.drawImage(image, 0, 0, null);
Thread.sleep(2000L);
flag = true;
}
Thread.sleep(10L);
if(true) goto _L58; else goto _L57
_L57:
if(true) goto _L60; else goto _L59
_L59:
System.exit(0);
return;
}
}