⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 g.java

📁 J2ME写的英译汉字典 比较适合新手练手用!!!!!
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
// 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 g
	implements n
{

	public a a;
	public b b;
	public int c;
	public int d;
	public int e;
	public int f;
	public int g;
	public int h;
	public int i;
	public byte j;
	public byte k;
	public byte l;
	public byte m;
	public byte n[][] = {
		{
			0, 2, 3, 4
		}, {
			0, 1, 2, 3, 4
		}, {
			3, 4
		}, {
			1, 3, 4
		}
	};
	public String o[] = {
		"MOVE", "ATTACK", "TRICKS", "WAIT", "STATUS"
	};
	public byte p[];
	public String q[] = {
		"RESUME GAME", "MINI-MAP", "MISSION", "RETREAT", "SAVE", "END TURN"
	};
	public String r[] = {
		"PRESS # TO CONFIRM.\nPRESS 0 TO CANCEL.\n\nPRESS * TO HAVE THE GAME MENU. SELECT 'END TURN' IF ALL YOUR WARRIORS COMPLETE THE TASKS.", "APPLY ATTACK ONLY IF THE ENEMY STANDS IN YOUR ACTIVE SPHERE. THE ACTIVE SPHERE OF AN ARCHOR IS 2 GRIDS FAR FROM THE TARGET.", "APPLY TRICKS ON YOUR WARRIORS, THE ENEMIES AND EVEN ON YOURSELF! TP RETRIEVED AFTER THE TURN BREAK.", "SELECT A WARRIOR AND PRESS 0 TO BROWSE HIS BRIEF STATUS.", "TAKE A REST IN VILLAGES.\nHP RETRIEVED.", "GET LEVELED UP ONCE THE EXP REACHES 100.", "KNIGHT STR UP AGAINST DOUGH,\nDOUGH STR UP AGAINST ARCHER,\nARCHER STR UP AGAINST KNIGHT."
	};
	public int s;
	public int t;
	public int u;
	public int v;
	public int w;
	public byte x;
	public int y;
	public int z[];
	public byte A[];
	public byte B[][];
	public byte C[][];
	public int D;
	public int E;
	public boolean F;
	public byte G;
	public byte H[];
	public byte I[];
	public int J[];
	public int K[];
	public int L;
	public byte M[][];
	public byte N[][];
	public byte O;
	public int P;
	public int Q;
	public int R;
	public int S;
	public int T;
	public byte U;
	public byte V;
	public byte W;
	public byte X;
	public int Y[];
	public int Z;
	public int aa;
	public byte ab;
	public byte ac;
	public int ad[];
	public int ae[];
	public byte af[];
	public String ag[];
	public byte ah[][];
	public int ai[][];
	public String aj[];
	public byte ak[][];
	public String al[];
	public int am[][];
	public byte an[][];
	public byte ao[][];
	public byte ap[][];
	public byte aq[];
	public byte ar[];
	public String as[];
	public byte at[][];
	public String au[];
	public String av;
	public String aw;
	public byte ax;
	public byte ay;
	public int az;
	public int aA;
	public int aB;
	public int aC;
	public short aD;
	public byte aE[][];
	public byte aF[][];
	public h aG[];
	public h aH[];
	public h aI[];
	public h aJ[];

	public g(b b1, a a1)
	{
		p = n[0];
		ab = 0;
		aF = (byte[][])null;
		b = b1;
		a = a1;
		B = (byte[][])null;
		e = b.e().getWidth();
		f = b.e().getHeight();
	}

	public final void a()
	{
		j = 0;
		O = 0;
		P = g;
		Q = -1;
	}

	public final void c()
	{
		if (a.e != 6)
			b(-7);
	}

	public final void a(h h1)
	{
		h1.m = a(h1.a, h1.f / 100);
		h1.k = h1.m[0];
		h1.l = h1.m[1];
	}

	public final void b()
	{
		h ah1[] = aH;
		h ah2[] = aI;
		h ah3[] = aH;
		h ah4[] = aJ;
		byte abyte0[][] = M;
		byte abyte1[][] = N;
		boolean flag = false;
		switch (O)
		{
		case 12: // '\f'
			ah1 = aI;
			ah2 = aH;
			ah3 = aI;
			abyte0 = N;
			abyte1 = M;
			break;

		case 9: // '\t'
			ah1 = aJ;
			ah3 = aJ;
			break;
		}
		switch (O)
		{
		case 3: // '\003'
		case 4: // '\004'
		case 5: // '\005'
		case 7: // '\007'
		case 10: // '\n'
		case 13: // '\r'
		default:
			break;

		case 0: // '\0'
			T = 0;
			O = 1;
			return;

		case 1: // '\001'
			if (a.e != 4 && a.e != 5)
			{
				aE = (byte[][])null;
				aH = null;
				aJ = null;
				aI = null;
				System.gc();
				d();
				c(a.l);
				ab = 0;
				x = 1;
				M = new byte[aE.length][];
				for (int i1 = 0; i1 < M.length; i1++)
				{
					M[i1] = new byte[aE[i1].length];
					for (int i2 = 0; i2 < M[0].length; i2++)
						M[i1][i2] = -1;

				}

				N = new byte[aE.length][];
				for (int j1 = 0; j1 < N.length; j1++)
				{
					N[j1] = new byte[aE[j1].length];
					for (int j2 = 0; j2 < N[0].length; j2++)
						N[j1][j2] = -1;

				}

				for (int k1 = 0; k1 < aF.length; k1++)
				{
					aH[k1].b = aF[k1][0] * 20;
					aH[k1].c = aF[k1][1] * 20;
				}

				if (a.j == 1)
					c((byte)1);
				int l1 = 0;
				for (int k2 = 0; k2 < aH.length; k2++)
				{
					aH[k2].t = (byte)k2;
					if (aH[k2].p != 4)
						aH[k2].p = 1;
					if (a.j == 0 || aH[k2].e == -6 && aH[k2].f < aD / 10)
						aH[k2].f = aD / 10;
					a(aH[k2]);
					aH[k2].k = aH[k2].m[0] / (aH[k2].r ? 2 : 1);
					l1 += aH[k2].f;
					aH[k2].r = false;
				}

				char c1 = '\0';
				switch (a.h)
				{
				case 0: // '\0'
					c1 = '\uFF38';
					break;

				case 2: // '\002'
					c1 = 'd';
					break;

				case 3: // '\003'
					c1 = '\310';
					break;
				}
				for (int i3 = 0; i3 < aI.length; i3++)
				{
					aI[i3].t = (byte)i3;
					if (aI[i3].p != 4)
						aI[i3].p = 0;
					aI[i3].f = aI[i3].f + (l1 / aH.length - aD / 10) + c1;
					if (aI[i3].f < 0)
						aI[i3].f = 0;
					a(aI[i3]);
					aI[i3].u = new byte[aI.length];
					aI[i3].w = new byte[16 + aJ.length];
				}

				for (int j3 = 0; j3 < aG.length; j3++)
				{
					aG[j3].f = aG[j3].f + (l1 / aH.length - aD / 10) + c1;
					if (aG[j3].f < 0)
						aG[j3].f = 0;
				}

				for (int k3 = 0; k3 < aJ.length; k3++)
				{
					aJ[k3].t = (byte)k3;
					aJ[k3].p = 0;
					aJ[k3].f = aJ[k3].f + (l1 / aH.length - aD / 10);
					a(aJ[k3]);
					aJ[k3].u = new byte[16 + aJ.length];
					aJ[k3].w = new byte[aI.length];
				}

				if (a.e == 3)
					c((byte)2);
				for (int l3 = 0; l3 < aI.length; l3++)
				{
					for (int j6 = 0; j6 < aI[l3].w.length; j6++)
						aI[l3].w[j6] = -1;

					for (int k6 = 0; k6 < aI[l3].u.length; k6++)
						aI[l3].u[k6] = -1;

				}

				for (int i4 = 0; i4 < aJ.length; i4++)
				{
					for (int l6 = 0; l6 < aJ[i4].w.length; l6++)
						aJ[i4].w[l6] = -1;

					for (int i7 = 0; i7 < aJ[i4].u.length; i7++)
						aJ[i4].u[i7] = -1;

				}

				for (int j4 = 0; j4 < aH.length; j4++)
					d(aH[j4]);

				for (int k4 = 0; k4 < aI.length; k4++)
					d(aI[k4]);

				for (int l4 = 0; l4 < aJ.length; l4++)
					d(aJ[l4]);

				h = 40;
				i = 24;
				c = 0;
				d = 0;
				j = 0;
				a(new int[] {
					aH[0].b, aH[0].c
				});
				b((byte)1);
			}
			int ai1[] = {
				0, 2, 3, 5, 16
			};
			for (int l2 = 0; l2 < ai1.length; l2++)
				b.f().a(ai1[l2]);

			O = 2;
			return;

		case 2: // '\002'
			if (T > 12)
			{
				k.a();
				if (a.e != 4 && a.e != 5)
				{
					k.a(1, true);
					if (a.m == 0)
					{
						O = 3;
					} else
					{
						O = 4;
						j = 15;
						T = 0;
					}
				} else
				{
					O = W;
					if (O == 12)
						k.a(2, true);
					else
						k.a(1, true);
				}
				P = g;
				a.e = 1;
				return;
			}
			break;

		case 9: // '\t'
		case 12: // '\f'
			if (a.e != 1 || g - P <= 5)
				return;
			boolean flag1 = false;
			int i5 = 0;
			byte byte0 = 3;
			boolean flag21 = false;
			if (j != 9 && j != 8 && j != 12)
			{
				boolean flag2 = false;
				if (Q < 0)
				{
					do
					{
						if (ah1[y].p != 2 && ah1[y].p != 4 && ah1[y].p != 3 && ah1[y].e != -2 && ah1[y].e != -1)
							break;
						y++;
						if (y != ah1.length)
							continue;
						y = 0;
						U = 0;
						if (O == 12)
							O = 13;
						else
						if (O == 9)
							O = 10;
						flag2 = true;
						break;
					} while (true);
					if (flag2)
						return;
					a(new int[] {
						ah1[y].b, ah1[y].c
					});
					if (ah1[y].q != 2)
					{
						a(new int[] {
							ah1[y].b / 20, ah1[y].c / 20
						}, (byte)4, (byte)4, ah1[y].s);
						if (B != null)
						{
							for (int l7 = 0; l7 < B.length; l7++)
							{
								for (int l10 = 0; l10 < B[0].length; l10++)
									if (B[l7][l10] >= 0 && abyte0[l7 + E][l10 + D] >= 0)
										i5++;

							}

							ah1[y].v = new byte[i5];
							if (i5 > 0)
							{
								int j5 = 0;
								for (int i8 = 0; i8 < B.length; i8++)
								{
									for (int i11 = 0; i11 < B[0].length; i11++)
										if (B[i8][i11] >= 0 && abyte0[i8 + E][i11 + D] >= 0)
											ah1[y].v[j5++] = abyte0[i8 + E][i11 + D];

								}

							}
						}
						int ai2[] = null;
						int l11 = 0;
						if (ah1[y].q == 5)
						{
							L = a(ah1[y], (byte)0);
							K = (new int[] {
								ah1[y].b, ah1[y].c
							});
						} else
						if (ah1[y].q == 6)
						{
							a(new int[] {
								ah1[y].b / 20, ah1[y].c / 20
							}, (byte)ah1[y].m[4], (byte)1, ah1[y].s);
							boolean flag3 = false;
							if (B != null)
							{
								int j13 = 0;
								do
								{
									if (j13 >= B.length)
										break;
									for (int i15 = 0; i15 < B[j13].length; i15++)
									{
										if (abyte0[j13 + E][i15 + D] != -1 || B[j13][i15] == -100)
											continue;
										B[j13][i15] = 0;
										for (int k15 = 0; k15 < ah1[y].w.length; k15++)
										{
											if (ah1[y].w[k15] == -1)
												continue;
											if (ah1[y].s == 1)
											{
												if (ah1[y].w[k15] >= 16)
												{
													ah2 = aJ;
													T = ah1[y].w[k15] - 16;
												} else
												{
													ah2 = aH;
													T = ah1[y].w[k15];
												}
											} else
											if (ah1[y].s == 2)
											{
												ah2 = aI;
												T = ah1[y].w[k15];
											}
											if (ah2[T].p != 3 && ah2[T].p != 4 && ah2[T].e != -2 && ah2[T].e != -1)
												B[j13][i15] += (byte)((((Math.abs(ah2[T].b - (i15 + D) * 20) + Math.abs(ah2[T].c - (j13 + E) * 20)) / 20) * (100 - a(ah2[0], new int[] {
													i15 + D, j13 + E
												}))) / 100);
										}

										if (B[j13][i15] > l11)
										{
											l11 = B[j13][i15];
											ai2 = (new int[] {
												i15 + D, j13 + E
											});
										}
										if (B[j13][i15] == -100 || abyte0[j13 + E][i15 + D] >= 0 || abyte1[j13 + E][i15 + D] >= 0 || aE[j13 + E][i15 + D] != 10 && aE[j13 + E][i15 + D] != 11)
											continue;
										ai2 = (new int[] {
											i15 + D, j13 + E
										});
										flag3 = true;
										break;
									}

									if (flag3)
										break;
									j13++;
								} while (true);
								if (ai2 != null)
									J = ai2;
								else
									ah1[y].q = 4;
							}
						} else
						{
							boolean flag4 = false;
							byte byte1 = a(ah1[y], (byte)0);
							if (-1 != byte1 && ah1[y].l >= (at[byte1][0] * ah1[y].m[1]) / 100)
								flag4 = true;
							if (flag4)
							{
								boolean flag5 = false;
								for (int k13 = 0; k13 < ah1[y].u.length; k13++)
								{
									if (ah1[y].u[k13] == -1)
										continue;
									if (ah1[y].s == 2)
									{
										if (ah1[y].u[k13] >= 16)
										{
											ah3 = aJ;
											T = ah1[y].u[k13] - 16;
										} else
										{
											ah3 = aH;
											T = ah1[y].u[k13];
										}
									} else
									if (ah1[y].s == 1)
									{
										ah3 = aI;
										T = ah1[y].u[k13];
									}
									if (ah3[T].p == 3 || ah3[T].p == 4 || ah3[T].e == -2 || ah3[T].e == -1 || ah3[T].q != 6)
										continue;
									J = (new int[] {
										ah3[T].b / 20, ah3[T].c / 20
									});
									flag5 = true;
									break;
								}

								if (flag5)
								{
									boolean flag6 = false;
									int l13 = 0;
									do
									{
										if (l13 >= ah1[y].v.length)
											break;
										if (ah1[y].s == 2)
										{
											if (ah1[y].v[l13] >= 16)
											{
												ah3 = aJ;
												T = ah1[y].v[l13] - 16;
											} else
											{
												ah3 = aH;
												T = ah1[y].v[l13];
											}
										} else
										if (ah1[y].s == 1)
										{
											ah3 = aI;
											T = ah1[y].v[l13];
										}
										if (ah3[T].p != 3 && ah3[T].p != 4 && ah3[T].e != -2 && ah3[T].e != -1 && ah3[T].q == 6)
										{
											K = (new int[] {
												ah3[T].b, ah3[T].c
											});
											ah3[T].q = 4;
											flag6 = true;
											break;
										}
										l13++;
									} while (true);
									if (flag6)
									{
										ah1[y].q = 7;
										L = a(ah1[y], (byte)0);
									} else
									{
										ah1[y].q = 9;
									}
								}
							}
						}
						if (ah1[y].q == 0)
						{
							boolean flag7 = false;
							byte byte2;
							if ((byte2 = a(ah1[y], (byte)1)) != -1 && ah1[y].l >= (at[byte2][0] * ah1[y].m[1]) / 100)
								flag7 = true;
							if (flag7)
							{
								boolean flag8 = false;
								for (int i14 = 0; i14 < ah1[y].u.length; i14++)
								{
									if (ah1[y].u[i14] == -1)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -