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

📄 z.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.io.PrintStream;
import java.util.Vector;
import javax.microedition.lcdui.Graphics;

public abstract class z
{

	public static aa d[];
	public short e[];
	public short f[];
	public short g[];
	public short h;
	public short i;
	public int j;
	public int k;
	public int l;
	public short m;
	public short n;
	public short o;
	public short p[];
	public short q;
	public short r;
	public short s;
	public int t;
	public static byte u;
	public short v;
	private int U;
	public byte w;
	public byte x;
	public byte y;
	public byte z;
	public byte A;
	public short B[];
	public Vector C;
	public int D;
	public byte E[][];
	public byte F[][];
	public short G;
	public short H;
	public byte I[];
	public boolean J;
	public Vector K;
	public static final byte L[] = {
		2, 3, 4, 7, 8, 9, 14
	};
	public int M;
	public int N;
	public static final int O[] = {
		0xffffff, 65331, 52479, 0xcc9900, 0xffcc00, 0xfafd02
	};
	public boolean P[];
	public int Q[];
	public short R[];
	public static final byte S[] = {
		63, 62, 64
	};
	public short T[][];

	public z()
	{
		l = -1;
		p = new short[2];
		B = new short[4];
		C = new Vector();
		D = -1;
		H = 0;
		K = new Vector();
		N = 0;
		P = new boolean[3];
		Q = new int[3];
		R = new short[3];
		T = new short[3][2];
	}

	public final void a(short aword0[])
	{
		e = aword0;
		e[3] = 0;
		k.a(this);
		h = e[8];
		i = e[9];
		a();
	}

	public final void h()
	{
		K.removeAllElements();
	}

	public abstract byte[][] g();

	public final void a(int i1)
	{
		e[2] |= i1;
	}

	public final void b(int i1)
	{
		e[2] &= ~i1;
	}

	public final boolean c(int i1)
	{
		return (e[2] & i1) != 0;
	}

	public final boolean d(int i1)
	{
		return a(k.l[e[0]], i1);
	}

	public static final boolean a(int i1, int j1)
	{
		return (i1 & j1) != 0;
	}

	public final short[] i()
	{
		B[0] = e[10];
		B[1] = e[11];
		B[2] = e[12];
		B[3] = e[13];
		return B;
	}

	public final boolean j()
	{
		if (e[5] > -1 && !J)
		{
			k.c(this);
			if (J)
				return true;
		}
		return false;
	}

	public final void a(short word0)
	{
		e[4] = word0;
	}

	public boolean b()
	{
		r();
		if (P[2] && e[3] != 0 && e[3] != 6 && e[3] != 8)
		{
			if ((this instanceof e) || (this instanceof l) || (this instanceof n))
				return true;
			if ((this instanceof ab) && e[3] != 12 || e[3] != 11 || e[3] != 10)
				return true;
			if ((this instanceof r) && e[3] != 14 || e[3] != 11 || e[3] != 10)
				return true;
			if ((this instanceof t) && e[3] != 13 || e[3] != 14 || e[3] != 10)
				return true;
		}
		if (A > 0)
			A--;
		if (z > 0)
			z--;
		if (j())
			return true;
		switch (e[3])
		{
		case 0: // '\0'
			d();
			return true;

		case 1: // '\001'
			e();
			return true;

		case 2: // '\002'
			k();
			return true;

		case 3: // '\003'
			return true;

		case 4: // '\004'
			l();
			return true;

		case 5: // '\005'
			m();
			return true;

		case 6: // '\006'
			n();
			return true;

		case 7: // '\007'
			o();
			return true;

		case 8: // '\b'
			p();
			return true;
		}
		return false;
	}

	public void d()
	{
	}

	public void k()
	{
	}

	public void e()
	{
	}

	public void l()
	{
		H();
	}

	public void m()
	{
	}

	public void n()
	{
	}

	public void o()
	{
		if (t())
			b((short)0);
	}

	public void p()
	{
		if (t())
		{
			b(128);
			a(256);
			b(8);
			b(16);
		}
	}

