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

📄 paopao.java

📁 这是自己设计的一款java泡泡游戏。 这是自己设计的一款java泡泡游戏。这是自己设计的一款java泡泡游戏
💻 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 + -