java球球大作战_球球大作战(小游戏源码)

这个Java程序创建了一个名为`BallJPanel`的面板,实现了球球大作战的简化版。用户控制一个小球吃掉比它小的球,通过`MyBall`类和`Ball`类表示小球,使用`Istouch()`方法检测碰撞,当两个球距离小于某个值时,小球消失,大球增大。游戏循环通过`move()`方法进行,每10毫秒更新一次状态并重绘界面。
摘要由CSDN通过智能技术生成

【实例简介】

控制自己的小球球去吃比自己小的球球

【实例截图】

6aa39e11d354d3377cef444c3a2ce02d.png

【核心代码】

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();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值