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

📄 e070f72a48cf001216b0addf11818cf9

📁 一些手机游戏的例子
💻
📖 第 1 页 / 共 5 页
字号:
				break;
			}
		}
	}
	/*五键或左软键的功能*/
	public void FIRE()
	{
		if(gameMenu)
		{
			if(i==4)
			{
				gameMenu=!gameMenu;
				repaint();
			}
			else
			if(i==3)//返回主菜单 
			{
				if(GM.playOn)
				bgThread.go();
//				playsound.cancel();
//				myplayer.close();
//				myplayer=null;
				gameMenu=false;
				screen=null;
				MG.showGame=false;
				GM.cI();
				MG.show(MG.gm);
			}
			else
			if(i==0)//帮助
			{
				if(GM.mg.t==null)
				{
					GM.mg.back1=new Command("",Command.BACK,0);
					GM.mg.back2=new Command("返回",Command.SCREEN,0);
					GM.mg.t=new Form("帮助");
					GM.mg.t.append("游戏背景:");
					GM.mg.t.append("为完成父亲的遗愿,李景鸿决定前往蓬莱仙岛寻找徐敬业与骆宾王的遗孀,辅助完成复国大业。但一路上困难重重,李景鸿能否顺利到达蓬莱仙岛呢?又能否完成父亲的遗愿呢?");
					GM.mg.t.append(" ");
					GM.mg.t.append("操作方法:");
					GM.mg.t.append("游戏中用方向键和2、4、6、8键控制主角移动以及进行菜单选择,5键或OK键选定, 3键调出/关闭属性菜单,左软键调出操作菜单,可查看帮助信息,保存游戏或回到主菜单。");
					GM.mg.t.append(" ");
					GM.mg.t.append("关键提示:");
					GM.mg.t.append("玩家每次升级将得到一点技能属性用来学习技能,每项技能所能修炼的最高等级受主角等级限制,技能等级越高,效果越显著。使用“召狼”等技能时,召唤出的宠物将被优先攻击。使用技能会消耗主角的“气力”,“回气”技能将耗费一定数量的金钱。主角战死会损失一定比例的经验及金钱。");
					GM.mg.t.append("在战斗过程中菜单选项将不会响应。");
					GM.mg.t.append(" ");
					GM.mg.t.append("招式详解:");
					GM.mg.t.append("火球:用内力聚成一个火球,对单个敌人造成极大伤害");
					GM.mg.t.append("落星:在天空中形成流星般的巨石,砸向全部敌人");
					GM.mg.t.append("风残:耗费自身的血和气来形成一股飓风,对全部敌人造成较大伤害");
					GM.mg.t.append("召狼:召唤精灵狼来辅助战斗,生命力较弱但攻击力很强");
					GM.mg.t.append("召熊:召唤精灵熊来辅助战斗,攻击力很弱但生命力较强,可以用作战斗中的护盾");
					GM.mg.t.append("召龙:召唤神龙来辅助战斗,可以反弹敌人部分攻击并反伤敌人");
					GM.mg.t.append("隐身:在数回合内主角将不受攻击,但使用附身或攻击敌人则会失效");
					GM.mg.t.append("遁走:从战斗中直接逃走,技能等级高则逃走成功率大");
					GM.mg.t.append("附身:召唤影子与主角并肩作战,使主角生命力和攻击力按比例上升");
					GM.mg.t.append("回血:恢复主角一定比例的生命力");
					GM.mg.t.append("回气:恢复主角一定比例的气力,但要耗费一定量的金钱");
					GM.mg.t.append("攻击:使用普通攻击对敌单体造成伤害");	
					GM.mg.t.addCommand(GM.mg.back1);
					GM.mg.t.addCommand(GM.mg.back2);
					GM.mg.t.setCommandListener(GM.mg);
					MG.show(GM.mg.t);
					MG.showHelp=true;
				}
			}
			else
			if(i==2)//音效处理
			{
				GM.playOn=!GM.playOn;
				bgThread.go();
				gameMenu=false;
				repaint();
			}
			else//保存游戏
			{
				SA s=new SA();
				s.s();
				s=null;
				gameMenu=false;
				repaint();
			}
		}
		else				
		if(pm)
		{
			if(i==1&&sp>0&&s[j]<10)//升级技能
			{
				if(s[j]==0||le>=3*s[j])
				{
					if(j==9||j==10||j==7)
					{
						if(s[j]<5)
						{
							s[j]++;
							sp--;
						}
					}
					else
					{
						s[j]++;
						sp--;
					}
				}
				repaint(0,0,160,128);
			}
			else
			if(i==3)//选择装备
			{
				if(weapon[j]!=9)
				{
					curweapon=weapon[j];
					addMd=0;
					addPd=0;
					addPdP=0;
					switch(curweapon)
					{
						case 0:
						addPd=5;
						stealB=10;
						break;
						case 1:
						addPd=10;
						stealB=25;
						break;
						case 2:
						addPd=15;
						stealB=45;
						break;
						case 3:
						addMd=10;
						break;
						case 4:
						addMd=20;
						break;
						case 5:
						addMd=30;
						break;
						case 6:
						addPdP=15;
						break;
						case 7:
						addPdP=25;
						break;
						case 8:
						addPdP=35;
						break;
						default:
						break;
					}	
					i=0;
					D=d+addPd+addPdP*d/100;
					if(atm)
					spi[0].d=D;
					repaint(0,0,160,128);
				}
			}
		}
		else
		if(tm)
		{
			if(sl!=i)
			{
				if(sl!=0)
				{
					if(gold>=100)
					{
						gold-=100;
						cm(i);
					}
					else
					{
						tip="银两不够";
						tm=false;
						repaint();
					}
				}
				else
				cm(i);
			}
			else
			{
				tm=false;
				repaint();
			}		
		}
		else
		if(am)
		{
			if((i<11&&s[i]>0)||i==11)
			sat(i);
		}
		else
		if(tip!=null)
		{
			tip=null;
			dlgm=null;
			dlgpic=null;
			removeCommand(con);
			repaint();
		}
		else
		if(me)//对话控制
		{
			if(curnpc<2)
			{
				if(sn==dlgM.length-1)
				{
					removeCommand(con);
					me=false;
					dlg[curnpc]=true;
					dlgpic=null;
				}
				else
				{
					sn++;
					createDlgPic(dlgM[sn],8);
				}
				repaint();
			}
			else
			switch(curnpc)
			{
				case 2://长须仙人
				if(sn==2)
				{
					dlg[curnpc]=true;
					dlgpic=null;
					me=false;
					removeCommand(con);
					cm(5);
				}
				else
				{
					sn++;
					createDlgPic(dlgM[sn],8);
					repaint();
				}
				break;
				case 3://徐和骆
				if(sn==5)
				{
					gold+=10000;
					task2=true;
					sn++;
				}
				else
				if(sn==6||sn==7)
				{
					removeCommand(con);
					me=false;
					dlg[curnpc]=true;
					dlgpic=null;
				}
				else
				{
					sn++;
					createDlgPic(dlgM[sn],8);
				}
				repaint();
				break;
				case 6://船工
				if(i==0)
				{
					if(boat)
					{
						tip="你已经有船了";
						me=false;
					}
					else
					if(gold>=600)
					{
						gold-=600;
						boat=true;
						me=false;
						tip="买卖成功";
					}
					else
					{
						tip="银两不够";
						me=false;
					}
				}
				else
				{
					me=false;
					dlgpic=null;
					removeCommand(con);
				}
				repaint();
				break;
				case 5://多九公
				switch(sn)
				{
					case 0:
					sn++;
					createDlgPic(dlgM[sn],8);
					repaint();
					break;
					case 1:
					if(i==0)
					{
						sn++;
						createDlgPic(dlgM[sn],8);
						i=0;
					}
					else
					if(i==1)
					{
						task=true;
						sn=3;
						createDlgPic(dlgM[sn],8);
					}
					else
					{
						me=false;
						dlgpic=null;
						removeCommand(con);
					}
					repaint();	
					break;
					case 2:
					if(i==0)
					{
						if(gold>=10000)
						{
							gold-=10000;
							for(int ii=0;ii<11;ii++)
							{
								while(s[ii]>0)
								{
									s[ii]--;
									sp++;
								}
							}
							me=false;
							dlgpic=null;
							removeCommand(con);
						}
						else
						{
							tip="银两不够";
							me=false;
						}
					}
					else
					{
						me=false;
						dlgpic=null;
					}
					repaint();
					break;
					case 3:
					{
						me=false;
						dlgpic=null;
					}
					repaint();
					default:
					break;
				}	
				break;
				case 4://竞技官
				if(i==0)
				{
					if(gold>=350)
					{
						gold-=350;
						me=false;
						dlgpic=null;
						removeCommand(con);
						cm(6);//进入竞技场
						killCount=0;
					}
					else
					{
						tip="银两不够";
						me=false;
					}
				}
				else
				{
					me=false;
					dlgpic=null;
					removeCommand(con);
				}
				repaint();					
				break;
				default:
				break;
			}
		}
		else
		if(win)//战斗胜利后回到场景
		{
			addCommand(gmenu);
			if(sl!=6)
			{
				win=false;
				removeCommand(con);
				repaint();
			}
			else//如果在竞技场游戏则对打斗场次进行计数,到10次就回到勇士国
			{
				win=false;
				removeCommand(con);
				if(killCount==10)
				{
					gold+=10000;
					cm(3);
				}
				else
				repaint();
			}
		}
		else
		if(die)//死亡后重生
		{
			addCommand(gmenu);
			removeCommand(con);
			die=false;
			atm=false;
			l=lm;
			m=mm;
			ex-=(ex-m(le))*20/100;
			gold=gold*70/100;
			cm(0);
		}
		if(tip==null&&!me&&!atm&&!pm&&!gameMenu)
		addCommand(gmenu);
	}
	public void keyReleased(int keyCode)
	{
		int act=getGameAction(keyCode);
		if(act==Canvas.UP||act==Canvas.DOWN||act==Canvas.LEFT||act==Canvas.RIGHT)
		{
			walk=false;		
		}
	}	
	/*构建一个从0到n-1范围的随机数*/
	public int rR(int n) 
	{	
		int r =rd.nextInt();
		if(r<0)
		r=-r;
		r=r%n;
		return r;
	}
	/*移动方式选择,移动可能性判断和移动计时器触发*/
	public void stm()
	{
		System.out.println("startmove");
		if(c()>10&&c()<=20)//怪物出现的Tile
		{
			fi(chn(),c()-10);//调出战斗场景
			if(!atm)//没有怪出现
			{
				dr++;
				if(dr%3==0)
				dr-=2;
				switch(dr)
				{
//					case 7://向上1
//					y-=speed;
//					if(y0>0&&y-y0<=64)
//					y0-=speed;
//					repaint();
//					break;
//					case 4://向下1
//					y+=speed;
//					if(y0<128&&y-y0>=48)
//					y0+=speed;
//					repaint();
//					break;
//					case 1://向左1
//					x-=speed;
//					if(x0>0&&x-x0<=64)
//					x0-=speed;
//					repaint();
//					break;
//					case 10://向右1
//					x+=speed;
//					if(x0<24*16&&x-x0>=64)
//					x0+=speed;
//					repaint();
//					break;
//					default://静止状态
//					repaint();
//					break;
					case 7://向上1
					y-=speed;
					if(y0>0&&y-y0<=h/2)
					y0-=speed;
					repaint();
					break;
					case 4://向下1
					y+=speed;
					if(y0<(H[sl]-(h+15)/16)*16&&y-y0>=h/2)
					y0+=speed;
					repaint();
					break;
					case 1://向左1
					x-=speed;
					if(x0>0&&x-x0<=w/2)
					x0-=speed;
					repaint();
					break;
					case 10://向右1
					x+=speed;
					if(x0<(W[sl]-w/16)*16&&x-x0>=w/2)
					x0+=speed;
					repaint();
					break;
					default://静止状态
					repaint();
					break;
				}				
				walk=true;
				mo=new TI(this,7);
				ti.schedule(mo,0,300);
			}
			else
			{
				switch(dr/3)
				{
				
					case 0://向左
					x-=16;
					break;
					case 1://向下
					y+=16;
					break;
					case 2://向上
					y-=16;
					break;
					case 3://向右
					x+=16;
					break;
				}
				if(x>=w/2)
				{
					if(x<=W[sl]*16-w/2)
					x0=x-w/2;
					else
					x0=W[sl]*16-w;
				}
				else
				x0=0;
				if(y>=64)
				{
					if(y<=H[sl]*16-h/2)
					y0=y-h/2;
					else
					y0=H[sl]*16-h;
				}
				else
				y0=0;				
			}
		}
		else
		if(c()>1&&c()<10)//对话NPC出现的Tile
		{
			if(c()==4)
			{
				if(tn[0]==10&&tn[1]==5&&tn[2]==10&&tn[3]==5)
				message(c());
			}
			else
			message(c());
		}
		else
		if(c()==99)//场景出入口
		{
			if(boat)
			{
				tm=true;
				i=0;
			}
			else
			tip="请去找船工买船";
			repaint();
		}
		else
		if(c()==98)//宝箱
		{
			int ii=rR(2*sl+1)*50;
			gold+=ii*(2*sl+1);
			tip=ii>0?"获得"+ts(ii*(2*sl+1))+"两银子":"一无所获";
			switch(dr/3)//将宝箱所在Tile设为平地
			{
				case 1://向下
				if(y<H[sl]*16-32)
				sc[((y+31)/16+1)*W[sl]+x/16]=sc[(y+31)/16*W[sl]+x/16];
				break;
				case 0://向左

⌨️ 快捷键说明

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