📄 f.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
import java.io.DataInputStream;
public final class f
implements n
{
public b a;
public a b;
public int c;
public int d;
public int e;
public String f[];
public byte g;
public byte h;
public String i;
public String j;
public byte k;
public int l;
public String m[] = {
"EASY", "NORMAL", "HARD", "SUPER HARD"
};
public String n[];
public String o[];
public char p[] = {
'.', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
'J', 'K', 'L', 'O', 'P', 'R', 'T', 'U', 'V', 'X',
'Y', '0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', ',', '!', ':', '\'', '-', '?', '+', '/', '@',
'#', '*', '%', '(', ')'
};
public byte q[];
public String r;
private boolean s;
private boolean t;
private String u[];
private int v;
private int w;
private int x;
private int y;
private int z;
private int A;
private int B;
private int C;
public f(b b1, a a1)
{
s = false;
t = false;
a = b1;
b = a1;
c = a.e().getWidth();
d = a.e().getHeight();
a.e().a(false, 0);
}
public final void a()
{
int ai[] = {
(c - 96) / 2 + 5, (d - 65) / 2, (c - 96) / 2 + 92, (d - 65) / 2 + 47, 7
};
int ai1[] = {
2, 12, c - 2, d - 15, 7
};
e = 0;
g = b.d;
h = 0;
k = 0;
i = "";
j = "";
a.e().a(false, 0);
switch (a.g())
{
case 0: // '\0'
f();
i = "YES";
j = "NO";
return;
case 1: // '\001'
i = "YES";
j = "NO";
return;
case 4: // '\004'
k = 0;
i = "SELECT";
j = "EXIT";
if (b.k > 0)
o = (new String[] {
"LOAD GAME: STAGE " + Math.abs(b.k), "LEGEND MODE", "FREE BATTLES", "ERASE SAVE"
});
else
o = (new String[] {
"---", "LEGEND MODE", "FREE BATTLES", "ERASE SAVE"
});
// fall through
case 2: // '\002'
case 3: // '\003'
if (((i)a).g() == 2 || ((i)a).a == 10)
{
k.a();
k.a(0, true);
}
if (b.e == 7)
{
f = (new String[] {
"RESUME GAME", "START GAME", "PASSWORD", "SETTINGS", "INSTRUCTIONS", "ABOUT"
});
return;
} else
{
f = (new String[] {
"START GAME", "PASSWORD", "SETTINGS", "INSTRUCTIONS", "ABOUT"
});
return;
}
case 6: // '\006'
case 7: // '\007'
f = b.c.a((a.g() != 7 ? "THERE ARE 6 BATTLES. DIFFERENT CLASSES OF WARRIORS EXHIBIT VARIOUS TALENTS AND TRICK POINTS.\n\nTHE LEVEL WILL BE UPGRADED AFTER A WINNING HAND OF A BATTLE. THE SIZE OF ACTIVE SPHERE FOR ATTACKS WILL BE ENLARGED WHEN LEVEL UP IS ACHIEVED. \n\nSTRENGTHEN YOUR ATTACK BY ENCIRCLING AN ENEMY. STAND NEXT TO YOUR COMRADES TO HELP LESSEN THE INJURY LEVEL FROM THE ENEMIES. \n\nYOU CAN ATTAIN EXTRA DIFFICULTY SETTINGS IF YOU HAVE COMPLETED ALL STAGES.\n\nHP: HIT POINT\nTP: TRICK POINT\nLV: LEVEL\nEXP: EXPERIENCE\nSTR: STRENGTH\nDEF: DEFENSE\n\nKEYS:\n2/UP : UP\n8/DOWN : DOWN\n4/LEFT : LEFT\n6/RIGHT: RIGHT\n#/5/FIRE : CONFIRM\n0 : CANCEL\n* : BROWSE GAME MENU IN BATTLE\n9 : NEXT WARRIOR\nLEFT SOFT KEY: MAIN MENU\nRIGHT SOFT KEY: PAUSE MENU" : "FUNMOBILE\nLEGEND OF 3 EMPIRES\nV.1.0.0\nPROGRAM BY FUNMOBILE.\n(C)FUNMOBILE 2005.\nALL RIGHTS RESERVED.").toCharArray(), c - ai1[0] * 2);
a(f, true, ai1);
j = "BACK";
return;
case 5: // '\005'
f = (new String[] {
m[b.g], k.d() ? "ON" : "OFF", k.e() ? "ON" : "OFF"
});
n = b.c.a("SELECT DIFFICULTY BEFORE YOU START GAME.".toCharArray(), c - ai1[0] * 2);
i = "SELECT";
j = "CONFIRM";
return;
case 9: // '\t'
k.a();
// fall through
case 8: // '\b'
f = b.c.a((a.g() != 8 ? "\n\n\n\n\n\n\nIN THE WAR OF RED CLIFFS, ZHUGE LIANG GOVERNED THE WIND TO BOOST FIRE ON THE CAO CAO'S CHAINED NAVY. CAO CAO ARMY WAS DEFEATED AND FLED. THIS WAR MARKED THE SIGNIFICANCE OF THE RISE OF LIU BEI AND STIMULATED THE PHENOMENA OF 3 EMPIRES IN ANCIENT CHINA." : "\n\n\n\n\n\n\n -- STORY --\n\nTHE RISE OF WARLORDS IN LATE HAN DYNASTY BECAME A BLOW TO THE LEGITIMACY.\n\nCAO CAO AND SUN QUAN DEVELOPED THEIR SPHERES OF INFLUENCE. THE LEGITIMATE RULER, LIU BEI STARTED TO RETRIEVE LEGITIMACY WITH HIS WISE DIRECTOR, ZHUGE LIANG...").toCharArray(), c - ai[0] * 2);
a(f, false, ai);
i = a.g() != 8 ? "FINISH" : "START";
// fall through
default:
return;
}
}
public final void b()
{
label0:
switch (a.g())
{
case 3: // '\003'
case 5: // '\005'
case 7: // '\007'
default:
break;
case 1: // '\001'
if (e > 42)
{
a.a((byte)2);
return;
}
break;
case 2: // '\002'
if (e > 14)
{
a.a((byte)3);
return;
}
break;
case 8: // '\b'
if (h())
{
a.a((byte)10);
return;
}
break;
case 9: // '\t'
if (h())
{
a.a((byte)4);
return;
}
break;
case 6: // '\006'
switch (l)
{
case -1:
case 50: // '2'
c(9);
break;
case -2:
case 56: // '8'
c(-9);
break;
}
return;
case 4: // '\004'
if (k != 5)
break;
switch (l)
{
default:
break label0;
case -1:
case 50: // '2'
q[g]--;
if (q[g] < 0)
{
q[g] = 44;
return;
}
break label0;
case -2:
case 56: // '8'
q[g]++;
break;
}
if (q[g] > 44)
q[g] = 0;
break;
}
}
public final void c()
{
}
public final void a(int i1)
{
l = 0;
}
public final void b(int i1)
{
l = i1;
label0:
switch (a.g())
{
case 1: // '\001'
case 2: // '\002'
default:
break;
case 0: // '\0'
if (i1 == -6)
{
k.a(true);
a.a((byte)1);
return;
}
if (i1 == -7)
{
k.a(false);
a.a((byte)1);
return;
}
break;
case 3: // '\003'
a.a((byte)4);
return;
case 4: // '\004'
case 5: // '\005'
case 6: // '\006'
case 7: // '\007'
case 8: // '\b'
case 9: // '\t'
switch (i1)
{
default:
break;
case -3:
case 52: // '4'
if (5 == a.g())
if (h == 0)
{
if (b.g > 0)
{
b.g--;
f[0] = m[b.g];
}
} else
{
e();
}
if (k == 5 && g > 0)
{
g--;
return;
}
break label0;
case -4:
case 54: // '6'
if (5 == a.g())
e();
if (k == 5 && g < 12)
{
g++;
return;
}
break label0;
case -1:
case 50: // '2'
switch (k)
{
case 0: // '\0'
case 1: // '\001'
case 2: // '\002'
case 4: // '\004'
if (5 != a.g() && g > 0)
g--;
if (h > 0)
h--;
if (6 == a.g() || 7 == a.g())
c(9);
// fall through
case 3: // '\003'
default:
return;
}
case -2:
case 56: // '8'
switch (k)
{
case 3: // '\003'
default:
break;
case 0: // '\0'
case 1: // '\001'
if (5 != a.g() && g < (k != 1 ? f : o).length - 1)
g++;
if (h < (k != 1 ? f : o).length - 1)
h++;
if (6 == a.g() || 7 == a.g())
c(-9);
break;
case 2: // '\002'
if (5 != a.g() && g < b.f.length - 1)
g++;
break;
case 4: // '\004'
if (g == 0)
g++;
break;
}
return;
case -6:
case -5:
case 35: // '#'
case 53: // '5'
e();
return;
case -7:
case 48: // '0'
d();
break;
}
break;
}
}
public final void a(l l1)
{
a.e().a(false, 0);
int i1 = 0;
e++;
l1.c(0, 0, c, d);
switch (a.g())
{
default:
break;
case 0: // '\0'
if (e > 1)
{
l1.f(0xff714a03);
l1.b(0, 0, c, d);
b(l1);
l1.c(0, 0, c, d);
(new j()).a(l1, (c - 80) / 2, (d - 12) / 2 - 1, 80, 12);
b.c.a(l1, c / 2, d / 2 - 3, "ENABLE SOUND?", (byte)1);
return;
}
break;
case 1: // '\001'
l1.f(-1);
l1.b(0, 0, c, d);
l1.a(22, (c - l1.b(22)) / 2, (d - l1.c(22)) / 2);
return;
case 2: // '\002'
case 3: // '\003'
case 4: // '\004'
case 8: // '\b'
case 9: // '\t'
l1.f(0xff714a03);
l1.b(0, 0, c, d);
l1.a(4, (c - 96) / 2, (d - 65) / 2);
l1.c(0, 0, c, d);
label0:
switch (a.g())
{
case 5: // '\005'
case 6: // '\006'
case 7: // '\007'
default:
break;
case 3: // '\003'
(new j()).a(l1, (c - 80) / 2, (d + 65) / 2 - 30 - 1 - (14 - b.c.a()) / 2, 80, 14);
if (System.currentTimeMillis() % 600L > 300L)
b.c.a(l1, c / 2, (d + 65) / 2 - 30 - 1, "PRESS ANY KEY", (byte)1);
break;
case 4: // '\004'
switch (k)
{
default:
break;
case 0: // '\0'
(new j()).a(l1, (c - 80) / 2, (d + 65) / 2 - 30 - 1 - (14 - b.c.a()) / 2, 80, 14);
b.c.a(l1, c / 2, (d + 65) / 2 - 30 - 1, f[g], (byte)1);
if (g > 0)
l1.a(1, (c - 10) / 2, (d + 65) / 2 - 30 - 1 - (14 - b.c.a()) / 2 - 7, 10, 6, -6, -2, 16384);
if (g < f.length - 1)
l1.a(1, (c - 10) / 2, ((d + 65) / 2 - 30 - 1) + (14 + b.c.a()) / 2 + 1, 10, 6, -6, -2);
break label0;
case 1: // '\001'
(new j()).a(l1, (c - 96) / 2, (d + 65) / 2 - 15 - 37, 96, 37);
for (int j1 = 0; j1 < o.length; j1++)
b.c.a(l1, c / 2, ((d + 65) / 2 - 15 - 37) + 5 + 7 * j1, o[j1], (byte)1);
i1 = ((d + 65) / 2 - 18 - 37) + 5 + 7 * g;
l1.a(1, c / 2 - 44, i1, 6, 10, 0, 0);
break label0;
case 3: // '\003'
(new j()).a(l1, (c - 90) / 2, (d + 65) / 2 - 15 - 28, 90, 28);
String as[] = {
"THIS WILL ERASE", "SAVED GAME,", "ARE YOU SURE?"
};
for (int i2 = 0; i2 < as.length; i2++)
b.c.a(l1, c / 2, ((d + 65) / 2 - 15 - 28) + 5 + 7 * i2, as[i2], (byte)1);
break label0;
case 2: // '\002'
if (b.i > 0)
{
(new j()).a(l1, (c - 90) / 2, (d + 65) / 2 - 30 - 1 - (13 - b.c.a()) / 2, 90, 13);
b.c.a(l1, (c - 90) / 2 + 5, (d + 65) / 2 - 30 - 1, b.f[g]);
if (g > 0)
l1.a(1, (c - 10) / 2, (d + 65) / 2 - 30 - 1 - (13 - b.c.a()) / 2 - 7, 10, 6, -6, -2, 16384);
if (g < b.f.length - 1)
l1.a(1, (c - 10) / 2, ((d + 65) / 2 - 30 - 1) + (13 + b.c.a()) / 2 + 1, 10, 6, -6, -2);
} else
{
(new j()).a(l1, (c - 90) / 2, (d + 65) / 2 - 30 - 1 - (20 - b.c.a()) / 2, 90, 20);
b.c.a(l1, (c - 90) / 2 + 5, (d + 65) / 2 - 33 - 1, "FINISH LEGEND MODE");
b.c.a(l1, (c - 90) / 2 + 5, (d + 65) / 2 - 27 - 1, "ONCE TO UNLOCK THIS.");
}
break label0;
case 4: // '\004'
(new j()).a(l1, (c - 96) / 2, (d + 65) / 2 - 20 - 25, 96, 25);
b.c.a(l1, c / 2, ((d + 65) / 2 - 20 - 25) + 6, "IMPORT TEAM", (byte)1);
b.c.a(l1, c / 2, ((d + 65) / 2 - 20 - 25) + 6 + 8, "EXPORT TEAM", (byte)1);
i1 = ((d + 65) / 2 - 21 - 25) + 4 + 8 * g;
l1.a(1, c / 2 - 42, i1, 6, 10, 0, 0);
break label0;
case 5: // '\005'
r = "" + p[q[0]] + p[q[1]] + p[q[2]] + p[q[3]] + p[q[4]] + p[q[5]] + p[q[6]] + p[q[7]] + p[q[8]] + p[q[9]] + p[q[10]] + p[q[11]] + p[q[12]];
// fall through
case 6: // '\006'
(new j()).a(l1, (c - 96) / 2, (d + 65) / 2 - 20 - 25, 96, 25);
b.c.a(l1, c / 2, ((d + 65) / 2 - 20 - 25) + 6, "PASSWORD:", (byte)1);
b.c.a(l1, c / 2, ((d + 65) / 2 - 20 - 25) + 6 + 8, r, (byte)1);
if (e % 2 == 0 && k == 5)
{
l1.f(0xffff0000);
l1.d((c - b.c.a(r)) / 2 + b.c.a(r.substring(0, g)) + 1, ((d + 65) / 2 - 20 - 25) + 6 + 8 + 6, (c - b.c.a(r)) / 2 + b.c.a(r.substring(0, g + 1)), ((d + 65) / 2 - 20 - 25) + 6 + 8 + 6);
}
break;
case 7: // '\007'
case 8: // '\b'
(new j()).a(l1, (c - 96) / 2, (d + 65) / 2 - 13 - 45, 96, 45);
b.c.a(l1, (c - 96) / 2 + 3, ((d + 65) / 2 - 13 - 45) + 7, k != 7 ? "IMPORT SUCCEEDED." : "PASSWORD INVALID.");
b.c.a(l1, (c - 96) / 2 + 3, ((d + 65) / 2 - 13 - 45) + 16, k != 7 ? "CHOOSE LEGEND MODE OR" : "SOURCE GAME MUST USES");
b.c.a(l1, (c - 96) / 2 + 3, ((d + 65) / 2 - 13 - 45) + 25, k != 7 ? "FREE BATTLE TO USE" : "SAME CHARACTERS. PLEASE");
b.c.a(l1, (c - 96) / 2 + 3, ((d + 65) / 2 - 13 - 45) + 34, k != 7 ? "THIS TEAM." : "CHECK AND TRY AGAIN.");
break;
}
break;
case 8: // '\b'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -