f.java

来自「很好的3款手机游戏源码」· Java 代码 · 共 335 行

JAVA
335
字号
// 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 javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class f
	implements d
{

	private static int b4 = 12;
	private static int b5 = 3;
	public static byte ci[][];
	public static byte b8[][];
	public static byte ca[][];
	public static byte bW[][];
	public int cb;
	public int b9;
	private int ce;
	private int bZ;
	private Image cg;
	private Image cf;
	private Graphics b2;
	private Graphics b0;
	private static int b7 = 26;
	private static int b6 = 7;
	private static int b1[][];
	private int ck;
	private int cd;
	private int cc;
	private int bY;
	private int bX;
	public static boolean b3 = false;
	public static a ch[];
	c cj;

	public f(c c1)
	{
		cj = c1;
		cb = -6;
		b9 = 0;
		ce = 32;
		bZ = 16;
		ck = 0;
		cd = 200;
		cc = 176;
		b1 = new int[b7][b6];
		if (cg == null)
			cg = Image.createImage(cd, cc);
		if (cf == null)
			cf = Image.createImage(cd, cc);
		b2 = cg.getGraphics();
		b0 = cf.getGraphics();
		try(-16, -8);
		ch = new a[7];
		ch[0] = new a(c.a("/images/01.png"), 30, 16);
		ch[1] = new a(c.a("/images/02.png"), 30, 63);
		ch[1].void(15, 55);
		ch[3] = new a(c.a("/images/03.png"), 30, 63);
		ch[3].void(15, 55);
		ch[4] = new a(c.a("/images/05.png"), 30, 14);
		ch[4].void(0, -8);
	}

	public void w()
	{
		int i1;
		if (b5 % 2 == 0)
			i1 = c.bA - b5 - b4 / 2;
		else
			i1 = c.bA - b5 - (b4 + 1) / 2;
		int j1 = (c.bC + b5) - b4 / 2;
		for (int k1 = 0; k1 < b7 / 2; k1++)
		{
			a(i1 + k1, j1 + k1, 2 * k1, b1);
			a(i1 + k1 + 1, j1 + k1, 2 * k1 + 1, b1);
		}

	}

	private void a(int i1, int j1, int k1, int ai[][])
	{
		for (int l1 = 0; l1 < b6; l1++)
			if (i1 + l1 >= 0 && j1 - l1 >= 0 && i1 + l1 < c.aS && j1 - l1 < c.by)
				ai[k1][l1] = ((i1 + l1) * c.by + j1) - l1;
			else
				ai[k1][l1] = -1;

	}

	public void x()
	{
		cb = -6;
		b9 = 0;
		b2.setClip(0, 0, cg.getWidth(), cg.getHeight());
		b0.setClip(0, 0, cf.getWidth(), cf.getHeight());
		b2.setColor(0, 0, 0);
		b2.fillRect(0, 0, cg.getWidth(), cg.getHeight());
		b0.fillRect(0, 0, cf.getWidth(), cf.getHeight());
		e(b2);
		ck = 0;
	}

	public void char(int i1, int j1)
	{
		if (ck == 0)
			a(b0, cg, i1, j1);
		else
		if (ck == 1)
			a(b2, cf, i1, j1);
		ck = 1 - ck;
	}

	private void a(Graphics g, Image image, int i1, int j1)
	{
		g.setColor(0, 0, 0);
		g.setClip(0, 0, cd, cc);
		g.fillRect(0, 0, cd, cc);
		e(g);
		if (i1 == -1 && j1 == 0)
		{
			cb -= 16;
			b9 -= 8;
		} else
		if (i1 == 1 && j1 == 0)
		{
			cb += 16;
			b9 += 8;
		} else
		if (j1 == -1 && i1 == 0)
		{
			cb += 16;
			b9 -= 8;
		} else
		if (j1 == 1 && i1 == 0)
		{
			cb -= 16;
			b9 += 8;
		}
	}

	public void byte(int i1, int j1)
	{
		cb += i1;
		b9 += j1;
	}

	public static byte j(int i1)
	{
		if (m(i1))
		{
			byte byte0 = ci[i1 / c.by][i1 % c.by];
			return byte0;
		} else
		{
			return 0;
		}
	}

	public static byte l(int i1)
	{
		if (m(i1))
			return ca[i1 / c.by][i1 % c.by];
		else
			return 0;
	}

	private static byte i(int i1)
	{
		if (m(i1))
			return b8[i1 / c.by][i1 % c.by];
		else
			return 0;
	}

	public static byte h(int i1)
	{
		if (m(i1))
			return bW[i1 / c.by][i1 % c.by];
		else
			return 0;
	}

	private static boolean m(int i1)
	{
		return !((i1 < 0) | (i1 >= c.aS * c.by));
	}

	public void f(Graphics g)
	{
		if (b3)
		{
			x();
			b3 = false;
		}
		g.setClip(-10, -10, 200, 300);
		g.setColor(0, 0, 0);
		g.fillRect(0, 0, 176, 200);
		if (ck == 0)
			g.drawImage(cg, cb - 2, b9 - 4, 0);
		else
			g.drawImage(cf, cb - 2, b9 - 4, 0);
	}

	public int else(int i1, int j1)
	{
		return (cb + case(i1, j1) + 16) - 2;
	}

	public int n(int i1)
	{
		return (b9 + k(i1) + 8) - 2 - 2;
	}

	private int case(int i1, int j1)
	{
		if (i1 % 2 != 0)
			return bY + j1 * ce + ce / 2;
		else
			return bY + j1 * ce;
	}

	private int k(int i1)
	{
		return bX + (i1 * bZ) / 2;
	}

	private void try(int i1, int j1)
	{
		bY = i1;
		bX = j1;
	}

	private void e(Graphics g)
	{
		for (int i1 = 0; i1 < b1.length; i1++)
			a(g, i1, 0, b1[i1].length);

	}

	public void d(Graphics g)
	{
		ch[1].ea = 1;
		if (ch[2] != null)
			ch[2].ea = 1;
		ch[3].ea = 1;
		int(g, b4 + 1, b5 - 1);
		int(g, b4 + 1, b5);
		int(g, b4 + 2, b5);
		int(g, b4 + 2, b5 - 1);
		int(g, b4 + 3, b5 - 1);
		int(g, b4 + 3, b5);
		int(g, b4 + 4, b5 - 1);
		int(g, b4 + 4, b5);
		int(g, b4 + 5, b5 - 1);
		int(g, b4 + 5, b5);
		int(g, b4 + 6, b5);
		ch[1].ea = 0;
		if (ch[2] != null)
			ch[2].ea = 0;
		ch[3].ea = 0;
	}

	private void int(Graphics g, int i1, int j1)
	{
		int k1 = else(i1, j1);
		if (b1[i1][j1] != -1 && l(b1[i1][j1]) > 0)
		{
			if (l(b1[i1][j1]) <= 35)
				ch[1].try(g, k1, n(i1), l(b1[i1][j1]) - 1);
			else
				ch[2].try(g, k1, n(i1), l(b1[i1][j1]) - 1 - 35);
			ch[3].try(g, k1, n(i1), i(b1[i1][j1]) - 1);
		}
	}

	private void a(Graphics g, int i1, int j1, int k1)
	{
		if (i1 < b1.length - 2)
		{
			for (int l1 = j1; l1 < k1; l1++)
				if (b1[i1][l1] != -1 && j(b1[i1][l1]) > 0)
				{
					ch[0].try(g, case(i1, l1), k(i1), j(b1[i1][l1]) - 1);
					if (i1 < b7 - 1 && b1[i1 + 1][l1] == -1 || l1 < b6 - 1 && b1[i1][l1 + 1] == -1 || l1 > 0 && b1[i1][l1 - 1] == -1)
					{
						if (j(b1[i1][l1]) > 6)
							ch[4].try(g, case(i1, l1), k(i1), 3);
						ch[4].try(g, case(i1, l1), k(i1), j(b1[i1][l1]) - 1);
					}
				}

		}
		if(g, i1, j1, k1);
	}

	private void if(Graphics g, int i1, int j1, int k1)
	{
		for (int l1 = j1; l1 < k1; l1++)
		{
label0:
			{
label1:
				{
					if (b1[i1][l1] == -1 || l(b1[i1][l1]) <= 0)
						break label0;
					if (l(b1[i1][l1]) <= 35)
						ch[1].try(g, case(i1, l1) + 16, k(i1) + 8, l(b1[i1][l1]) - 1);
					else
						ch[2].try(g, case(i1, l1) + 16, k(i1) + 8, l(b1[i1][l1]) - 1 - 35);
					if (l(b1[i1][l1]) <= 22 || l(b1[i1][l1]) == 35)
						ch[0].try(g, case(i1, l1), k(i1) - 54, 6);
					f  = this;
					if (c.bI != 0)
					{
						f 1 = this;
						if (c.bI != 1)
							break label1;
					}
					if (l(b1[i1][l1]) > 35 && l(b1[i1][l1]) < 39)
						ch[0].try(g, case(i1, l1), k(i1) - 54, 6);
				}
				f 2 = this;
				if (c.bI == 9 && l(b1[i1][l1]) == 36)
					ch[0].try(g, case(i1, l1), k(i1) - 54, 6);
			}
			if (i(b1[i1][l1]) > 0)
				ch[3].try(g, case(i1, l1) + 16, k(i1) + 8, i(b1[i1][l1]) - 1);
		}

	}

}

⌨️ 快捷键说明

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