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

📄 swordcanvas.java

📁 j2me手机游戏光盘文件 压缩包里有说明文件
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
				else
				if(!isProMenu&&!isTranMenu&&!isFighting&&!isWin&&!isDie&&!isTalking&&strTip==null&&!isGameMenu)
				{
					if(moveTask==null)
					{
						if(direction/3!=3)
						{
							direction=9;
							repaint();
						}
						else
						setMoveTask();
					}
				}
				else
				if(isAttMenu)
				{
					i=i+1<=11?i+1:0;
					repaint();
				}
				else
				if(isTalking&&strTip==null)//对话时候的菜单选项
				{
					if(curNPC==6||curNPC==4)
					i=i+1<=1?i+1:0;
					else
					if(curNPC==5)
					{
						switch(sn)
						{
							case 1:
							i=i+1<=2?i+1:0;
							break;
							case 2:
							i=i+1<=1?i+1:0;
							break;
							default:
							break;
						}
					}
					repaint();
				}
				break;
				case FIRE:
				FIRE();
				break;
				default:
				switch(keyCode)
				{
					case KEY_NUM1://1键取消
//					if(isAttMenu&&!isProMenu)
//					{
//						isAttMenu=false;
//						attackNumber=4;
//						repaint();
//					}
//					else
					if(isProMenu&&i==2)
					{
						gold+=(weapon[j]%3+1)*(weapon[j]%3+1)*100;
						if(curweapon==weapon[j])
						curweapon=9;
						weapon[j]=9;
						addPower=0;
						addMagic=0;
						addPdP=0;
						totalPower=basicPower;			
						repaint(0,0,240,309);
					}
					break;		
					case -6:
					FIRE();
					break;				
					default:
					break;
				}
				break;
			}
		}
	}
	
	public void FIRE()
	{
		if(isGameOver){
				MenuCanvas.loadResource();
				SwordMIDlet.show(SwordMIDlet.menuCanvas);
				MenuCanvas.se.stopSound(mapPlayer);		
		}
		if(isGameMenu)
		{
			if(i==4)
			{
				isGameMenu=!isGameMenu;
				repaint();
			}
			else
			if(i==3)
			{
			  SwordStore store=new SwordStore();
				store.save();
				store=null;
				isGameMenu=false;
				screen=null;

				MenuCanvas.loadResource();
				SwordMIDlet.show(SwordMIDlet.menuCanvas);
				MenuCanvas.se.stopSound(mapPlayer);
			}
			else
			if(i==0)
			{if(popup == null)popup = new Popup();
					showPopup(helpStr.toCharArray(), Popup.ALT_OK, 0, 0, 0);
			}
			else
			if(i==2)
			{
				MenuCanvas.isAudioOn=!MenuCanvas.isAudioOn;
				if(MenuCanvas.isAudioOn)
				MenuCanvas.se.playSound(mapPlayer);
				else
				MenuCanvas.se.pauseSound(mapPlayer);
				isGameMenu=false;
				repaint();
			}
			else
			{
				SwordStore store=new SwordStore();
				store.save();
				store=null;
				isGameMenu=false;
				repaint();
			}
		}
		else				
		if(isProMenu)
		{
			if(i==2&&skillpoint>0&&skillArray[j]<10)
			{
	
				if(skillArray[j]==0||level>=3*skillArray[j])
				{
					if(j==9||j==10||j==7)
					{
						if(skillArray[j]<5)
						{
							skillArray[j]++;
							skillpoint--;
						}
					}
					else
					{
						skillArray[j]++;
						skillpoint--;
					}
				}
				repaint(0,0,160,128);
			}
			else
			if(i==3)
			{
				if(weapon[j]!=9)
				{
					curweapon=weapon[j];
					addMagic=0;
					addPower=0;
					addPdP=0;
					switch(curweapon)
					{
						case 0:
						addPower=5;
						stealB=10;
						break;
						case 1:
						addPower=10;
						stealB=25;
						break;
						case 2:
						addPower=15;
						stealB=45;
						break;
						case 3:
						addMagic=10;
						break;
						case 4:
						addMagic=20;
						break;
						case 5:
						addMagic=30;
						break;
						case 6:
						addPdP=15;
						break;
						case 7:
						addPdP=25;
						break;
						case 8:
						addPdP=35;
						break;
						default:
						break;
					}	
					totalPower=basicPower+addPower+addPdP*basicPower/100;
					if(isFighting)
					SPI[0].basicPower=totalPower;
					repaint();
				}
			}
		}
		else
		if(isTranMenu)
		{
			if(sl!=i)
			{
				if(sl!=0)
				{
					if(gold>=100)
					{
						gold-=100;
						changeMap(i);
					}
					else
					{
						strTip="银两不够";
						isTranMenu=false;
						repaint();
					}
				}
				else
				changeMap(i);
			}
			else
			{
				isTranMenu=false;
				repaint();
			}		
		}
		else
		if(isAttMenu)
		{
			if((i<11&&skillArray[i]>0)||i==11)
			setAttack(i);
		}
		else
		if(strTip!=null)
		{
			strTip=null;
			strDlg=null;
			imgDlg=null;
			
			repaint();
		}
		else
		if(isTalking)
		{
			if(curNPC<2)
			{
				if(sn==dlgM.length-1)
				{
					
					isTalking=false;
					dlg[curNPC]=true;
					imgDlg=null;
				}
				else
				{
					sn++;
					createDialogImage(dlgM[sn]);
				}
				repaint();
			}
			else
			switch(curNPC)
			{
				case 2:
				if(sn==2)
				{
					dlg[curNPC]=true;
					imgDlg=null;
					isTalking=false;
					changeMap(5);
				}
				else
				{
					sn++;
					createDialogImage(dlgM[sn]);
					repaint();
				}
				break;
				case 3:
				if(sn==5)
				{
					gold+=10000;
					isTask2=true;
					sn++;
				}
				else
				if(sn==6||sn==7)
				{
					//removeCommand(con);
					isTalking=false;
					dlg[curNPC]=true;
					imgDlg=null;
				}
				else
				{
					sn++;
					createDialogImage(dlgM[sn]);
				}
				repaint();
				break;
				case 6://船工
				if(dlgMenuChoose==0)
				{
					if(hasBoat)
					{
						strTip="你已经有船了";
						isTalking=false;
					}
					else
					if(gold>=600)
					{
						gold-=600;
						hasBoat=true;
						isTalking=false;
						strTip="买卖成功";
					}
					else
					{
						strTip="银两不够";
						isTalking=false;
					}
				}
				else
				{
					isTalking=false;
					imgDlg=null;
					}
				repaint();
				break;
				case 5://洪七公
				switch(sn)
				{
					case 0:
					if(dlgMenuChoose==0)
					{
						sn=1;
						dlgMenu=new String[2];
						dlgMenu[0]="现在分配";
						dlgMenu[1]="以后再说";
					}
					else
					if(dlgMenuChoose==1)
					{
						dlgMenu=null;
						isTask=true;
						sn=2;
					}
					else
					{
						isTalking=false;
						imgDlg=null;
						return;
					}
					createDialogImage(dlgM[sn]);
					repaint();
					break;
					case 2:
					{
						isTalking=false;
						imgDlg=null;
						//removeCommand(con);
					}
					repaint();	
					break;
					case 1:
					if(dlgMenuChoose==0)
					{
						if(gold>=10000)
						{
							gold-=10000;
							for(int ii=0;ii<11;ii++)
							{
								while(skillArray[ii]>0)
								{
									skillArray[ii]--;
									skillpoint++;
								}
							}
							isTalking=false;
							imgDlg=null;
							//removeCommand(con);
						}
						else
						{
							strTip="银两不够";
							isTalking=false;
						}
					}
					else
					{
						isTalking=false;
						imgDlg=null;
					}
					repaint();
					break;
					default:
					break;
				}	
				break;
				case 4://竞技官
				if(dlgMenuChoose==0)
				{
					if(gold>=350)
					{
						gold-=350;
						isTalking=false;
						imgDlg=null;
						changeMap(6);//进入竞技场
						killCount=0;
					}
					else
					{
						strTip="银两不够";
						isTalking=false;
					}
				}
				else
				{
					isTalking=false;
					imgDlg=null;

				}
				repaint();					
				break;
				default:
				break;
			}
		}
		else
		if(isWin)
		{

			if(sl!=6)
			{
				isWin=false;
				updateMan=false;
				winString=new Vector(0,1);

				repaint();
			}
			else
			{
				isWin=false;

				if(killCount==10)
				{
					gold+=10000;
					changeMap(3);
				}
				else
				repaint();
			}
		}
		else
		if(isDie)//死亡后重生
		{

			isDie=false;
			isFighting=false;
			life=maxlife;
			energy=maxenergy;
			experience-=(experience-getExperience(level))*20/100;
			gold=gold*70/100;
			changeMap(0);
		}
		else
		if(curKey==-6)
		{
			isGameMenu=true;
			repaint();
		}

	}
	public void keyReleased(int keyCode)
	{
		int action = getGameAction(keyCode);
		if(action==Canvas.UP||action==Canvas.DOWN||action==Canvas.LEFT||action==Canvas.RIGHT)
		{
			isWalking=false;		
		}
	}	
	public void drawGameMenu(Graphics g)
	{
		g.setColor(0,0,100);
		g.fillRoundRect(71,73,86,118,30,30);
		g.setColor(getRandom(255),getRandom(255),getRandom(255));
		g.drawRoundRect(71,73,86,118,30,30);
		g.setColor(0);
		g.drawRoundRect(70,72,88,120,30,30);
		g.setColor(getRandom(255),getRandom(255),getRandom(255));
		g.drawRoundRect(69,71,90,122,30,30);		
		String[] text=new String[]{"帮助说明","保存游戏",MenuCanvas.isAudioOn?"关闭音效":"打开音效","回主菜单","继续游戏"};
		for(int ii=0;ii<5;ii++)
		{
			if(i==ii)
			MenuCanvas.ge.drawStringShadow(g,0x00ff00,0x00ff00,0,text[ii],113,ii*20+80,g.HCENTER|g.TOP);
			else
			MenuCanvas.ge.drawStringShadow(g,0,0,-1,text[ii],113,ii*20+80,g.HCENTER|g.TOP);
		}	
	}

	public int getRandom(int n) 
	{	
		int r =rand.nextInt();		if(r<0)
		r=-r;
		r=r%n;		return r;	}

	public void drawWeather(Graphics g1)
	{
        switch(weatherTask.s)
        {
        	case 0://雨天
        	int energy=-10;
        	if(isWeather)
        	energy=-10+getRandom(5);
        	g1.setColor(-1);
        	for(int j=0;j<14;j++)
        	for(int i=energy+j;i<270;i+=30)
        	{
        		if(getRandom(100)<80)
        		g1.drawLine(i,j*20,i+6,j*20+6);
        	}
        	break;
        	case 1:
        	g1.setColor(-1);

					if(isWeather)
					{
	        	for(int i=snow.length-1;i>0;i--)
	        	{
	        		for(int j=0;j<snow[0].length;j++)
	        		snow[i][j]=snow[i-1][j];
	        	}
	        	for(int j=0;j<snow[0].length;j++)
	        	{
	      			snow[0][j]=200/snow[0].length*j+getRandom(120)-10;
	        		if(snow[0][j]>=0)
	        		snow[0][j]=snow[0][j]*100+getRandom(120);
	        		else
	        		snow[0][j]=snow[0][j]*100-getRandom(120);
	        	}
	        }

⌨️ 快捷键说明

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