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

📄 timertask.java

📁 j2me手机游戏光盘文件 压缩包里有说明文件
💻 JAVA
字号:

public class TimerTask extends java.util.TimerTask 
{
	SwordCanvas swordCanvas;
	int type;
	int s;
	int n;
	int j;
	public TimerTask(SwordCanvas g,int i)
	{
		this.swordCanvas=g;
		this.type=i;
		this.s=1;
		this.n=0;
	}
	public void run()
	{
		if(SwordCanvas.running)
		{			
			switch(type)
			{
        case -2:
        swordCanvas.isWeather=true;
        if(n%1000==0)
        {
        	s=swordCanvas.getRandom(3);
        	swordCanvas.snow=new int[30][30];
        	for(int i=0;i<swordCanvas.snow.length;i++)
        	for(int j=0;j<swordCanvas.snow[0].length;j++)
        	swordCanvas.snow[i][j]=30000;
        }
        if(n==60000)
        n=0;
        n++;
        swordCanvas.repaint();
        break;
				case 13:
				s++;
				if(s==12)
				swordCanvas.isChange=false;
				swordCanvas.repaint();
				break;
				case 10:
				switch(s)
				{
					case 1:
					swordCanvas.spic0=swordCanvas.spic[5];
					swordCanvas.sx=36;
					swordCanvas.sy=200;
					swordCanvas.repaint();
					break;
					case 2:
					swordCanvas.sy=168;
					swordCanvas.repaint();
					break;
					case 3:
					swordCanvas.sy=200;
					swordCanvas.repaint();
					break;
					case 4:
					swordCanvas.sy=168;
					swordCanvas.life+=(swordCanvas.level*swordCanvas.level+10*swordCanvas.level+60)*15*swordCanvas.skillArray[9]/100;
					if(swordCanvas.life>swordCanvas.maxlife)
					swordCanvas.life=swordCanvas.maxlife;
					swordCanvas.SPI[0].life=swordCanvas.life;
					swordCanvas.repaint();
					break;
					case 5:
					swordCanvas.spic0=null;
					swordCanvas.attackNumber=4;
					swordCanvas.repaint();
					swordCanvas.cancelAttackTask();
					break;
					default:
					break;
				}
				s++;
				break;				 
				case 11:
				switch(s)
				{
					case 1:
					swordCanvas.spic0=swordCanvas.spic[4];
					swordCanvas.sx=36;
					swordCanvas.sy=200;
					swordCanvas.repaint();
					break;
					case 2:
					swordCanvas.sy=168;
					swordCanvas.repaint();
					break;
					case 3:
					swordCanvas.sy=200;
					swordCanvas.repaint();
					break;
					case 4:
					swordCanvas.sy=168;
					swordCanvas.energy+=swordCanvas.maxenergy*20*swordCanvas.skillArray[10]/100;
					if(swordCanvas.energy>swordCanvas.maxenergy)
					swordCanvas.energy=swordCanvas.maxenergy;
					swordCanvas.repaint();
					break;
					case 5:
					swordCanvas.spic0=null;
					swordCanvas.attackNumber=4;
					swordCanvas.repaint();
					swordCanvas.cancelAttackTask();
					break;
					default:
					break;
				}
				s++;
				break;			
				case 8:
				if(swordCanvas.isFighting&&!swordCanvas.isAttMenu&&swordCanvas.attackTask==null)
				{
					int i;
					for(i=4;i<8;i++)
					{
						if(swordCanvas.SPI[i]!=null)
						break;
					}
					if(i==8)
					{
						if(!swordCanvas.isWin)
						{
							if(!swordCanvas.isProMenu)
							{
								swordCanvas.isWin=true;
								swordCanvas.isUpdated=true;
								swordCanvas.isFighting=false;
							
								if(MenuCanvas.isAudioOn)
								{
									MenuCanvas.se.stopSound(swordCanvas.attPlayer);
									swordCanvas.mapPlayer=MenuCanvas.se.createPlayer("/title.mid",1000);
									
									MenuCanvas.se.playSound(swordCanvas.mapPlayer);
								}							
								for(int k=1;k<4;k++)
								swordCanvas.SPI[k]=null;	
								if(swordCanvas.tran)
								{
									swordCanvas.tran=!swordCanvas.tran;
									swordCanvas.maxlife=swordCanvas.level*swordCanvas.level+10*swordCanvas.level+60;
									swordCanvas.life=swordCanvas.life-swordCanvas.life*10*swordCanvas.skillArray[8]/(100+10*swordCanvas.skillArray[8])>swordCanvas.maxlife?swordCanvas.maxlife:(swordCanvas.life-swordCanvas.life*10*swordCanvas.skillArray[8]/(100+10*swordCanvas.skillArray[8]));
									swordCanvas.basicPower=5*swordCanvas.level+2;
									swordCanvas.totalPower=swordCanvas.basicPower+swordCanvas.addPower+swordCanvas.addPdP*swordCanvas.basicPower/100;
								}							
								swordCanvas.repaint();
							}
						}
					}
					else
					{
						if(swordCanvas.life==0)
						{
							if(!swordCanvas.isProMenu)
							{
								swordCanvas.isDie=true;
								swordCanvas.isFighting=false;
								if(MenuCanvas.isAudioOn)
								{
									MenuCanvas.se.stopSound(swordCanvas.attPlayer);
									swordCanvas.mapPlayer=MenuCanvas.se.createPlayer("/title.mid",1000);
									MenuCanvas.se.playSound(swordCanvas.mapPlayer);
								}												
								for(int k=1;k<8;k++)
								swordCanvas.SPI[k]=null;
								if(swordCanvas.tran)
								{
									swordCanvas.tran=!swordCanvas.tran;
									swordCanvas.maxlife=swordCanvas.level*swordCanvas.level+10*swordCanvas.level+60;
									swordCanvas.life=swordCanvas.life-swordCanvas.life*10*swordCanvas.skillArray[8]/(100+10*swordCanvas.skillArray[8])>swordCanvas.maxlife?swordCanvas.maxlife:(swordCanvas.life-swordCanvas.life*10*swordCanvas.skillArray[8]/(100+10*swordCanvas.skillArray[8]));
									swordCanvas.basicPower=5*swordCanvas.level+2;
									swordCanvas.totalPower=swordCanvas.basicPower+swordCanvas.basicPower*swordCanvas.addPdP/100+swordCanvas.addPower;
								}
								swordCanvas.repaint();
							}
						}
						else
						if(swordCanvas.attackNumber<3&&swordCanvas.attackNumber>0)
						{
							if(swordCanvas.SPI[swordCanvas.attackNumber]!=null)
							swordCanvas.setAttack(swordCanvas.attackNumber+20);
							else
							swordCanvas.attackNumber=swordCanvas.attackNumber==2?1:0;
						}
						else
						if(swordCanvas.attackNumber==0)
						{
							swordCanvas.isAttMenu=true;
							if(swordCanvas.isHiding)
							{
								swordCanvas.count++;
								if(swordCanvas.count==1+swordCanvas.skillArray[6])
								swordCanvas.isHiding=!swordCanvas.isHiding;
							}
							else
							if(swordCanvas.tran)
							{
								swordCanvas.count++;
								if(swordCanvas.count>swordCanvas.skillArray[8])
								{
									swordCanvas.tran=!swordCanvas.tran;
									swordCanvas.maxlife=swordCanvas.level*swordCanvas.level+10*swordCanvas.level+60;
									swordCanvas.life=swordCanvas.life*80/100>swordCanvas.maxlife?swordCanvas.maxlife:swordCanvas.life*80/100;
									swordCanvas.SPI[0].life=swordCanvas.life;
									swordCanvas.SPI[0].basicPower=5*swordCanvas.level+2;
									swordCanvas.basicPower=swordCanvas.SPI[0].basicPower;
								}
							}
							swordCanvas.repaint();
						}
						else
						{
							while(swordCanvas.attackNumber<8)
							{
								if(swordCanvas.SPI[swordCanvas.attackNumber]!=null)
								{
									swordCanvas.setAttack(12);
									break;
								}
								else
								swordCanvas.attackNumber++;
							}
							if(swordCanvas.attackNumber>7)
							swordCanvas.attackNumber=2;	
						}
					}
				}
				break;
				case 9:
				if(s==1)
				{
					for(int i=3;i>=0;i--)
					{
						if(swordCanvas.SPI[i]!=null)
						{
							if((i==0&&!swordCanvas.isHiding)||i!=0)
							{
								swordCanvas.SPI[j].x=swordCanvas.SPI[i].x+16;
								swordCanvas.SPI[j].y=swordCanvas.SPI[i].y/32*32;
								swordCanvas.SPI[j].p++;
								if(i!=0&&swordCanvas.SPI[j].level==15)
								swordCanvas.SPI[i].life-=2*swordCanvas.SPI[j].basicPower;
								else
								swordCanvas.SPI[i].life-=swordCanvas.SPI[j].basicPower;
								if(swordCanvas.SPI[i].life<0)
								swordCanvas.SPI[i].life=0;
								swordCanvas.life=swordCanvas.SPI[0].life;
								if(i==3&&swordCanvas.SPI[j].level!=15)
								swordCanvas.SPI[j].life-=swordCanvas.SPI[j].basicPower*10*swordCanvas.skillArray[5]/100;
								if(swordCanvas.SPI[j].life<0)
								swordCanvas.SPI[j].life=0;
								swordCanvas.repaint();
								n=i;
								break;
							}
							else
							s=4;
						}
					}
				}
				else
				if(s==2)
				{
					swordCanvas.SPI[n].x-=5;
					if(n==0)
					swordCanvas.SPI[0].p=141;
					swordCanvas.repaint();
				}
				else
				if(s==3)
				{				
					swordCanvas.SPI[n].x+=5;
					swordCanvas.SPI[j].x=166;
					swordCanvas.SPI[j].y=(j-4)*32+((swordCanvas.SPI[j].level-1)/3==1?15:0)+64+108;
					swordCanvas.SPI[j].p--;		
					if(n==0)
					{
						if(!swordCanvas.tran)
						swordCanvas.SPI[0].p=130;
						else
						swordCanvas.SPI[0].p=150;
					}
					if(swordCanvas.SPI[n].life==0)
					swordCanvas.SPI[n]=null;
					if(swordCanvas.SPI[j].life==0)
					{
						if(swordCanvas.SPI[0].life>0)
						{
							swordCanvas.sn+=100*swordCanvas.SPI[j].level*swordCanvas.SPI[j].level/swordCanvas.level;
							swordCanvas.nn+=4*swordCanvas.SPI[j].level*swordCanvas.SPI[j].level;
						}
						swordCanvas.SPI[j]=null;				
					}
					swordCanvas.repaint();
				}
				else
				{
					swordCanvas.attackNumber++;
					if(swordCanvas.attackNumber>7)
					swordCanvas.attackNumber=2;				
					swordCanvas.repaint();
					swordCanvas.cancelAttackTask();				
				}
				s++;
				break;			
				case 7:
				swordCanvas.move();
				break;
				case 4:
				switch(s)
				{
					case 1:
					for(int i=0;i<4;i++)
					{
						if(swordCanvas.SPI[i+4]!=null)
						{
							swordCanvas.sx=swordCanvas.SPI[i+4].x;
							swordCanvas.sy=swordCanvas.SPI[i+4].y-16;
							swordCanvas.spic0=swordCanvas.spic[3];
							swordCanvas.repaint();
							n=i;
							break;
						}
					}
					break;
					case 2:
					swordCanvas.sy+=8;
					swordCanvas.repaint();
					break;
					case 3:
					swordCanvas.sy+=8;
					swordCanvas.spic0=swordCanvas.spic[0];
					swordCanvas.repaint();
					break;
					case 4:
					swordCanvas.sy-=2;
					swordCanvas.repaint();
					break;
					case 5:
					swordCanvas.sy+=2;
					if(swordCanvas.SPI[n+4].level!=15)
					swordCanvas.SPI[n+4].life-=(5*swordCanvas.skillArray[0]*swordCanvas.skillArray[0]+15)*(100+swordCanvas.stealB)/100;
					if(swordCanvas.SPI[n+4].life<0)
					swordCanvas.SPI[n+4].life=0;				
					swordCanvas.repaint();
					break;
					case 6:
					swordCanvas.spic0=null;
					if(swordCanvas.SPI[n+4].life==0)
					{
						swordCanvas.sn+=100*swordCanvas.SPI[n+4].level*swordCanvas.SPI[n+4].level/swordCanvas.level;
						swordCanvas.nn+=4*swordCanvas.SPI[n+4].level*swordCanvas.SPI[n+4].level;					
						swordCanvas.SPI[n+4]=null;
					}
					swordCanvas.repaint();
					break;
					case 7:	
					swordCanvas.attackNumber=4;
					swordCanvas.repaint();
					swordCanvas.cancelAttackTask();
					break;
					default:
					break;							
				}
				s++;
				break;
				case 5:
				s++;
				swordCanvas.repaint();
				break;
				case 6:
				s++;
				swordCanvas.repaint();
				break;
				default:
				if(s==1)
				{
					for(int i=0;i<4;i++)
					{
						if(swordCanvas.SPI[i+4]!=null)
						{
							swordCanvas.SPI[type].x=swordCanvas.SPI[i+4].x-16;
							swordCanvas.SPI[type].y=swordCanvas.SPI[i+4].y;
							swordCanvas.SPI[type].p++;
							if(type==0)
							{
								if(swordCanvas.SPI[i+4].life<swordCanvas.totalPower)
								swordCanvas.life+=swordCanvas.SPI[i+4].life*swordCanvas.stealB/100;
								else
								swordCanvas.life+=swordCanvas.totalPower*swordCanvas.stealB/100;
								if(swordCanvas.life>swordCanvas.maxlife)
								swordCanvas.life=swordCanvas.maxlife;
								swordCanvas.SPI[0].life=swordCanvas.life;
							}
							swordCanvas.SPI[i+4].life-=swordCanvas.SPI[type].basicPower;			
							if(swordCanvas.SPI[i+4].life<0)
							swordCanvas.SPI[i+4].life=0;
							swordCanvas.repaint();
							n=i;
							break;
						}
					}
				}
				else
				if(s==2)
				{
					swordCanvas.SPI[n+4].x+=5;
					swordCanvas.repaint();
				}
				else
				if(s==3)
				{
					swordCanvas.SPI[n+4].x-=5;
					swordCanvas.SPI[type].x=36;
					swordCanvas.SPI[type].y=96-32*type+(type==1?16:0)+64+64;
					swordCanvas.SPI[type].p--;				
					if(swordCanvas.SPI[n+4].life==0)
					{
						swordCanvas.sn+=100*swordCanvas.SPI[n+4].level*swordCanvas.SPI[n+4].level/swordCanvas.level;
						swordCanvas.nn+=4*swordCanvas.SPI[n+4].level*swordCanvas.SPI[n+4].level;
						swordCanvas.SPI[n+4]=null;
					}
					swordCanvas.repaint();			
				}
				else
				{
					swordCanvas.attackNumber--;
					if(swordCanvas.attackNumber<0)
					swordCanvas.attackNumber=4;
					swordCanvas.repaint();
					swordCanvas.cancelAttackTask();
				}
				s++;
				break;
			}
		}
	}
}

⌨️ 快捷键说明

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