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

📄 u.java

📁 j2me 武林传之刀剑江湖录[前篇]反编译源代码
💻 JAVA
字号:
// 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 com.nokia.mid.ui.DirectGraphics;
import com.nokia.mid.ui.DirectUtils;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.Random;
import javax.microedition.lcdui.*;
import javax.microedition.media.Player;

public final class u
{

	public static final Random a = new Random();
	private static int b = 0;
	private static String c = "";
	private static final short d[] = {
		0, 100, 201, 302, 403, 505, 607, 710, 814, 919, 
		1025, 1133, 1242, 1353, 1465, 1580, 1696, 1815, 1937, 2061, 
		2189, 2320, 2455, 2593, 2736, 2884, 3037, 3196, 3361, 3533, 
		3712, 3899, 4095
	};
	private static final short e[] = {
		0, 100, 200, 301, 401, 501, 601, 700, 799, 897, 
		995, 1092, 1189, 1284, 1379, 1474, 1567, 1659, 1751, 1841, 
		1930, 2018, 2105, 2191, 2275, 2358, 2439, 2519, 2598, 2675, 
		2750, 2824, 2896, 2966, 3034, 3101, 3166, 3229, 3289, 3348, 
		3405, 3460, 3513, 3563, 3612, 3658, 3702, 3744, 3784, 3821, 
		3856, 3889, 3919, 3947, 3973, 3996, 4017, 4035, 4051, 4065, 
		4076, 4084, 4091, 4094, 4096
	};
	private static final short f[] = {
		4096, 4094, 4091, 4084, 4076, 4065, 4051, 4035, 4017, 3996, 
		3973, 3947, 3919, 3889, 3856, 3821, 3784, 3744, 3702, 3658, 
		3612, 3563, 3513, 3460, 3405, 3348, 3289, 3229, 3166, 3101, 
		3034, 2966, 2896, 2824, 2750, 2675, 2598, 2519, 2439, 2358, 
		2275, 2191, 2105, 2018, 1930, 1841, 1751, 1659, 1567, 1474, 
		1379, 1284, 1189, 1092, 995, 897, 799, 700, 601, 501, 
		401, 301, 200, 100, 0
	};

	private u()
	{
	}

	public static final void a(short aword0[], DataOutputStream dataoutputstream)
		throws Exception
	{
		int i = aword0.length;
		dataoutputstream.writeShort(i);
		for (int j = 0; j < i; j++)
			dataoutputstream.writeShort(aword0[j]);

	}

	public static final void a(int ai[], DataOutputStream dataoutputstream)
		throws Exception
	{
		int i = ai.length;
		dataoutputstream.writeShort(i);
		for (int j = 0; j < i; j++)
			dataoutputstream.writeInt(ai[j]);

	}

	public static final void a(short aword0[][], DataOutputStream dataoutputstream)
		throws Exception
	{
		int i = aword0.length;
		dataoutputstream.writeShort(i);
		for (int j = 0; j < i; j++)
		{
			dataoutputstream.writeShort(aword0[j].length);
			for (int k = 0; k < aword0[j].length; k++)
				dataoutputstream.writeShort(aword0[j][k]);

		}

	}

	public static final short[] a(DataInputStream datainputstream)
		throws Exception
	{
		short word0;
		short aword0[] = new short[word0 = datainputstream.readShort()];
		for (int i = 0; i < word0; i++)
			aword0[i] = datainputstream.readShort();

		return aword0;
	}

	public static final int[] b(DataInputStream datainputstream)
		throws Exception
	{
		short word0;
		int ai[] = new int[word0 = datainputstream.readShort()];
		for (int i = 0; i < word0; i++)
			ai[i] = datainputstream.readInt();

		return ai;
	}

	public static final short[][] c(DataInputStream datainputstream)
		throws Exception
	{
		short word0;
		short aword0[][] = new short[word0 = datainputstream.readShort()][];
		for (int i = 0; i < word0; i++)
		{
			aword0[i] = new short[datainputstream.readShort()];
			for (int j = 0; j < aword0[i].length; j++)
				aword0[i][j] = datainputstream.readShort();

		}

		return aword0;
	}

