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

📄 f.java

📁 j2me 武林传之刀剑江湖录[前篇]反编译源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// 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.util.Enumeration;
import java.util.Hashtable;
import javax.microedition.lcdui.Graphics;

public final class f extends y
{

	public static final short a[][] = {
		{
			0, 0, 1, 2
		}, {
			3, 3, 4, 5
		}, {
			0, 0, 1, 2
		}, {
			0, 0, 1, 2
		}, {
			3, 3, 4, 5
		}, {
			24, 24, 25, 26
		}, {
			46, 46, 47, 48
		}, {
			0, 0, 1, 2
		}, {
			55, 55, 56, 57
		}, {
			15, 15, 16, 17
		}, {
			12, 12, 13, 14
		}, {
			9, 9, 10, 11
		}, {
			6, 6, 7, 8
		}, {
			52, 52, 53, 54
		}, {
			27, 27, 28, 29
		}, {
			30, 30, 31, 32
		}, {
			33, 33, 34, 35
		}, {
			36, 36, 37, 38
		}, {
			39, 39, 40, 41
		}, {
			42, 42, 43, 44
		}, {
			45, 45, 45, 45
		}, {
			58, 58, 58, 58
		}, {
			21, 21, 22, 23
		}, {
			18, 18, 19, 20
		}
	};
	public int b[];
	public int c;
	public int d[];
	public int W;
	public int X;
	public short Y;
	public Hashtable Z;
	public int aa[];
	public int ab[];
	private short ah;
	private short ai;
	public int ac;
	public int ad;
	public boolean ae;
	public short af[];
	private int aj;
	private int ak;
	public boolean ag;
	private short al[];
	private byte am;
	private byte an;

	public f()
	{
		b = new int[5];
		d = new int[4];
		Z = new Hashtable(50);
		aa = new int[n.k.length];
		ab = new int[n.s.length];
		af = new short[2];
		ag = false;
		al = new short[15];
	}

	private int ac()
	{
		int j;
		return j = Z.size();
	}

	public final boolean a(n n1)
	{
		if (ac() > 50)
		{
			a(0, "装备篮已满!");
			return false;
		}
		for (; Z.containsKey(String.valueOf(Y)); Y++);
		boolean flag = false;
		Enumeration enumeration = Z.keys();
		do
		{
			if (!enumeration.hasMoreElements())
				break;
			String s1 = (String)enumeration.nextElement();
			n n2;
			if (!n.a(n2 = (n)Z.get(s1), n1))
				continue;
			n2.g[18]++;
			flag = true;
			break;
		} while (true);
		if (!flag)
		{
			n1.g[18]++;
			Z.put(String.valueOf(Y), n1);
		}
		return true;
	}

	public final boolean a(short word0, int j)
	{
		if (j > 0 && ac() > 50)
		{
			a(0, "装备篮已满!");
			return false;
		} else
		{
			aa[word0] += j;
			return true;
		}
	}

	public final boolean n(int j)
	{
		int i1 = H();
		i1 = 60000 - i1;
		if (j >= i1)
		{
			o(59999);
			return false;
		} else
		{
			int j1 = H() + j;
			o(j1);
			return true;
		}
	}

	public final int H()
	{
		return super.g[11] & 0xffff;
	}

	public final void o(int j)
	{
		super.g[11] = (short)j;
	}

	public final boolean p(int j)
	{
		n n1 = (n)Z.get(String.valueOf(j));
		if (super.g[0] < n1.c())
			return false;
		byte byte0;
		switch (n1.b())
		{
		case 0: // '\0'
			byte0 = 26;
			break;

		case 1: // '\001'
			byte0 = 27;
			break;

		case 2: // '\002'
			byte0 = 28;
			break;

		default:
			byte0 = 29;
			break;
		}
		if (super.g[byte0] != -1)
			q(super.g[byte0]);
		super.g[byte0] = (short)j;
		short word0 = super.g[7];
		short aword0[] = n1.a(super.g.length);
		for (int i1 = 0; i1 < aword0.length; i1++)
			if (aword0[i1] != 0)
				super.g[i1] += aword0[i1];

		for (int j1 = 3; j1 <= 5; j1++)
		{
			super.g[15 + (j1 - 3)] += n1.h[j1] + 1;
			if (super.g[15 + (j1 - 3)] >= 3)
				super.g[15 + (j1 - 3)] = 2;
		}

		h(word0);
		i(super.g[7]);
		return true;
	}

	public final void q(int j)
	{
		n n1;
		byte byte0;
		switch ((n1 = (n)Z.get(String.valueOf(j))).b())
		{
		case 0: // '\0'
			byte0 = 26;
			break;

		case 1: // '\001'
			byte0 = 27;
			break;

		case 2: // '\002'
			byte0 = 28;
			break;

		default:
			byte0 = 29;
			break;
		}
		short word0 = super.g[7];
		super.g[byte0] = -1;
		short aword0[] = n1.a(super.g.length);
		for (int i1 = 0; i1 < aword0.length; i1++)
			if (aword0[i1] != 0)
				super.g[i1] -= aword0[i1];

		for (int j1 = 3; j1 <= 5; j1++)
		{
			super.g[15 + (j1 - 3)] -= n1.h[j1] + 1;
			if (super.g[15 + (j1 - 3)] < 0)
				super.g[15 + (j1 - 3)] = -1;
		}

		h(word0);
		i(super.g[7]);
	}

	public final n r(int j)
	{
		return (n)Z.get(String.valueOf(j));
	}

	public final void s(int j)
	{
		if (aa[j] > 0)
		{
			a((short)j, -1);
			short aword0[] = n.m[j];
			switch (j)
			{
			default:
				break;

			case 4: // '\004'
				if (b[2] == 0)
				{
					super.g[8] += aword0[1];
					d[2] = aword0[1];
				}
				b[2] += (aword0[2] * 1000) / 70;
				a(0, aword0[2] + "秒内攻击加强");
				break;

			case 5: // '\005'
				if (b[3] == 0)
				{
					super.g[9] += aword0[1];
					d[3] = aword0[1];
				}
				b[3] += (aword0[2] * 1000) / 70;
				a(0, aword0[2] + "秒内防御加强");
				break;

			case 2: // '\002'
				if (super.Q[1])
					a((byte)1);
				break;

			case 0: // '\0'
			case 1: // '\001'
				f(aword0[1]);
				break;

			case 6: // '\006'
			case 7: // '\007'
				g(aword0[1]);
				break;

			case 3: // '\003'
				super.g[25]++;
				break;
			}
			r();
		}
	}

	public final void I()
	{
		c++;
		if (c % 14 == 0)
		{
			f(super.g[30]);
			g(super.g[31]);
		}
	}

	public final short t(int j)
	{
		if (super.g[26] != -1)
		{
			n n1 = (n)Z.get(String.valueOf(super.g[26]));
			return n.d[j][n1.h[j]][2];
		} else
		{
			return 0;
		}
	}

	public final short u(int j)
	{
		if (super.g[26] != -1)
		{
			n n1 = (n)Z.get(String.valueOf(super.g[26]));
			return n.d[j][n1.h[j]][1];
		} else
		{
			return 0;
		}
	}

	public final void a()
	{
		super.g = new short[33];
		boolean flag = false;
		super.g[2] = super.f[15];
		super.f[14] = super.f[14];
		super.g[10] = 0;
		super.g[11] = 200;
		super.g[19] = super.f[17];
		super.g[26] = -1;
		super.g[27] = -1;
		super.g[28] = -1;
		super.g[29] = -1;
		super.g[30] = 3;
		super.g[31] = 1;
		super.g[12] = -1;
		super.g[14] = -1;
		super.g[13] = -1;
		super.g[15] = -1;
		super.g[16] = -1;
		super.g[17] = -1;
		J();
		a((short)1, true);
		ae();
	}

	public final void J()
	{
		ac = y.c(super.f[6], 12);
		ad = y.c(super.f[6], 15);
	}

	public final void a(Graphics g1, int j, int i1)
	{
		if (super.m != -1)
		{
			k.b(g1, super.m, j, i1);
			return;
		}
		super.a(g1, j, i1);
		if (super.f[3] == 11 || super.f[3] == 19)
		{
			an++;
			al[am + 0] = super.f[7];
			al[am + 1] = super.q[0];
			al[am + 2] = super.f[8];
			al[am + 3] = super.f[9];
			al[am + 4] = super.f[14];
			am += 5;
			if (am == al.length)
				am = 0;
			for (int j1 = 0; j1 < al.length; j1 += 5)
				if (al[j1] != -1)
					y.e[super.f[6]].a(g1, al[j1 + 0], al[j1 + 1], al[j1 + 2] - k.ao, al[j1 + 3] - k.ap, al[j1 + 4] == 1);

		}
		if (ae)
		{
			z z1;
			(z1 = y.e[((y) (k.s)).f[6]]).a((short)61, af);
			if (af[0] == 0 && af[1] == 0)
			{
				ae = false;
				return;
			}
			z1.b(g1, 61, af[0], j, i1, false);
		}
	}

	public final boolean b(byte byte0)
	{
		if (super.g[25] > 0 && n.g(byte0) && n.e(byte0) < 9)
		{
			super.g[25]--;
			n.d(byte0);
			return true;
		} else
		{
			return false;
		}
	}

	public final boolean a(y y1)
	{
		switch (super.f[3])
		{
		case 0: // '\0'
		case 1: // '\001'
		case 3: // '\003'
		case 5: // '\005'
		case 12: // '\f'
		case 14: // '\016'
		case 16: // '\020'
			boolean flag = false;
			if ((super.f[2] & 0x400) != 1024)
			{
				short word0 = y1.g[8];
				short word1 = super.g[9];
				int j;
				if ((j = a(word0, word1)) > 0)
					a(j, null);
				if (c(128))
				{
					b((short)8);
				} else
				{
					super.w = y1.f[14];
					a(y1, 0);
					b((short)6);
					b(y1);
				}
			}
			return true;

		case 2: // '\002'
		case 4: // '\004'
		case 6: // '\006'
		case 7: // '\007'
		case 8: // '\b'
		case 9: // '\t'
		case 10: // '\n'
		case 11: // '\013'
		case 13: // '\r'
		case 15: // '\017'
		default:
			return false;
		}
	}

	public final void b(short word0)
	{
		switch (word0)
		{
		case 22: // '\026'
			c(u());
			break;

		case 9: // '\t'
			int ai1[] = y.b(super.f[14], super.f[8], super.f[9], ad);
			super.k = ai1[0];
			super.l = ai1[1];
			break;

		case 10: // '\n'
			int ai2[] = y.b(super.f[14], super.f[8], super.f[9], ac);
			super.k = ai2[0];
			super.l = ai2[1];
			break;

		case 11: // '\013'
			aj = 0;
			ae();
			break;

		case 19: // '\023'
			ae();
			break;
		}
		super.b(word0);
		ag = false;
	}

	public final void c()
	{
		if (super.f[3] == 2)
		{
			super.q[1] = 0;
			super.q[0] = 0;
			return;
		}
		byte byte0 = 0;
		switch (super.f[3])
		{
		case 6: // '\006'
			byte0 = super.y;
			break;
		}
		super.d(a[super.f[3]][(byte0 << 2) + super.f[14]]);
	}

	public final boolean b()
	{
		if (aj < 10)
			aj++;
		ad();
		if (!c(128) && !c(256))
		{
			I();
			ah = -1;
			if ((super.f[2] & 0x800) != 2048 && !super.Q[2])
				Z();
		}
		if (super.b())
			return true;
		switch (super.f[3])
		{
		case 9: // '\t'
			K();
			return true;

		case 10: // '\n'
			L();
			return true;

		case 14: // '\016'
			N();
			return true;

		case 15: // '\017'
			O();
			return true;

		case 16: // '\020'
			P();
			return true;

		case 17: // '\021'
			Q();
			return true;

		case 11: // '\013'
			R();
			return true;

		case 13: // '\r'
			return true;

		case 21: // '\025'
			return true;

		case 12: // '\f'
			S();
			return true;

		case 18: // '\022'
			T();
			return true;

		case 19: // '\023'
			U();
			return true;

		case 20: // '\024'
			V();
			return true;

		case 22: // '\026'
			W();
			return true;

		case 23: // '\027'
			M();
			break;
		}
		return false;
	}

	private void ad()
	{
		for (int j = 0; j < b.length; j++)
		{
			if (b[j] <= 0)
				continue;
			b[j]--;
			if (b[j] == 0)
				switch (j)
				{
				case 0: // '\0'
					super.g[30] -= d[0];
					break;

				case 1: // '\001'
					super.g[31] -= d[1];
					break;

				case 2: // '\002'
					super.g[8] -= d[2];
					break;

				case 3: // '\003'
					super.g[9] -= d[3];
					break;
				}
		}

	}

	public final void d()
	{
		if (ai != -1 && super.f[14] != ai)
			c(ai);
		switch (ah)
		{
		case 4: // '\004'
		case 7: // '\007'
		case 9: // '\t'
		case 11: // '\013'
		case 12: // '\f'
		default:
			break;

		case 0: // '\0'
			b((short)1);
			return;

		case 6: // '\006'
			if (!c(4096))
			{
				b((short)5);
				return;
			}
			break;

		case 3: // '\003'
			if (!c(8192))
			{
				b((short)9);
				return;
			}
			break;

		case 2: // '\002'
			b((short)11);
			return;

		case 1: // '\001'
			b((short)12);
			return;

		case 8: // '\b'
			if (!c(4096))
			{
				b((short)15);
				return;
			}
			break;

		case 13: // '\r'
			if (!c(4096))
			{
				b((short)20);
				return;
			}
			break;

		case 10: // '\n'
			if (!c(4096))
			{
				b((short)17);
				return;
			}
			break;

		case 5: // '\005'
			b((short)22);
			break;
		}
	}

	public final void e()
	{
		switch (ah)
		{
		case -1: 
			b((short)0);
			break;

		case 6: // '\006'
			if (!c(4096))
				b((short)5);
			break;

		case 3: // '\003'
			if (!c(8192))
				b((short)9);
			break;
		}
		if (super.f[3] != 1)
			return;
		if (ai != -1 && super.f[14] != ai)
			c(ai);
		e(super.f[14]);
	}

	public final void l()
	{
		F();
	}

	public final void m()
	{
		super.p++;
		super.x = 6;
		if (ah == 7)
		{
			if (!c(4096))
			{
				ag = true;
				return;
			}
		} else
		{
			if (x())
			{
				C();
				if (B() && !Y())
					super.q[1] += z();
			}
			if (super.f[3] != 5)
				return;
			if (ag && super.q[0] == 4)
			{
				b((short)14);
				return;
			}
			if (s())
				b((short)0);
		}
	}

	public final void n()
	{
		E();

⌨️ 快捷键说明

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