【实例简介】
控制自己的小球球去吃比自己小的球球
【实例截图】
【核心代码】
package chiqiuqiu.cn;
import java.awt.Color;
import java.awt.Composite;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GraphicsConfiguration;
import java.awt.Image;
import java.awt.Paint;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.Toolkit;
import java.awt.RenderingHints.Key;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.awt.image.ImageObserver;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.RenderableImage;
import java.text.AttributedCharacterIterator;
import java.util.Map;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BallJPanel extends JPanel{
int sum=30;
MyBall myBall;
Ball[] balls=new Ball[sum];
public BallJPanel() {
// TODO Auto-generated constructor stub
this.myBall=new MyBall(this);
for(int i=0;i
this.balls[i]=new Ball(this);
}
}
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
for(int i=0;i
if(balls[i]!=null){
balls[i].drawBall(g);
}
}
myBall.drawMyball(g);
}
public void Istouch(){
for(int i=0;i
int toLineDistance=(int)Math.sqrt(((balls[i].x balls[i].d/2)-(myBall.x myBall.d/2))*((balls[i].x balls[i].d/2)-(myBall.x myBall.d/2)) ((balls[i].y balls[i].d/2)-(myBall.y myBall.d/2))*((balls[i].y balls[i].d/2)-(myBall.y myBall.d/2)));
if(toLineDistanceballs[i].d&&balls[i].d!=0){
balls[i].d=0;
myBall.d =5;
myBall.corde ;
}
if(toLineDistancemyBall.d&&balls[i].d!=0){
myBall.d=0;
myBall.appearGameOver=true;
System.out.println(1);
}
}
}
public void move(){
new Thread(){
public void run() {
while(true){
for(int i=0;i
balls[i].move();
}
Istouch();
repaint();
try{
sleep(10);
}catch(Exception e){
e.printStackTrace();
}
}
};
}.start();
}
}