java简单小游戏代码_简单的弹球小游戏

[java]代码库package day06;

import javax.swing.JFrame;

public class BallFrame {

public BallFrame(){

JFrame frame = new JFrame();

frame.setTitle("弹球游戏");

frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);

frame.setBounds(100,200,800,600);

frame.setVisible(true);

BallPanel bp = new BallPanel();

frame.add(bp);

frame.setVisible(true);

}

public static void main(String[] args) {

new BallFrame();

}

}

package day06;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.MouseEvent;

import java.awt.event.MouseMotionListener;

import javax.swing.JPanel;

public class BallPanel extends JPanel implements MouseMotionListener {

final static int RIIGHT_DOWN = 0;

final static int LEFT_DOWN=1;

final static int LEFT_UP =2;

final static int RIGHT_UP=3;

int f=0;

int speed = 10;

int bx=0;

int by=0;

int dx=100;

int dy=400;

public BallPanel(){

move();

addMouseMotionListener(this);

}

public void paint(Graphics g){

super.paint(g);

setBackground(Color.black);

g.setColor(Color.yellow);

g.fillOval(bx, by,20, 20);

g.setColor(Color.blue);

g.fillRect(dx, dy, 100, 20);

}

public void move(){

new Thread(){

public void run(){

while(true){

if(f==0){

bx+=speed;

by+=speed;

}

if(f==1){

bx-=speed;

by+=speed;

}

if(f==2){

bx-=speed;

by-=speed;

}

if(f==3){

bx+=speed;

by-=speed;

}

if(bx>800-20){

if(f==0){

f=1;

}else{

f=2;

}

}

if(by>600-20){

if(f==1){

f=2;

}else{

f=3;

}

}

if(bx<0){

if(f==1){

f=0;

}else{

f=3;

}

}

if(by<0){

if(f==2){

f=1;

}else{

f=0;

}

}

if (by >= 400 - 20) {

if (bx >= dx && bx <= dx + 100) {

speed++;

} else {

Thread.currentThread().stop();

}

if (speed >= 20)

{

speed = 20;

}

if (f == 1) {

f = 2;

} else {

f = 3;

}

}

repaint();

try {

Thread.sleep(100);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}.start();

}

@Override

public void mouseDragged(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseMoved(MouseEvent e) {

// TODO Auto-generated method stub

dx = e.getX()-100/2;

}

}

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值