	public static final int a(byte abyte0[], int i, int j)
	{
		int k = 0;
		boolean flag = false;
		for (int i1 = j - 1; i1 >= 0; i1--)
		{
			int l = j - i1 - 1 << 3;
			k |= abyte0[i + i1] << l & 255 << l;
		}

		switch (j)
		{
		case 1: // '\001'
			k = (byte)k;
			break;

		case 2: // '\002'
			k = (short)k;
			break;

		case 4: // '\004'
			k = k;
			break;
		}
		return k;
	}

	public static final String a(int i, int j, int k, char c1)
	{
		StringBuffer stringbuffer = new StringBuffer();
		switch (j)
		{
		case 10: // '\n'
			stringbuffer.append(Integer.toString(i));
			break;

		case 16: // '\020'
			stringbuffer.append(Integer.toHexString(i));
			break;
		}
		if (stringbuffer.length() < k)
		{
			for (int l = k - stringbuffer.length(); l > 0; l--)
				stringbuffer.insert(0, c1);

		}
		return stringbuffer.toString();
	}

	public static final boolean a(int i)
	{
		return a(i, 100);
	}

	public static final boolean a(int i, int j)
	{
		if (i <= 0)
			return false;
		if (i >= j)
			return true;
		return Math.abs(a.nextInt()) % j <= i;
	}

	public static final int b(int i)
	{
		if (i == 0)
			return 0;
		else
			return Math.abs(a.nextInt()) % i;
	}

	public static final int b(int i, int j)
	{
		int k;
		int l;
		return l = b(k = j - i) + i;
	}

	public static final Image a(String s)
	{
		Image image = null;
		try
		{
			String s1 = "/bin/";
			image = Image.createImage(s1 + s + ".png");
		}
		catch (Exception ) { }
		return image;
	}

	public static final void a(Graphics g1, String s, int i, int j, int k, int l, int i1)
	{
		int j1 = g1.getColor();
		if (k == 65)
			j += g.f;
		g1.setColor(i1);
		g1.drawString(s, i - 1, j, k);
		g1.drawString(s, i + 1, j, k);
		g1.drawString(s, i, j - 1, k);
		g1.drawString(s, i, j + 1, k);
		g1.setColor(l);
		g1.drawString(s, i, j, k);
		g1.setColor(j1);
	}

	public static final void a(Graphics g1, int i, int j, int k, int l, int i1)
	{
		int ai[] = {
			i, i + k, i + k, i
		};
		int ai1[] = {
			j, j, j + l, j + l
		};
		DirectUtils.getDirectGraphics(g1).fillPolygon(ai, 0, ai1, 0, 4, i1);
	}

	public static final void a(Graphics g1, int ai[], int i, int j, boolean flag)
	{
		boolean flag1 = false;
		boolean flag2 = false;
		int k = i >> 24 & 0xff;
		int l = i >> 16 & 0xff;
		int i1 = i >> 8 & 0xff;
		int j1 = i >> 0 & 0xff;
		int k1 = j >> 24 & 0xff;
		int l1 = j >> 16 & 0xff;
		int i2 = j >> 8 & 0xff;
		int j2 = j >> 0 & 0xff;
		int k2 = ai[1];
		int l2 = ai[2];
		int i3 = ai[3];
		int j3 = ai[4];
		int l3 = 1024;
		int i4 = (flag ? j3 : i3) / 1;
		int j4;
		if ((j4 = (j4 = 1024 / i4) / 6) <= 0)
			j4 = 1;
		for (int k4 = 0; k4 < i4; k4++)
		{
			k = (k - k1) * l3 + (k1 << 10) >> 10;
			l = (l - l1) * l3 + (l1 << 10) >> 10;
			i1 = (i1 - i2) * l3 + (i2 << 10) >> 10;
			j1 = (j1 - j2) * l3 + (j2 << 10) >> 10;
			int k3 = k << 24 & 0xff000000 | l << 16 & 0xff0000 | i1 << 8 & 0xff00 | j1 << 0 & 0xff;
			g1.setColor(k3);
			g1.fillRect(k2, l2, flag ? i3 : 1, flag ? 1 : j3);
			if (l3 > 0)
				l3 -= j4;
			if (flag)
				l2++;
			else
				k2++;
		}

	}

