📄 timertask.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 + -