	public final void q()
	{
		byte abyte0[];
		int j1 = (abyte0 = k.aK[k.aD][M]).length / 9;
		int i1;
		do
		{
			i1 = N * 9;
			byte byte0 = abyte0[i1 + 8];
			if (k.aE == k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]))
			{
				if (k.aF % 3 == 0)
				{
					if ((byte0 & 2) == 2 || (byte0 & 4) == 4)
					{
						b(16);
						b(8);
					} else
					{
						a(16);
					}
					if ((byte0 & 1) == 1)
						c((short)1);
					else
						c((short)3);
					if ((byte0 & 8) == 8)
					{
						M = -1;
						return;
					}
					int k1 = abyte0[i1 + 2] & 0xff;
					e[8] = k.a(abyte0[i1 + 4], abyte0[i1 + 4 + 1]);
					e[9] = k.a(abyte0[i1 + 6], abyte0[i1 + 6 + 1]);
					boolean flag = false;
					boolean flag1 = false;
					d((short)k1);
				}
				break;
			}
			if (k.aE > k.a(abyte0[(abyte0.length - 9) + 0], abyte0[(abyte0.length - 9) + 0 + 1]) || k.aE > k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]) && k.aE < k.a(abyte0[i1 + 9 + 0], abyte0[i1 + 9 + 0 + 1]))
				break;
			if (k.aE < k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]))
			{
				N--;
				if (N < 0)
				{
					b(16);
					N = 0;
					return;
				}
			} else
			if (k.aE >= k.a(abyte0[i1 + 9 + 0], abyte0[i1 + 9 + 0 + 1]))
				N++;
		} while (true);
		if (N < j1 - 1)
		{
			short word0 = k.a(abyte0[i1 + 4], abyte0[i1 + 4 + 1]);
			short word1 = k.a(abyte0[i1 + 6], abyte0[i1 + 6 + 1]);
			short word2 = k.a(abyte0[i1 + 4 + 9], abyte0[i1 + 4 + 9 + 1]);
			short word3 = k.a(abyte0[i1 + 6 + 9], abyte0[i1 + 6 + 9 + 1]);
			int l1 = (k.a(abyte0[i1 + 9 + 0], abyte0[i1 + 9 + 0 + 1]) - k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1])) * 3;
			int i2 = k.aF - k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]) * 3;
			e[8] = (short)(word0 + ((word2 - word0) * i2) / l1);
			e[9] = (short)(word1 + ((word3 - word1) * i2) / l1);
		}
	}

	public void a(Graphics g1, int i1, int j1)
	{
		aa aa1 = null;
		short word0;
		if ((word0 = e[6]) < 0)
			return;
		if ((aa1 = d[word0]) == null)
		{
			System.out.println(">>paint(): Cant paint! maybe you don't set \"Pack Anim?\" to \"No\"!! Or you dont select this animation into this scene! Or has error in load animation\n\tactorID=" + e[1] + "\n\tclassID=" + e[0] + "\n\tanimationID=" + word0);
			return;
		}
		if (e[0] != 5)
			aa1.b(g1, e[7], p[0], i1, j1, e[14] == 1);
		else
			aa1.a(g1, e[7], p[0], i1, j1, e[14] == 1, g);
		if (!c(128) && !c(256))
		{
			d(g1, i1, j1);
			if (e[3] != 8 && ((k.l[e[0]] & 4) == 4 || (k.l[e[0]] & 2) == 2) && k.V)
				b(g1, i1, j1);
			c(g1, i1, j1 - 50);
			e(g1, i1, j1);
		}
		return;
		JVM INSTR dup ;
		Exception exception;
		exception;
		printStackTrace();
	}

	public final void b(Graphics g1, int i1, int j1)
	{
		boolean flag = false;
		boolean flag1 = false;
		int k1 = i1 - 10;
		int l1 = j1 - 50;
		int i2 = (f[4] * 20) / f[5] + 1;
		g1.setColor(0xff0000);
		g1.fillRect(k1, l1, i2, 2);
		g1.setColor(0);
		g1.drawRect(k1, l1, 20, 2);
		v.a(g1, k.h(f[19]), i1, l1 - 3, 33, O[f[20]], 0);
	}

	public final void e(int i1)
	{
		if (D != i1)
			D = i1;
	}

	public final void c(Graphics g1, int i1, int j1)
	{
		if (D != -1)
			k.a(g1, D, i1, j1);
	}

	public final void d(Graphics g1, int i1, int j1)
	{
		boolean flag = false;
		for (int l1 = 0; l1 < C.size(); l1++)
		{
			String as[];
			int k1 = Integer.parseInt((as = (String[])C.elementAt(l1))[1]);
			if (as[0].startsWith("-"))
			{
				k1++;
				boolean flag1 = false;
				if (k1 > 1)
				{
					int i2 = String.valueOf(as[0]).length() * 8 >> 1;
					v.a(g1, k.H, String.valueOf(as[0]), new int[] {
						0, i1 - i2, j1 - 50 - k1 * 2 - 7, i2 << 1, 7
					});
				} else
				{
					int j2 = String.valueOf(as[0]).length() * 9 >> 1;
					v.a(g1, k.I, String.valueOf(as[0]), new int[] {
						0, i1 - j2, j1 - 50 - k1 * 2 - 9, j2 << 1, 9
					});
				}
			} else
			if (++k1 > 0)
				v.a(g1, as[0], i1, j1 - 20 - k1 * 2, 33, 0xf0ba09, 0);
			C.removeElementAt(l1);
			if (k1 < 8)
			{
				as[1] = String.valueOf(k1);
				C.insertElementAt(as, l1);
			}
		}

	}

	public abstract void a();

	public boolean a(z z1)
	{
		boolean flag = z1.e[0] == 5;
		byte byte0 = k.l[e[0]];
		if (flag && ((byte0 & 2) != 2 && (byte0 & 4) != 4 || e[3] == 8 || (byte0 & 2) == 2 && e[3] == 6 && x == 2))
			return false;
		boolean flag1 = false;
		int i1;
		if (z1 instanceof f)
			i1 = ((f)z1).ad();
		else
			i1 = z1.f[8];
		if (v.a(z1.f[32]))
		{
			i1 *= 2;
			flag1 = true;
		}
		short word0 = f[9];
		int j1;
		if ((j1 = b(i1, word0)) > 0)
		{
			a(j1, ((String) (null)));
			z = 4;
			if (flag1)
				k.s.a(0, "致命一击");
		}
		if (flag)
			a(z1, byte0, false);
		return true;
	}

	private void a(z z1, byte byte0, boolean flag)
	{
		if (c(128))
		{
			k.s.d(this);
			x = 0;
			b((short)8);
			return;
		}
		int i1 = 0;
		i1 = z1.A();
		if ((byte0 & 2) == 2)
		{
			if (i1 > 0)
			{
				c(c(z1));
				a(z1, i1);
			} else
			{
				x = (byte)i1;
			}
		} else
		if ((byte0 & 4) == 4)
		{
			if (e[0] == 14 && e[3] == 10 || e[0] == 15 && e[3] == 10 || e[0] == 16 && e[3] == 10)
				x = 3;
			else
				x = (byte)i1;
			c(c(z1));
			a(z1, x);
		}
		v = z1.e[14];
		b((short)6);
		b(z1);
	}

	public final void b(z z1)
	{
		for (int i1 = P.length - 1; i1 >= 0; i1--)
			if (P[i1])
				return;

		boolean flag = false;
		for (int j1 = 12; j1 <= 14 && !flag; j1++)
		{
			if (!v.a(z1.f[j1]))
				continue;
			int k1 = j1 - 12;
			int l1 = z1.l(k1);
			int i2 = z1.m(k1);
			int j2 = k1 + 3;
			short word0 = 0;
			short word1 = 0;
			if (f[12 + j2] >= 0)
			{
				word0 = o.d[j2][f[12 + j2]][2];
				word1 = o.d[j2][f[12 + j2]][1];
			}
			l1 -= word0;
			i2 -= word1;
			if (l1 > 0)
			{
				a((byte)k1, l1, (short)i2);
				flag = true;
			}
		}

	}

	private final int l(int i1)
	{
		if (this instanceof f)
			return ((f)this).w(i1);
		if (f[18] >= 0)
			switch (i1)
			{
			case 0: // '\0'
				return o.d[i1][f[18]][2];

			case 1: // '\001'
				return o.d[i1][f[18]][2];

			case 2: // '\002'
				return o.d[i1][f[18]][2];
			}
		return 0;
	}

	private final int m(int i1)
	{
		if (this instanceof f)
			return ((f)this).x(i1);
		if (f[18] >= 0)
			switch (i1)
			{
			case 0: // '\0'
				return o.d[i1][f[18]][1];

			case 1: // '\001'
				return o.d[i1][f[18]][1];

			case 2: // '\002'
				return o.d[i1][f[18]][1];
			}
		return 0;
	}

	private final void a(byte byte0, int i1, short word0)
	{
		P[byte0] = true;
		Q[byte0] = (i1 * 1000) / 70;
		switch (byte0)
		{
		case 0: // '\0'
			R[byte0] = f[2];
			f[2] *= (100 - word0) / 100;
			if (f[2] <= 0)
			{
				f[2] = 2;
				return;
			}
			break;

		case 2: // '\002'
			R[byte0] = 0;
			b((short)0);
			return;

		case 1: // '\001'
			R[byte0] = word0;
			break;
		}
	}

	public final void a(byte byte0)
	{
		switch (byte0)
		{
		case 0: // '\0'
			f[2] = R[byte0];
			// fall through

		case 1: // '\001'
		case 2: // '\002'
		default:
			P[byte0] = false;
			break;
		}
		Q[byte0] = 0;
		R[byte0] = 0;
	}

	public final void r()
	{
		for (byte byte0 = 0; byte0 < P.length; byte0++)
		{
			if (!P[byte0])
				continue;
			Q[byte0]--;
			if (Q[byte0] <= 0)
				a(byte0);
			if (Q[byte0] % 14 == 0)
				switch (byte0)
				{
				case 1: // '\001'
					g(-R[byte0]);
					if (R[byte0] > 0)
						a(R[byte0], ((String) (null)));
					if (c(128))
					{
						if (!(this instanceof f))
							k.s.d(this);
						b((short)8);
						Q[byte0] = 0;
						a(byte0);
						v();
					}
					break;
				}
		}

	}

	public final void e(Graphics g1, int i1, int j1)

⌨️ 快捷键说明

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