	public static final void a(short aword0[], int i, int j)
	{
		if (aword0 == null)
		{
			return;
		} else
		{
			aword0[0] += i;
			aword0[1] += j;
			aword0[2] += i;
			aword0[3] += j;
			return;
		}
	}

	public static final boolean a(int i, int j, int k, int l, int i1, int j1)
	{
		if (k > i1)
		{
			if (i > k || i < i1)
				return false;
		} else
		if (i < k || i > i1)
			return false;
		if (l > j1)
		{
			if (j > l || j < j1)
				return false;
		} else
		if (j < l || j > j1)
			return false;
		return true;
	}

	public static final boolean a(short aword0[], short aword1[])
	{
		if (aword0 == null || aword1 == null)
			return false;
		return aword0[0] <= aword1[2] && aword1[0] <= aword0[2] && aword0[1] <= aword1[3] && aword1[1] <= aword0[3];
	}

	public static final void a(Graphics g1, Image image, String s, int ai[])
	{
		int i = image.getWidth() / 11;
		int j = image.getHeight();
		int k = ai[1];
		int l = ai[2];
		for (int i1 = 0; i1 < s.length(); i1++)
		{
			int j1 = 0;
			switch (s.charAt(i1))
			{
			case 45: // '-'
				j1 = 10;
				break;

			default:
				j1 = s.charAt(i1) - 48;
				break;
			}
			g1.setClip(k + i1 * i, l, i, j);
			g1.drawImage(image, (k + i1 * i) - j1 * i, l, 20);
		}

		g1.setClip(0, 0, 240, 320);
	}

	public static final void a(Graphics g1, String s, int i, int j, int k, int l)
	{
		if (s == null || s == "")
			return;
		if (!c.equals(s))
		{
			b = 0;
			c = s;
		}
		g1.setClip(i, j, k - 3, l);
		g1.drawString(s, i - b, j, 20);
		b += 6;
		if (b > g.a.stringWidth(s))
			b = -k;
		g1.setClip(0, 0, 240, 320);
	}

	public static final int c(int i, int j)
	{
		if (i == 0 && j == 0)
			return 0;
		int k = i < 0 ? -i : i;
		int l = j < 0 ? -j : j;
		int i1;
		int j1;
		if (k >= l)
		{
			i1 = g(j1 = (l << 12) / k);
		} else
		{
			int k1;
			i1 = g(k1 = (k << 12) / l);
			i1 = 64 - i1;
		}
		if (i >= 0)
			if (j >= 0)
				return i1;
			else
				return 256 - i1;
		if (j >= 0)
			return 128 - i1;
		else
			return 128 + i1;
	}

	private static final int g(int i)
	{
		int j = 0;
		int k = 32;
		int l = 16;
		for (int i1 = 16; i1 > 0;)
		{
			i1 >>= 1;
			if (d[l] > i)
			{
				k = l;
				l -= i1;
			} else
			{
				j = l;
				l += i1;
			}
		}

		if (d[k] - i < i - d[j])
			return k;
		else
			return j;
	}

	public static final int d(int i, int j)
	{
		int k;
		if ((k = j) >= 128)
			k = 256 - k;
		if (k > 64)
			k = 128 - k;
		int l = i * f[k] >> 12;
		if (j <= 64 || j >= 192)
			return l;
		else
			return -l;
	}

