📄 m.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
public final class m
{
public m()
{
}
public final void a(l l1, byte byte0, g g1)
{
h ah[] = null;
h ah1[] = null;
switch (g1.O)
{
case 6: // '\006'
ah = g1.aH;
ah1 = g1.aI;
break;
case 12: // '\f'
ah = g1.aI;
ah1 = g1.aH;
break;
case 9: // '\t'
ah = g1.aJ;
ah1 = g1.aI;
break;
}
switch (byte0)
{
default:
break;
case 0: // '\0'
case 13: // '\r'
if (byte0 == 13 && g1.x > g1.r.length)
return;
boolean flag = false;
String as[];
int i = ((as = g1.a.c.a((byte0 != 0 ? g1.r[g1.x - 1] : g1.av).toCharArray(), 86)).length + 1 + (g1.O != 18 || g1.a.l >= g1.ac && g1.a.m == 0 ? 0 : 1)) * 6 + 8 + (byte0 != 13 ? 0 : 6);
int i1 = (g1.e - 96) / 2;
int j3 = (g1.f - i) / 2;
(new j()).a(l1, i1 >= 0 ? i1 : 0, j3 >= 0 ? j3 : 0, i1 >= 0 ? 96 : g1.e, j3 >= 0 ? i : g1.f);
if (byte0 == 13)
g1.a.c.a(l1, g1.e / 2, j3 + 4, "--- HINT #" + g1.x + " ---", (byte)1);
for (int j5 = 0; j5 < as.length; j5++)
g1.a.c.a(l1, i1 + 10, j3 + 4 + 6 * j5 + (byte0 != 13 ? 0 : 6), as[j5]);
if (g1.g % 2 == 0)
{
g1.a.c.a(l1, g1.e / 2, (j3 + i) - 9 - (g1.O != 18 || g1.a.l >= g1.ac && g1.a.m == 0 ? 0 : 6), "PRESS # TO CONFIRM", (byte)1);
if (g1.O == 18 && (g1.a.l < g1.ac || g1.a.m != 0))
{
g1.a.c.a(l1, g1.e / 2, (j3 + i) - 9, g1.a.m != 0 ? "TO GO BACK TO TITLE" : "TO GO TO THE NEXT STAGE", (byte)1);
return;
}
}
break;
case 1: // '\001'
if (g1.g - g1.S >= 10)
break;
for (int k5 = 0; k5 < g1.H.length; k5++)
{
if (g1.A[k5] != 1)
continue;
switch (g1.I[k5])
{
case 1: // '\001'
ah1 = g1.aI;
break;
case 0: // '\0'
ah1 = g1.aH;
break;
case 2: // '\002'
ah1 = g1.aJ;
break;
}
l1.c(((ah1[g1.H[k5]].b - g1.c) + 10) - 1 - g1.a.c.a("LV UP") / 2, ah1[g1.H[k5]].c - g1.d - (g1.g - g1.S) - 1, g1.a.c.a("LV UP") + 2, g1.a.c.a() + 2);
l1.f(-2);
l1.b(((ah1[g1.H[k5]].b - g1.c) + 10) - 1 - g1.a.c.a("LV UP") / 2, ah1[g1.H[k5]].c - g1.d - (g1.g - g1.S) - 1, g1.a.c.a("LV UP") + 2, g1.a.c.a() + 2);
g1.a.c.a(l1, (ah1[g1.H[k5]].b - g1.c) + 10, ah1[g1.H[k5]].c - g1.d - (g1.g - g1.S), "LV UP", (byte)1);
}
if (g1.A[4] == 1)
{
l1.c(((ah[g1.y].b - g1.c) + 10) - 1 - g1.a.c.a("LV UP") / 2, ah[g1.y].c - g1.d - (g1.g - g1.S) - 1, g1.a.c.a("LV UP") + 2, g1.a.c.a() + 2);
l1.f(-2);
l1.b(((ah[g1.y].b - g1.c) + 10) - 1 - g1.a.c.a("LV UP") / 2, ah[g1.y].c - g1.d - (g1.g - g1.S) - 1, g1.a.c.a("LV UP") + 2, g1.a.c.a() + 2);
g1.a.c.a(l1, (ah[g1.y].b - g1.c) + 10, ah[g1.y].c - g1.d - (g1.g - g1.S), "LV UP", (byte)1);
g1.a(new int[] {
ah[g1.y].b, ah[g1.y].c
});
return;
}
break;
case 2: // '\002'
int j1 = (g1.e - 90) / 2;
int k3 = (g1.f - 60) / 2;
(new j()).a(l1, j1, k3, 90, 60);
g1.a.c.a(l1, j1 + 45, k3 + 5, "- TRICKS -", (byte)1);
l1.f(0xff000000);
l1.a(j1 + 7, k3 + 12, 75, 18);
if (g1.Y == null)
break;
if (g1.Y.length > 0)
{
String as2[];
if ((as2 = g1.a.c.a((g1.T != g1.X ? g1.au[g1.Y[g1.T]] : "TP NOT ENOUGH").toCharArray(), 74)).length > 0)
g1.a.c.a(l1, j1 + 10, k3 + 15 + 0 + (as2.length <= 1 ? 5 : 0), as2[0]);
if (as2.length > 1)
g1.a.c.a(l1, j1 + 10, k3 + 15 + 7, as2[1]);
l1.a(1, j1 + 6, k3 + 30 + 7 * g1.U, 6, 10, 0, 0);
} else
{
g1.a.c.a(l1, j1 + 10, k3 + 13 + 0, "NO TRICKS");
g1.a.c.a(l1, j1 + 10, k3 + 13 + 7, "AVAILABLE");
}
for (int l5 = 0; l5 < g1.Y.length; l5++)
if (l5 >= g1.T - g1.U && l5 < (g1.T - g1.U) + 3)
{
g1.a.c.a(l1, j1 + 13, k3 + 33 + 7 * (l5 - (g1.T - g1.U)), g1.as[g1.Y[l5]]);
g1.a.c.a(l1, j1 + 78, k3 + 33 + 7 * (l5 - (g1.T - g1.U)), "" + (g1.at[g1.Y[l5]][0] * ah[g1.y].m[1]) / 100, (byte)2);
}
if (g1.T - g1.U > 0)
l1.a(1, (g1.e - 10) / 2, k3 - 2, 10, 6, -6, -2, 16384);
if (g1.T - g1.U < g1.Y.length - 3)
{
l1.a(1, (g1.e - 10) / 2, (k3 + 60) - 4, 10, 6, -6, -2);
return;
}
break;
case 3: // '\003'
int i6 = g1.aE[0].length * 3 + 8;
int k6 = g1.aE.length * 3 + 8;
int i7 = (g1.e - i6) / 2;
int j7 = (g1.f - k6) / 2;
int k7 = 0;
int l7 = 0;
if (g1.aE.length * 3 > g1.f)
j7 = g1.T;
(new j()).a(l1, i7, j7, i6, k6);
l1.c(0, 0, g1.e, g1.f);
for (int i8 = 0; i8 < g1.aE.length; i8++)
{
for (int l8 = 0; l8 < g1.aE[0].length; l8++)
{
switch (g1.aE[i8][l8])
{
case 0: // '\0'
case 15: // '\017'
k7 = 0xff4ab03c;
l7 = 0xff2a971b;
break;
case 1: // '\001'
k7 = 0xffe6be76;
l7 = 0xffbd9143;
break;
case 2: // '\002'
k7 = 0xffc5c5c5;
l7 = 0xff929292;
break;
case 3: // '\003'
k7 = 0xff375fff;
l7 = 0xff032bcb;
break;
case 5: // '\005'
k7 = 0xff086c08;
l7 = 0xff034503;
break;
case 6: // '\006'
case 7: // '\007'
case 8: // '\b'
case 9: // '\t'
case 14: // '\016'
k7 = 0xff929292;
l7 = 0xff1c1a1a;
break;
case 10: // '\n'
case 11: // '\013'
k7 = 0xfff0c800;
l7 = 0xff481f00;
break;
case 4: // '\004'
case 12: // '\f'
case 13: // '\r'
k7 = 0xffa86b00;
l7 = 0xffa86b00;
break;
}
l1.f(l7);
l1.b(i7 + 4 + l8 * 3, j7 + 4 + i8 * 3, 3, 3);
l1.f(k7);
l1.b(i7 + 4 + l8 * 3, j7 + 4 + i8 * 3, 2, 2);
}
}
for (int j8 = 0; j8 < 3; j8++)
{
switch (j8)
{
case 0: // '\0'
ah = g1.aH;
l1.f(0xff0d36bc);
break;
case 1: // '\001'
ah = g1.aI;
l1.f(0xffd10500);
break;
case 2: // '\002'
ah = g1.aJ;
l1.f(-2);
break;
}
for (int i9 = 0; i9 < ah.length; i9++)
if (ah[i9].p != 3 && ah[i9].p != 4 && ah[i9].e != -2 && ah[i9].e != -1)
l1.b(i7 + 4 + (ah[i9].b / 20) * 3, j7 + 4 + (ah[i9].c / 20) * 3, 2, 2);
}
if (g1.aE.length * 3 <= g1.f)
break;
if (g1.T < 0)
{
l1.a(1, i7 + i6, 0, 10, 6, -6, -2, 16384);
return;
} else
{
l1.a(1, i7 + i6, g1.f - 6, 10, 6, -6, -2);
return;
}
case 4: // '\004'
String as1[] = g1.a.c.a(g1.aw.toCharArray(), 80);
int k1 = (g1.e - 100) / 2;
int l3 = (g1.f - 20 - 7 * as1.length) / 2;
(new j()).a(l1, (g1.e - 96) / 2, (g1.f - 65) / 2, 96, 65);
for (int k8 = 0; k8 < as1.length; k8++)
g1.a.c.a(l1, k1 + 10, l3 + 10 + 7 * k8, as1[k8]);
break;
case 5: // '\005'
int i2 = (g1.e - 80) / 2;
int i4 = (g1.f - 20) / 2;
(new j()).a(l1, i2, i4, 80, 20);
g1.a.c.a(l1, g1.e / 2, i4 + 4, "RETREAT?", (byte)1);
g1.a.c.a(l1, i2 + 10, i4 + 11, "#: YES");
g1.a.c.a(l1, (i2 + 80) - 10, i4 + 11, "0: NO", (byte)2);
return;
case 6: // '\006'
int j2 = (g1.e - 72) / 2;
int j4 = (g1.f - 14) / 2;
(new j()).a(l1, j2, j4, 72, 14);
g1.a.c.a(l1, g1.e / 2, j4 + 5, g1.j != 19 ? "GAME SAVED." : "SAVING GAME...", (byte)1);
return;
case 7: // '\007'
int k2 = (g1.e - 72) / 2;
int k4 = (g1.f - 20) / 2;
l1.c(0, 0, g1.e, g1.f);
(new j()).a(l1, k2, k4, 72, 20);
g1.a.c.a(l1, g1.e / 2, k4 + 4, "TURN " + g1.x, (byte)1);
g1.a.c.a(l1, g1.e / 2, k4 + 11, g1.O != 6 && g1.O != 14 ? g1.O != 12 && g1.O != 11 && g1.aJ.length != 0 ? "ALLY'S MOVE!" : "ENEMY'S MOVE!" : "YOUR MOVE!", (byte)1);
return;
case 8: // '\b'
byte byte1 = ((byte)(g1.O != 15 ? 80 : 96));
boolean flag1 = false;
int l2 = (g1.e - byte1) / 2;
int l4 = (g1.f - 14) / 2;
(new j()).a(l1, l2, l4, byte1, 14);
g1.a.c.a(l1, g1.e / 2, l4 + 5, g1.O != 15 ? g1.O != 16 ? "YOU LOSE" : "YOU WIN" : "YOUR ARMY IS RETREATED", (byte)1);
return;
case 9: // '\t'
int i3 = (g1.e - 96) / 2;
int i5 = (g1.f - 65) / 2;
(new j()).a(l1, i3, i5, 96, 65);
String as3[] = g1.a.c.a("LIU ARMY WAS DEFEATED. WHAT WOULD BE THE FATE OF LEGITIMACY OF ANCIENT CHINA?".toCharArray(), 86);
for (int j9 = 0; j9 < as3.length; j9++)
g1.a.c.a(l1, i3 + 10, i5 + 4 + 7 * j9, as3[j9]);
g1.a.c.a(l1, g1.e / 2, i5 + 40, "RETRY?", (byte)1);
g1.a.c.a(l1, g1.e / 2, i5 + 47, "(LEVELS WILL BE KEPT)", (byte)1);
g1.a.c.a(l1, i3 + 10, i5 + 54, "#: YES");
g1.a.c.a(l1, (i3 + 96) - 10, i5 + 54, "0: NO", (byte)2);
return;
case 10: // '\n'
l1.c(0, 0, g1.e, g1.f);
(new j()).a(l1, (g1.e - 80) / 2, (g1.f - 60) / 2, 80, 60);
g1.a.c.a(l1, g1.e / 2, (g1.f - 60) / 2 + (14 - g1.a.c.a()) / 2 + 2, "GAME PAUSED", (byte)1);
g1.a.c.a(l1, g1.e / 2, g1.f / 2 + 2 + 3, (new String[] {
"RESUME GAME", "SETTINGS", "BACK TO TITLE"
})[g1.W], (byte)1);
if (g1.W > 0)
l1.a(1, (g1.e - 10) / 2, (g1.f / 2 + 2) - (14 - g1.a.c.a()) / 2 - 1, 10, 6, -6, -2, 16384);
if (g1.W < 2)
l1.a(1, (g1.e - 10) / 2, g1.f / 2 + 2 + (14 + g1.a.c.a()) / 2 + 1, 10, 6, -6, -2);
boolean flag2 = false;
int j6 = g1.e;
int l6 = g1.f;
l1.c(0, 0, g1.e, g1.f);
(new j()).a(l1, 0, l6 - 12, 40, 12);
g1.a.c.a(l1, 20, (l6 - 12) + 3, "SELECT", (byte)1);
l1.c(0, 0, g1.e, g1.f);
(new j()).a(l1, (0 + j6) - 40, l6 - 12, 40, 12);
g1.a.c.a(l1, (0 + j6) - 20, (l6 - 12) + 3, "BACK", (byte)1);
return;
case 11: // '\013'
boolean flag3 = false;
label0:
do
{
if (g1.U != 0 && g1.U != 2 && g1.U != 4 && g1.U != 6)
break;
(new j()).a(l1, (g1.b.e().getWidth() - 80) / 2, (g1.b.e().getHeight() - 12) / 2, 80, 12);
g1.a.c.a(l1, g1.b.e().getWidth() / 2, (g1.b.e().getHeight() - 14) / 2 + 4, "PROCESSING...", (byte)1);
switch (g1.U)
{
case 1: // '\001'
case 3: // '\003'
case 5: // '\005'
default:
break;
case 0: // '\0'
if (g1.ab == 0)
if (g1.x + 1 == g1.ay && g1.O == 13)
g1.U = 1;
else
if (g1.ay == -2)
{
int k9 = 0;
do
{
if (k9 >= g1.aH.length)
break;
if ((g1.aH[k9].d == -3 || g1.aH[k9].d == -4) && g1.aH[k9].b / 20 >= g1.az && g1.aH[k9].b / 20 <= g1.aB && g1.aH[k9].c / 20 >= g1.aA && g1.aH[k9].c / 20 <= g1.aC)
{
g1.U = 1;
break;
}
k9++;
} while (true);
} else
if (g1.ay == -3)
{
flag3 = false;
int l9 = 0;
do
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -