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

📄 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 class f extends z
{

	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 V[];
	public short W;
	public Hashtable X;
	public int Y[];
	public int Z[];
	public short aa;
	public short ab;
	public int ac;
	public int ad;
	public int ae;
	public int af;
	public boolean ag;
	public short ah[];
	private int aj;
	private int ak;
	public boolean ai;
	private short al[];
	private byte am;
	private byte an;

	public f()
	{
		b = new int[5];
		V = new int[4];
		X = new Hashtable(50);
		Y = new int[o.l.length];
		Z = new int[o.t.length];
		ah = new short[2];
		ai = false;
		al = new short[15];
	}

	private int ae()
	{
		int j;
		return j = X.size();
	}

	public final boolean a(o o1)
	{
		if (ae() > 50)
		{
			a(0, "装备篮已满!");
			return false;
		}
		for (; X.containsKey(String.valueOf(W)); W++);
		boolean flag = false;
		Enumeration enumeration = X.keys();
		do
		{
			if (!enumeration.hasMoreElements())
				break;
			String s1 = (String)enumeration.nextElement();
			o o2;
			if (!o.a(o2 = (o)X.get(s1), o1))
				continue;
			o2.h[18]++;
			flag = true;
			break;
		} while (true);
		if (!flag)
		{
			o1.h[18]++;
			X.put(String.valueOf(W), o1);
		}
		return true;
	}

	public final boolean p(int j)
	{
		if (ae() <= 0)
			return false;
		for (Enumeration enumeration = X.keys(); enumeration.hasMoreElements();)
		{
			String s1 = (String)enumeration.nextElement();
			o o1;
			if ((o1 = (o)X.get(s1)).g == j)
			{
				X.remove(s1);
				return true;
			}
		}

		return false;
	}

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

	public final boolean q(int j)
	{
		int i1 = J();
		i1 = 60000 - i1;
		if (j >= i1)
		{
			r(59999);
			return false;
		} else
		{
			int j1 = J() + j;
			r(j1);
			return true;
		}
	}

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

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

	public final boolean s(int j)
	{
		o o1 = (o)X.get(String.valueOf(j));
		if (super.f[0] < o1.c())
			return false;
		byte byte0;
		switch (o1.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.f[byte0] != -1)
			t(super.f[byte0]);
		super.f[byte0] = (short)j;
		short word0 = super.f[7];
		short aword0[] = o1.a(super.f.length);
		for (int i1 = 0; i1 < aword0.length; i1++)
			if (aword0[i1] != 0)
				super.f[i1] += aword0[i1];

		for (int j1 = 3; j1 <= 5; j1++)
		{
			super.f[15 + (j1 - 3)] += o1.i[j1] + 1;
			if (super.f[15 + (j1 - 3)] >= 4)
				super.f[15 + (j1 - 3)] = 3;
		}

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

	public final void t(int j)
	{
		o o1;
		byte byte0;
		switch ((o1 = (o)X.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.f[7];
		super.f[byte0] = -1;
		short aword0[] = o1.a(super.f.length);
		for (int i1 = 0; i1 < aword0.length; i1++)
			if (aword0[i1] != 0)
				super.f[i1] -= aword0[i1];

		for (int j1 = 3; j1 <= 5; j1++)
		{
			super.f[15 + (j1 - 3)] -= o1.i[j1] + 1;
			if (super.f[15 + (j1 - 3)] < 0)
				super.f[15 + (j1 - 3)] = -1;
		}

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

	public final o u(int j)
	{
		return (o)X.get(String.valueOf(j));
	}

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

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

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

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

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

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

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

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

	public final short w(int j)
	{
		if (super.f[26] != -1)
		{
			o o1 = (o)X.get(String.valueOf(super.f[26]));
			return o.d[j][o1.i[j]][2];
		} else
		{
			return 0;
		}
	}

	public final short x(int j)
	{
		if (super.f[26] != -1)
		{
			o o1 = (o)X.get(String.valueOf(super.f[26]));
			return o.d[j][o1.i[j]][1];
		} else
		{
			return 0;
		}
	}

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

	public final void L()
	{
		o.f((byte)3);
		o.f((byte)1);
		o.f((byte)4);
		o.f((byte)5);
		o.f((byte)0);
		o.f((byte)2);
		for (int j = 0; j <= 5; j++)
		{
			for (int i1 = 0; i1 < 4; i1++)
				o.d((byte)j);

		}

		super.f[4] = super.f[5];
		super.f[6] = super.f[7];
	}

	public final void M()
	{
		ac = z.d(super.e[6], 12);
		ad = z.d(super.e[6], 15);
	}

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

		}
		if (ag)
		{
			aa aa1;
			(aa1 = z.d[((z) (k.s)).e[6]]).a((short)61, ah);
			if (ah[0] == 0 && ah[1] == 0)
			{
				ag = false;
				return;
			}
			aa1.b(g1, 61, ah[0], j, i1, false);
		}
	}

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

	public final boolean a(z z1)
	{
		switch (super.e[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.e[2] & 0x400) != 1024)
			{
				short word0 = z1.f[8];
				short word1 = super.f[9];
				int j;
				if ((j = b(word0, word1)) > 0)
					a(j, null);
				if (c(128))
				{
					b((short)8);
				} else
				{
					super.v = z1.e[14];
					a(z1, 0);
					b((short)6);
					b(z1);
				}
			}
			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(w());
			break;

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

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

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

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

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

	public boolean b()
	{
		if (aj < 10)
			aj++;
		af();
		if (!c(128) && !c(256))
		{
			K();
			aa = -1;
			if ((super.e[2] & 0x800) != 2048 && !super.P[2])
				I();
		}
		if (super.b())
			return true;
		switch (super.e[3])
		{
		case 9: // '\t'
			N();
			return true;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	private void af()
	{
		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.f[30] -= V[0];
					break;

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

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

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

	}

	public void d()
	{
		if (ab != -1 && super.e[14] != ab)
			c(ab);
		switch (aa)
		{
		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 void e()
	{
		switch (aa)
		{
		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.e[3] != 1)
			return;
		if (ab != -1 && super.e[14] != ab)
			c(ab);
		f(super.e[14]);
	}

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

	public void m()
	{
		super.o++;
		super.w = 6;
		if (aa == 7)
		{
			if (!c(4096))
			{
				ai = true;
				return;
			}
		} else
		{
			if (z())
			{
				E();

⌨️ 快捷键说明

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