📄 paopao.java
字号:
package pp.actor;
import like.actor2D.Actor2D;
import like.graphics.*;
import java.awt.*;
public class PaoPao extends Fraise
{
Player player;
int currIGe;
int currJGe;
int boobTimes = 30;
public boolean [] psIn;
boolean painted = false;
public PaoPao(Player player)
{
super(player.pScence.getPaoPaoGroup());
this.player = player;
this.currIGe = player.getCurrIGe();
this.currJGe = player.getCurrJGe();
this.setPos(20+40*currJGe,40+40*currIGe);
this.canMove = false;
this.canDestroy = false;
this.temp = false;
this.destroyed = false;
this.ifPP = true;
this.currAnimation = group.getAnimationStrip(PaoPaoGroup.no_boob);
this.currAnimator = this.currAnimation.createNewAnimator();
this.setAnimateMode(this.AnimateMode_AUTOPLAY);
this.setBufferTimes(4);
this.setAnimWait(9);
this.updateBounds();
xform.setToTranslation(pos.getX()+excursion.getX(),pos.getY()+excursion.getY());
psIn = new boolean[player.pScence.getPlayerNum()];
for(int i=0;i<player.pScence.getPlayerNum();i++)
{
if(collidesWith(player.pScence.getPlayer(i)))
{
psIn[i] = true;
}
}
player.pScence.getResourceGroup().getAudio(ResourceGroup.Audio_putPP).play();
}
public void setPainted(boolean painted) {this.painted = painted;}
public void update()
{
if(getNotFazeMe())
{
animate();
for(int i=0;i<player.pScence.getPlayerNum();i++)
{
if(psIn[i] && !collidesWith(player.pScence.getPlayer(i)))
{
psIn[i] = false;
}
}
}
else
{
}
}
public void paint(Graphics2D g2d)
{
if(this.destroyed) return;
if(painted)
{
painted = false;
return;
}
if(getNotFazeMe())
{
super.paint(g2d);
}
else
{
if(boobTimes-->0)
{
currAnimation = group.getAnimationStrip(PaoPaoGroup.boob);
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_mid), 20+currJGe*40, 40+currIGe*40, AnimationStrip.observer);
for(int i=0;i<player.pScence.getPlayerNum();i++)
{
if(!player.pScence.getPlayer(i).getDeading()
&&currIGe==player.pScence.getPlayer(i).currIGe
&& currJGe==player.pScence.getPlayer(i).currJGe)
player.pScence.getPlayer(i).deading();
}
int k;
//上
for(k=1;k<=player.getPLength();k++)
{
if(currIGe-k>=0)
{
//System.out.print(k);
for(int i=0;i<player.pScence.getPlayerNum();i++)
{
if(!player.pScence.getPlayer(i).getDeading()
&&currIGe-k==player.pScence.getPlayer(i).currIGe
&& currJGe==player.pScence.getPlayer(i).currJGe)
player.pScence.getPlayer(i).deading();
}
Fraise f = player.pScence.fraises[currIGe-k][currJGe];
player.pScence.pro[currIGe-k][currJGe] = null;
if(f==null || f.temp)
{
//System.out.println("1"+k);
//if(this.boobTimes%2==1)
//{
if(k<player.getPLength())
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_upMid), 20+currJGe*40, 40+(currIGe-k)*40,AnimationStrip.observer);
else
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_up), 20+currJGe*40, 40+(currIGe-k)*40,AnimationStrip.observer);
// }
}
else if(f.ifPP)
{
//System.out.println("2"+k);
((PaoPao)f).blast();
}
else if(f.canDestroy)
{
//System.out.println("3"+k);
f.destroy();
//g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_up), 20+currJGe*40, 40+(currIGe-k)*40,AnimationStrip.observer);
break;
}
else
break;
}
else break;
}
//左
for(k=1;k<=player.getPLength();k++)
{
if(currJGe-k>=0)
{
for(int i=0;i<player.pScence.getPlayerNum();i++)
{
if(!player.pScence.getPlayer(i).getDeading()
&& currIGe==player.pScence.getPlayer(i).currIGe
&& currJGe-k==player.pScence.getPlayer(i).currJGe)
player.pScence.getPlayer(i).deading();
}
Fraise f = player.pScence.fraises[currIGe][currJGe-k];
player.pScence.pro[currIGe][currJGe-k] = null;
if(f==null || f.temp)
{
if(k<player.getPLength())
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_leftMid), 20+(currJGe-k)*40, 40+currIGe*40,AnimationStrip.observer);
else
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_left), 20+(currJGe-k)*40, 40+currIGe*40,AnimationStrip.observer);
}
else if(f.ifPP)
{
((PaoPao)f).blast();
}
else if(f.canDestroy)
{
f.destroy();
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_left),20+currJGe*40,40+(currIGe-k)*40,AnimationStrip.observer);
break;
}
else
break;
}
}
//下
for(k=1;k<=player.getPLength();k++)
{
if(currIGe+k<13)
{
for(int i=0;i<player.pScence.getPlayerNum();i++)
{
if(!player.pScence.getPlayer(i).getDeading()
&&currIGe+k==player.pScence.getPlayer(i).currIGe
&& currJGe==player.pScence.getPlayer(i).currJGe)
player.pScence.getPlayer(i).deading();
}
Fraise f = player.pScence.fraises[currIGe+k][currJGe];
player.pScence.pro[currIGe+k][currJGe] = null;
if(f==null || f.temp)
{
if(k<player.getPLength())
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_upMid), 20+currJGe*40,40+(currIGe+k)*40,AnimationStrip.observer);
else
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_down),20+currJGe*40,40+(currIGe+k)*40,AnimationStrip.observer);
}
else if(f.ifPP)
{
((PaoPao)f).blast();
}
else if(f.canDestroy)
{
f.destroy();
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_down), 20+currJGe*40, 40+(currIGe+k)*40,AnimationStrip.observer);
break;
}
else
break;
}
}
//右
for(k=1;k<=player.getPLength();k++)
{
if(currJGe+k<15)
{
for(int i=0;i<player.pScence.getPlayerNum();i++)
{
if(!player.pScence.getPlayer(i).getDeading()
&&currIGe==player.pScence.getPlayer(i).currIGe
&& currJGe+k==player.pScence.getPlayer(i).currJGe)
player.pScence.getPlayer(i).deading();
}
Fraise f = player.pScence.fraises[currIGe][currJGe+k];
player.pScence.pro[currIGe][currJGe+k] = null;
if(f==null || f.temp)
{
if(k<player.getPLength())
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_leftMid),20+(currJGe+k)*40,40+currIGe*40,AnimationStrip.observer);
else
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_right), 20+(currJGe+k)*40,40+currIGe*40,AnimationStrip.observer);
}
else if(f.ifPP)
{
((PaoPao)f).blast();
}
else if(f.canDestroy)
{
f.destroy();
g2d.drawImage(currAnimation.getFrame(PaoPaoGroup.BOOB_right),20+(currJGe+k)*40,40+currIGe*40,AnimationStrip.observer);
break;
}
else
break;
}
}
}
else
{
this.destroyed = true;
this.player.addPn();
}
}
}
public void blast()
{
this.setAnimateMode(Actor2D.AnimateMode_WAIT);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -