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

📄 k.java

📁 j2me 武林传之刀剑江湖录[前篇]反编译源代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
					int i7 = g(byte0, 1);
					int j11 = g(byte0, 2);
					if (i7 < n.k.length)
					{
						if (!s.a((short)i7, j11))
							s.a(0, "装备篮已满!");
					} else
					{
						i7 -= n.k.length;
						s.ab[i7] += j11;
					}
					break;

				case 8: // '\b'
					g(byte0, 0);
					int j7 = g(byte0, 1);
					g(byte0, 2);
					if (j7 < n.o.length && !s.a(n.c((byte)j7)))
						s.a(0, "装备篮已满!");
					break;

				case 9: // '\t'
					g(byte0, 0);
					int k7 = g(byte0, 1);
					g(byte0, 2);
					n.f((byte)k7);
					break;

				case 10: // '\n'
					cu = (short)g(byte0, 0);
					cv = (short)g(byte0, 1);
					cw = (short)g(byte0, 2);
					cx = (short)g(byte0, 3);
					cy = (short)g(byte0, 4);
					a((byte)9);
					return false;

				case 11: // '\013'
					int l2 = g(byte0, 0);
					int l7 = g(byte0, 1);
					int k11 = g(byte0, 2);
					int l13 = g(byte0, 3);
					if (h.b((byte)k11, l2, l7, (byte)l13) != -1)
						a(1, F, (l2 & 0xfff) << 12 | l7 & 0xfff, new short[] {
							(short)(byte)k11, (short)(byte)l13
						});
					break;

				case 12: // '\f'
					int i3 = g(byte0, 0);
					int i8 = g(byte0, 1);
					int l11;
					h.b((byte)(l11 = g(byte0, 2)), i3, i8, ((byte)(l11 != 2 ? -1 : -1)));
					break;

				case 13: // '\r'
					System.out.println("WARNING >> \tNo implement!");
					break;

				case 14: // '\016'
					byte byte1;
					dm = byte1 = (byte)g(byte0, 0);
					return true;

				case 15: // '\017'
					int j3 = g(byte0, 0);
					int j8 = g(byte0, 1);
					int i12 = g(byte0, 2);
					a(j3, (byte)i12, j8);
					break;

				case 16: // '\020'
					int k3 = g(byte0, 0);
					int k8 = g(byte0, 1);
					int j12 = g(byte0, 2);
					switch (k3)
					{
					case 50: // '2'
						cN = (byte)j12;
						a((byte)10);
						return false;

					case 51: // '3'
						dn.d(j12);
						break;

					case 53: // '5'
						if (j12 == 0)
							s.a(4096);
						else
							s.b(4096);
						break;

					case 54: // '6'
						if (j12 == 0)
							s.a(8192);
						else
							s.b(8192);
						break;

					case 55: // '7'
						if (j12 == 1)
						{
							if (dP > 0)
							{
								if (a("RMS_GAME", 1))
								{
									ai[55] = 2;
									dP--;
								} else
								{
									ai[55] = 3;
								}
								dO = 15;
							} else
							{
								a((byte)17);
								return false;
							}
						} else
						{
							ai[55] = (short)j12;
						}
						break;

					case 56: // '8'
						if (j12 != 1 && j12 != 2)
						{
							ai[56] = (short)j12;
							return true;
						}
						if (j12 == 1)
							a((byte)12);
						else
						if (j12 == 2)
							a((byte)13);
						return false;

					case 58: // ':'
						if (j12 > 0)
						{
							ai[58] = (short)j12;
							a((byte)20);
							return false;
						}
						ai[58] = (short)j12;
						break;

					default:
						if (k3 >= 0)
							if (k8 == 1)
							{
								if (k3 >= 30 && k3 < 40)
									al[k3 - 30] = (short)j12;
								else
									ai[k3] = (short)j12;
							} else
							if (k8 == 0)
								if (k3 >= 30 && k3 < 40)
									al[k3 - 30] += (short)j12;
								else
									ai[k3] += (short)j12;
						break;

					case 52: // '4'
					case 57: // '9'
						break;
					}
					break;

				case 17: // '\021'
					g(byte0, 0);
					break;

				case 18: // '\022'
					System.out.println("WARNING >> \tNo implement!");
					break;

				case 20: // '\024'
					int l3 = g(byte0, 0);
					int l8 = g(byte0, 1);
					System.out.println(">>设置标志:roleID=" + l3 + ", faceID=" + l8);
					y y4;
					if ((y4 = c(l3)) != null)
						y4.d(l8);
					break;

				case 21: // '\025'
					int i4 = g(byte0, 0);
					int i9 = g(byte0, 1);
					int k12 = g(byte0, 2);
					System.out.println(">>角色重生:roleID=" + i4 + ", count=" + i9 + ", span=" + k12);
					break;

				case 22: // '\026'
					int j4 = g(byte0, 0);
					int j9 = g(byte0, 1);
					System.out.println(">>屏幕控制:type=" + j4 + ", value=" + j9);
					switch (j4)
					{
					case 0: // '\0'
						a(j9, 0);
						break;

					case 1: // '\001'
						a(0, j9);
						break;

					case 2: // '\002'
						n(2);
						break;

					case 3: // '\003'
						n(4);
						break;

					case 4: // '\004'
						e(8, j9);
						break;

					case 5: // '\005'
						e(16, j9);
						break;
					}
					break;

				case 23: // '\027'
					int k4 = g(byte0, 0);
					int k9 = g(byte0, 1);
					int l12 = g(byte0, 2);
					System.out.println(">>屏幕移至某点:x=" + k4 + ", y=" + k9 + ", sp=" + l12);
					cO = k4 * h.d() + (h.e() >> 1);
					cP = k9 * h.e() + (h.e() >> 1);
					a((byte)11);
					return false;

				case 24: // '\030'
					int l4 = g(byte0, 0);
					System.out.println(">>跟随对象:roleID=" + l4);
					y y2;
					if (l4 == 0)
						f(((y) (null)));
					else
						f(y2 = c(l4));
					break;

				case 25: // '\031'
					int i5 = g(byte0, 0);
					int l9 = g(byte0, 1);
					System.out.println(">>镜头移至角色:roleID=" + i5 + ", sp=" + l9);
					y y5;
					cO = (y5 = c(i5)).f[8];
					cP = y5.f[9];
					a((byte)11);
					return false;

				case 26: // '\032'
					int j5 = g(byte0, 0);
					System.out.println(">>执行延时:pauseTime=" + j5);
					cY = j5 / 70;
					return false;
				}
			} else
			{
				return true;
			}
		while (true);
	}

	public static final y c(int i1)
	{
		if (i1 < 0)
			return null;
		Object obj = null;
		if (i1 == 1)
			obj = s;
		else
			obj = u[i1];
		return ((y) (obj));
	}

	private static int g(int i1, int j1)
	{
		byte byte0 = da[i1][j1];
		int k1 = u.a(do, ds, byte0);
		ds += byte0;
		return k1;
	}

	public static final DataInputStream a(String s1)
		throws Exception
	{
		return new DataInputStream(s1.getClass().getResourceAsStream("/bin/" + s1));
	}

	private static void ar()
	{
		Object obj = null;
		DataInputStream datainputstream;
		e = (datainputstream = a("config.bin")).readByte();
		h.a(e);
		f = new int[e + 1];
		for (int i1 = 0; i1 < f.length; i1++)
			f[i1] = datainputstream.readInt();

		g = datainputstream.readByte();
		y.e = new z[g];
		i = new long[e << 1];
		for (int j1 = 0; j1 < i.length; j1++)
			i[j1] = datainputstream.readLong();

		h = datainputstream.readByte();
		j = new byte[h];
		k = new byte[h];
		l = new byte[h];
		for (int k1 = 0; k1 < h; k1++)
		{
			j[k1] = datainputstream.readByte();
			k[k1] = datainputstream.readByte();
			l[k1] = datainputstream.readByte();
		}

		datainputstream.close();
		break MISSING_BLOCK_LABEL_199;
		JVM INSTR dup ;
		Exception exception;
		exception;
		printStackTrace();
		break MISSING_BLOCK_LABEL_199;
		Exception exception1;
		exception1;
		throw exception1;
		q(0);
		return;
	}

	private static int as()
	{
		if (du < 5)
			du++;
		else
		if (du < 6)
		{
			h(F, E);
			du = 6;
		} else
		if (du < 10)
			du++;
		else
		if (du < 11)
		{
			h.b(F);
			du = 11;
		} else
		if (du < 15)
			du++;
		else
		if (du < 16)
		{
			i(F, E);
			du = 16;
		} else
		if (du < 99)
			du++;
		else
		if (du < 100)
		{
			d(F);
			p(F);
			du = 100;
		}
		return du;
	}

	private static void p(int i1)
	{
		short aword0[][];
		Object obj = null;
		aword0 = (short[][])null;
		DataInputStream datainputstream;
		(datainputstream = a("scenes.bin")).skip(f[i1]);
		o = datainputstream.readShort();
		datainputstream.readInt();
		b = datainputstream.readShort();
		bQ = datainputstream.readShort();
		int ai1[] = new int[bQ + 1];
		for (int j1 = 0; j1 < ai1.length; j1++)
			ai1[j1] = datainputstream.readInt();

		aword0 = new short[bQ][];
		for (int k1 = 0; k1 < aword0.length; k1++)
		{
			aword0[k1] = new short[ai1[k1 + 1] - ai1[k1] >> 1];
			for (int l1 = 0; l1 < aword0[k1].length; l1++)
				aword0[k1][l1] = datainputstream.readShort();

		}

		d(datainputstream);
		q(o);
		datainputstream.close();
		break MISSING_BLOCK_LABEL_186;
		JVM INSTR dup ;
		Exception exception;
		exception;
		printStackTrace();
		break MISSING_BLOCK_LABEL_186;
		Exception exception1;
		exception1;
		throw exception1;
		t = bQ;
		bQ += 20;
		p = new long[bQ];
		u = new y[bQ];
		if (aword0[0][0] == 0)
		{
			if (aword0[0][15] == 1)
				L = true;
			else
				L = false;
			if (aword0[0][16] == 1)
				M = true;
			else
				M = false;
			ax = aword0[0][17];
		}
		r[0] = aword0[1];
		for (short word0 = 2; word0 < bQ - 20; word0++)
		{
			if ((aword0[word0][2] & 2) != 2)
				continue;
			u[word0] = b(aword0[word0][0], word0);
			if (u[word0] != null)
			{
				u[word0].a(aword0[word0]);
				p[word0] = a(u[word0].i());
			}
		}

		return;
	}

	private static void h(int i1, int j1)
	{
		v.a();
		h.c(i1);
		long l1 = 0L;
		long l2 = 0L;
		for (int k1 = 0; k1 < ae[i1].length; k1++)
		{
			byte byte0 = ae[i1][k1];
			l1 |= i[byte0 << 1];
			l2 |= i[(byte0 << 1) + 1];
		}

		long l3 = 0L;
		long l4 = 0L;
		l3 = (j1 != -1 ? i[j1 << 1] : 0L) ^ l1;
		l4 = (j1 != -1 ? i[(j1 << 1) + 1] : 0L) ^ l2;
		l3 &= j1 != -1 ? i[j1 << 1] : 0L;
		l4 &= j1 != -1 ? i[(j1 << 1) + 1] : 0L;
		for (int i2 = 0; i2 < g; i2++)
		{
			long l5;
			if (i2 < 64)
				l5 = l3;
			else
				l5 = l4;
			if ((l5 & 1L << 63 - (i2 >= 64 ? i2 - 64 : i2)) != 0L)
			{
				y.e[i2].b();
				y.e[i2] = null;
			}
		}

		dc = (byte[][][])null;
		dd = (byte[][][])null;
		dg = (byte[][][])null;
		dh = (byte[][][])null;
		de = null;
		di = null;
		dx = -1;
	}

	private static void i(int i1, int j1)
	{
		long l3;
		long l4;
		long l1 = 0L;
		long l2 = 0L;
		for (int k1 = 0; k1 < ae[i1].length; k1++)
		{
			byte byte0 = ae[i1][k1];
			l1 |= i[byte0 << 1];
			l2 |= i[(byte0 << 1) + 1];
		}

		l3 = (j1 != -1 ? i[j1 << 1] : 0L) ^ l1;
		l4 = (j1 != -1 ? i[(j1 << 1) + 1] : 0L) ^ l2;
		l3 &= l1;
		l4 &= l2;
		if (l3 == 0L && l4 == 0L) goto _L2; else goto _L1
_L1:
		Object obj = null;
		DataInputStream datainputstream;
		short word0;
		int ai1[] = new int[(word0 = (datainputstream = a("animation.bin")).readShort()) + 1];
		for (int i2 = 0; i2 < ai1.length; i2++)
			ai1[i2] = datainputstream.readInt();

		for (int j2 = 0; j2 < g; j2++)
		{
			long l5;
			if (j2 < 64)
				l5 = l3;
			else
				l5 = l4;
			if ((l5 & 1L << 63 - (j2 >= 64 ? j2 - 64 : j2)) != 0L)
				y.e[j2] = z.a(datainputstream);
			else
				datainputstream.skip(ai1[j2 + 1] - ai1[j2]);
		}

		datainputstream.close();
		  goto _L2
		JVM INSTR dup ;
		Exception exception;
		exception;
		printStackTrace();
_L2:
		if (y.e[j[56]] == null)
			System.out.println("水花的动画没有载入!");
		return;
	}

	public static final void d(int i1)
	{
		Object obj = null;
		DataInputStream datainputstream = a("script.bin");
		i1++;
		b(datainputstream, i1);
		a(datainputstream, i1);
		datainputstream.close();
		return;
		JVM INSTR dup ;
		Exception exception;
		exception;
		printStackTrace();
		return;
		Exception exception1;
		exception1;
		throw exception1;
	}

	private static void a(DataInputStream datainputstream, int i1)
		throws Exception
	{
		boolean flag = de != null;
		short word0;
		int ai1[] = new int[(word0 = datainputstream.readShort()) + 1];
		for (int j1 = 0; j1 < ai1.length; j1++)
			ai1[j1] = datainputstream.readInt();

		if (flag)
		{
			datainputstream.skip(ai1[i1]);
			short word1;
			di = new String[word1 = datainputstream.readShort()];
			dj = new short[word1][];
			for (int k1 = 0; k1 < word1; k1++)
			{
				short word3 = datainputstream.readShort();
				dj[k1] = new short[word3];
				for (int j2 = 0; j2 < word3; j2++)
					dj[k1][j2] = datainputstream.readShort();

				String s1 = datainputstream.readUTF();
				di[k1] = s1;
			}

		} else
		{
			short word2;
			de = new String[word2 = datainputstream.readShort()];
			df = new short[word2][];
			for (int l1 = 0; l1 < word2; l1++)
			{
				short word4 = datainputstream.readShort();
				df[l1] = new short[word4];
				for (int k2 = 0; k2 < word4; k2++)
					df[l1][k2] = datainputstream.readShort();

				String s2 = datainputstream.readUTF();
				de[l1] = s2;
			}

			datainputstream.skip(ai1[i1] - ai1[1]);
			di = new String[word2 = datainputstream.readShort()];
			dj = new short[word2][];
			for (int i2 = 0; i2 < word2; i2++)
			{
				short word5 = datainputstream.readShort();
				dj[i2] = new short[word5];
				for (int l2 = 0; l2 < word5; l2++)
					dj[i2][l2] = datainputstream.readShort();

				String s3 = datainputstream.readUTF();
				di[i2] = s3;
			}

		}
		datainputstream.skip(ai1[word0] - ai1[i1 + 1]);
	}

	private static void b(DataInputStream datainputstream, int i1)
		throws Exception
	{
		boolean flag = dc != null;
		short word0;
		int ai1[] = new int[(word0 = datainputstream.readShort()) + 1];
		for (int j1 = 0; j1 < ai1.length; j1++)
			ai1[j1] = datainputstream.readInt();

		if (flag)
		{
			datainputstream.skip(ai1[i1]);
			a(datainputstream, i1, false);
		} else
		{
			a(datainputstream, 0, true);
			datainputstream.skip(ai1[i1] - ai1[1]);
			a(datainputstream, i1, false);
		}
		datainputstream.skip(ai1[word0] - ai1[i1 + 1]);
	}

	private static void a(DataInputStream datainputstream, int i1, boolean flag)
		throws Exception
	{
		short word0;
		byte abyte0[][][] = new byte[word0 = datainputstream.readShort()][][];
		byte abyte1[][][] = new byte[word0][][];
		for (int j1 = 0; j1 < word0; j1++)
		{
			a(datainputstream);
			abyte0[j1] = am;
			abyte1[j1] = an;
			am = (byte[][])null;
			an = (byte[][])null;
		}

		if (flag)
		{
			dc = abyte0;
			dd = abyte1;
			db = (short)abyte0.length;
			return;
		} else
		{
			dg = abyte0;
			dh = abyte1;
			return;
		}
	}

	private static void a(DataInputStream datainputstream)
		throws Exception
	{
		short word0;
		am = new byte[word0 = datainputstream.readShort()][];
		an = new byte[word0][];
		for (int i1 = 0; i1 < word0; i1++)
			am[i1] = c(datainputstream);

		for (int j1 = 0; j1 < word0; j1++)
			an[j1] = b(datainputstream);

	}

	private static byte[] b(DataInputStream datainputstream)
		throws Exception
	{
		int i1;
		byte abyte0[] = new byte[(i1 = datainputstream.readInt()) + 1];
		datainputstream.read(abyte0);
		return abyte0;
	}

	private static byte[] c(DataInputStream datainputstream)
		throws Exception
	{
		int i1;
		byte abyte0[] = new byte[(i1 = datainputstream.readInt()) + 2];
		datainputstream.read(abyte0);
		return abyte0;
	}

	private static void at()
	{
		if (at != null)
		{
			short word0 = at.f[8];
			short wo

⌨️ 快捷键说明

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