	public static final int e(int i, int j)
	{
		int k;
		if ((k = j) >= 128)
			k = 256 - k;
		if (k > 64)
			k = 128 - k;
		int l = i * e[k] >> 12;
		if (j <= 128)
			return l;
		else
			return -l;
	}

	public static final int c(int i)
	{
		if (i <= 0)
			return 0;
		int j;
		int k;
		for (j = i; (j = (k = j) + i / k >> 1) < k && j > 0;);
		return j;
	}

	public static final void b(short aword0[], int i, int j)
	{
		short word0 = aword0[i];
		aword0[i] = aword0[j];
		aword0[j] = word0;
	}

	public static final Player b(String s)
	{
		return null;
	}

	public static final boolean a(int i, int j, int k, int l, int i1, int j1, int k1)
	{
		int l1 = j1 - j;
		int i2 = k1 - k;
		if (c(Math.abs(l1 * l1) + Math.abs(i2 * i2)) > i1)
			return false;
		int j2 = c(l1, i2);
		int k2;
		if ((k2 = i - j2) < 0)
			k2 = -k2;
		if (k2 > 128)
			k2 = 256 - k2;
		return k2 <= l >> 1;
	}

	public static final int a(Graphics g1, String s, int i, int j, int k, int l, int i1, int j1)
	{
		boolean flag = false;
		String s1 = null;
		int k1 = 0;
		int l1 = j;
		int i2 = k;
		int j2 = l;
		boolean flag1 = false;
		int k2 = 0;
		int l2 = i1;
		boolean flag2 = false;
		int i3 = 0;
		boolean flag3 = false;
		if (j2 <= 0 || l2 <= 0)
			return 0;
		for (int i4 = 0; i4 < s.length(); i4++)
		{
			k1 += g1.getFont().charWidth(s.charAt(i4));
			if (s.charAt(i4) == '&')
			{
				int j3 = i4 - 1;
				s1 = s.substring(i3, j3 + 1);
				i3 = i4 + 1;
				k1 = 0;
			} else
			if (k1 > j2)
			{
				int k3 = --i4;
				s1 = s.substring(i3, k3 + 1);
				k1 = 0;
				i3 = i4 + 1;
			} else
			if (i4 == s.length() - 1)
			{
				int l3 = i4;
				s1 = s.substring(i3, l3 + 1);
				k1 = 0;
			}
			if (s1 == null)
				continue;
			g1.setClip(j, k, l, i1);
			switch (j1)
			{
			case 17: // '\021'
				l1 = j + l / 2;
				g1.drawString(s1, l1, i2 + i, j1);
				break;

			case 20: // '\024'
				g1.drawString(s1, l1, i2 + i, j1);
				break;
			}
			k2 = i2 += g1.getFont().getHeight() + 2;
			s1 = null;
			g1.setClip(0, 0, 240, 320);
		}

		return k2 - k;
	}

	public static final int a(Graphics g1, String s, int i, int ai[], int j)
	{
		return a(g1, s, i, ai[1], ai[2], ai[3], ai[4], j);
	}

	public static final int d(int i)
	{
		return i >> 16 & 0xff;
	}

	public static final int e(int i)
	{
		return i >> 8 & 0xff;
	}

	public static final int f(int i)
	{
		return i >> 0 & 0xff;
	}

	static 
	{
		String as[] = new String[5];
		as[0] = "(金)";
		as[1] = "(木)";
		as[2] = "(水)";
		as[3] = "(火)";
		as[4] = "(土)";
		byte abyte0[][] = new byte[5][];
		abyte0[0] = (new byte[] {
			1, 3, 2, 4
		});
		abyte0[1] = (new byte[] {
			4, 0, 3, 2
		});
		abyte0[2] = (new byte[] {
			3, 4, 1, 0
		});
		abyte0[3] = (new byte[] {
			0, 2, 4, 1
		});
		abyte0[4] = (new byte[] {
			2, 1, 0, 3
		});
	}
}

⌨️ 快捷键说明

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