h.java

来自「很好的3款手机游戏源码」· Java 代码 · 共 954 行 · 第 1/2 页

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

public class h
	implements d
{

	private String cx[] = {
		"返回游戏", "重新开始", "保  存", "载  入", "帮  助", "设  置", "回主菜单", "退  出"
	};
	private String cF[] = {
		"阴阳师,是一种日本古代以除妖降魔来为生的职业,其中最具有代表性的人物莫过于大名鼎鼎的“安倍晴明”、“役小角”等人,本作讲述的是安倍晴明的孙子(年方13岁的安倍昌浩,虽然素质极高但做为阴阳师还缺乏锻炼)与一位魔物“式神”一起修炼,最终成为一代优秀阴阳师的故事………", "进入游戏后,根据剧情来完成任务。游戏中会有式神帮助战斗。人物死亡,则返回主菜单。商店中物品根据人物等级提高而增加", "方向键:控制主角移动。/n中间键和5号键:确认作用。/n下键/右键 翻动对话./n左软键:确定/游戏中菜单/n右软键:返回/暂停", "游戏制作:手游部落/nwww.syclan.com"
	};
	private static byte cp;
	public static boolean cM;
	public static byte cw;
	private byte co;
	public static byte cB = -2;
	private Image cs;
	private Image ct;
	public Image cH;
	public Image cG;
	private Image cn;
	private a cN;
	public static Image cr;
	public Image cu;
	public a cL;
	private a cE;
	public a cA;
	private c cP;
	private boolean cS;
	private boolean cK;
	private int cv;
	public static boolean cq;
	private static int cR;
	private static byte cl[];
	private static int cJ;
	public static boolean cz;
	private static boolean cy;
	private static int cD = 20;
	private static int cO = 0;
	public static int cC;
	private byte cm;
	String cQ;
	String cI;

	public h(c c1)
	{
		cm = 0;
		cQ = "是否进入网站";
		cI = "http://3g.qq.com/forward.jsp?from=kjavagame&bid=4";
		cw = 0;
		co = 60;
		cS = false;
		cP = c1;
		cq = true;
		cM = false;
		ct = a("/images/logo1.png");
		cH = a("/images/game.png");
		cu = a("/images/menu1.png");
		cE = new a(a("/images/menu3.png"), 8, 9);
		cL = new a(a("/images/menu0.png"), 46, 33);
		cN = new a(a("/images/help.png"), 49, 13);
		cA = new a(a("/images/scroll-arrows.png"), 9, 8);
		cn = a("/images/icon1.png");
		h  = this;
		c.aB = 1;
	}

	public void m(Graphics g1)
	{
		if (cS)
		{
			if (cr == null)
			{
				h  = this;
				cr = c.a("/images/menu.png");
			}
			g1.drawImage(cr, 0, 0, 20);
			if (cJ == 1)
				a(g1, 88, 10, "关  于", 0x3732f5, 0xffffff, 1);
			else
				cN.try(g1, 63, 10, cw * 2);
			g1.setColor(255, 255, 255);
			cP.do(g1, 3, 35, false);
			cP.do(g1, -1, 4);
			if (cP.bl > 0)
				cA.try(g1, 83, 184 + cm, 0);
			if (cP.br.size() - cP.bl > cP.bK)
				cA.try(g1, 83, 194 + cm, 1);
			if (cm == 0)
				cm = 1;
			else
				cm = 0;
			return;
		}
		if (cB > -2 && cB < 9 && cB != 6)
		{
			g1.setColor(0, 0, 0);
			g1.fillRect(0, 0, 176, 208);
		}
		switch (cB)
		{
		case -1: 
		case 2: // '\002'
		case 10: // '\n'
		default:
			break;

		case 9: // '\t'
			l(g1);
			cP.case(g1);
			cP.do(g1, 0, 4);
			break;

		case -2: 
			g(g1);
			break;

		case 5: // '\005'
			if (cr != null)
			{
				g1.drawImage(cr, 0, 0, 20);
			} else
			{
				g1.setColor(0);
				g1.fillRect(0, 0, 176, 208);
			}
			a(g1, 88, 104, "保 存 成 功", 0x3732f5, 0xffffff, 1);
			break;

		case 0: // '\0'
			if (cM)
				a(g1, cx, 20);
			else
				j(g1);
			break;

		case 1: // '\001'
			k(g1);
			cP.do(g1, -1, 4);
			break;

		case 3: // '\003'
			h(g1);
			cP.do(g1, -1, 4);
			break;

		case 4: // '\004'
			g1.setClip(0, 0, 128, 128);
			g1.setColor(0xffe784);
			cP.do(g1, 2, 15, false);
			break;

		case 6: // '\006'
			cP.case(g1);
			g1.setColor(255, 255, 255);
			a(g1, 88, 104, "游戏暂停", 255, 0xffffff, 1);
			cP.do(g1, -1, 4);
			break;

		case 8: // '\b'
			g1.setColor(0, 0, 0);
			cC++;
			g1.drawImage(cG, 0, 0, 20);
			a(g1, "你挂了", 88, 20, 250, 50, 80);
			a(g1, "左软键返回主菜单", 88, 40, 250, 50, 80);
			h 1 = this;
			c.bM.try(g1, 2, 196, 0);
			break;

		case 11: // '\013'
			cP.do(g1, 5, 20, false);
			g1.drawString("结束游戏", 64, 86, 17);
			h 2 = this;
			c.bM.try(g1, 20, 86, 2);
			break;

		case 7: // '\007'
			i(g1);
			break;
		}
	}

	public void a(Graphics g1, String s, int i1, int j1, int k1, int l1, int i2)
	{
		g1.setColor(((cO * k1) / 255) * 0x10000 + ((cO * l1) / 255) * 256 + (cO * i2) / 255);
		cO += cD;
		if (cO >= 255)
		{
			cO = 255;
			cD = -cD;
		} else
		if (cO <= 0)
		{
			cO = 0;
			cD = -cD;
		}
		g1.drawString(s, i1, j1, 17);
	}

	private void a(Graphics g1, String as[], int i1)
	{
		if (cr != null)
		{
			g1.drawImage(cr, 0, 0, 20);
		} else
		{
			g1.setColor(0);
			g1.fillRect(0, 0, 176, 208);
		}
		for (int j1 = 0; j1 < as.length; j1++)
			if (j1 == cw)
			{
				a(g1, 88, j1 * 22 + i1, as[j1], 0xff0000, 0xffffff, 1);
				cE.try(g1, 24, j1 * 22 + i1, 0);
				cE.try(g1, 148, j1 * 22 + i1, 1);
			} else
			{
				a(g1, 88, j1 * 22 + i1, as[j1], 0x3732f5, 0xffffff, 1);
			}

	}

	private void j(Graphics g1)
	{
		if (cK)
			cv = 0;
		else
			cv = 1;
		g1.setClip(0, 0, 176, 208);
		g1.drawImage(cH, 0, 0, 20);
		g1.drawImage(cu, 44 + cv, 144 + cv, 20);
		cE.try(g1, 24 + cv, 176, 1);
		cE.try(g1, 148 - cv, 176, 0);
		cL.try(g1, 61 + cv, 154 + cv, cw);
		cK = !cK;
		h  = this;
		c.long(100);
	}

	private void g(Graphics g1)
	{
		g1.setColor(255, 255, 255);
		g1.fillRect(0, 0, 176, 208);
		if (co > 20)
			g1.drawImage(ct, 88, 104, 3);
		else
		if (co > 0)
			g1.drawImage(cH, 88, 104, 3);
		switch (co)
		{
		case 55: // '7'
			cP.k();
			break;

		case 50: // '2'
			cP.d();
			break;

		case 45: // '-'
			cP.p();
			break;

		case 40: // '('
			cP.e();
			break;

		case 30: // '\036'
			cP.i();
			break;

		case 18: // '\022'
			if (cs != null)
				cs = null;
			if (ct != null)
				ct = null;
			break;

		case 20: // '\024'
			cP.m();
			break;

		case 17: // '\021'
			cP.a(1, false);
			break;

		case 15: // '\017'
			cP.s();
			cP.null();
			break;

		case 10: // '\n'
			cP.case();
			break;
		}
		if (co > 0)
			co--;
		if (co == 0)
		{
			cB = 0;
			cw = 0;
		}
	}

	private void do(byte byte0)
	{
		if (cS)
		{
			cP.b(byte0);
			return;
		}
		byte byte1 = 1;
		switch (cB)
		{
		case 2: // '\002'
		case 4: // '\004'
		case 5: // '\005'
		case 6: // '\006'
		case 7: // '\007'
		case 8: // '\b'
		default:
			break;

		case 0: // '\0'
			if (cM)
			{
				byte1 = 8;
				if (cP.a(0, true))
				{
					cw = (byte)((cw + byte0 + byte1) % byte1);
					return;
				}
				cw = (byte)((cw + byte0 + byte1) % byte1);
				if (cw == 3 && byte0 == 1)
					cw++;
				else
				if (cw == 3 && byte0 == -1)
					cw--;
				return;
			}
			byte1 = 6;
			if (cP.a(0, true))
			{
				cw = (byte)((cw + byte0 + byte1) % byte1);
				return;
			}
			cw = (byte)((cw + byte0 + byte1) % byte1);
			if (cw == 1 && byte0 == 1)
				cw++;
			else
			if (cw == 1 && byte0 == -1)
				cw--;
			return;

		case 1: // '\001'
			byte1 = 2;
			break;

		case 3: // '\003'
			byte1 = 3;
			break;

		case 9: // '\t'
			cy = true;
			byte1 = 7;
			break;
		}
		cw = (byte)((cw + byte0 + byte1) % byte1);
	}

	private void y()
	{
		if (cS)
			return;
label0:
		switch (cB)
		{
		case -2: 
		case -1: 
		case 2: // '\002'
		case 4: // '\004'
		case 6: // '\006'
		default:
			break;

		case 0: // '\0'
			if (cM)
			{
				switch (cw)
				{
				default:
					break;

				case 0: // '\0'
					cw = 0;
					cr = null;
					c.aB = 0;
					break label0;

				case 1: // '\001'
					cw = 0;
					cp = 1;
					h  = this;
					b.aa = 0;
					B();
					break label0;

				case 2: // '\002'
					cP.f();
					cB = 5;
					cw = 0;
					break label0;

				case 3: // '\003'
					if (cP.a(0, true))
					{
						cz = true;
						h 1 = this;
						c.bL = true;
						cP.if((byte)5);
						cz = false;
						cM = true;
						cB = -3;
						cw = 0;
						cr = null;
					} else
					{
						cP.do("无存档");
					}
					cw = 0;
					break label0;

				case 4: // '\004'
					cB = 3;
					cw = 0;
					cp = 4;
					break label0;

				case 5: // '\005'
					cB = 1;
					if (cq)
						cw = 0;
					else
						cw = 1;
					cp = 5;
					break;

				case 6: // '\006'
					C();
					cw = 0;
					cB = 0;
					cM = false;
					cr = null;
					break;

				case 7: // '\007'
					cP.void();
					break;
				}
				break;
			}
			switch (cw)
			{
			default:
				break;

			case 0: // '\0'
				B();
				h 2 = this;
				b.aa = 0;

⌨️ 快捷键说明

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