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

📄 ballpanel.java

📁 JAVA编的弹球游戏
💻 JAVA
字号:
package com.ly.util;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class ballpanel extends JPanel implements TimerClient,MouseListener,MouseMotionListener
{
	
 private String winner;
	    private int i,j,score;
	    int ix,iy;
	     private int kx,ky;
	 ballpanel(){
	    score=0;
	    i=0;j=0;
	    ix=1;iy=1;
	    kx=0;ky=550;
	    setOpaque(true);
	    starttime();
	    
	     addMouseListener(this);	///注册事件处理对象
		 addMouseMotionListener(this);
	
	}	
	public void paintComponent(Graphics g){
		super.paintComponent(g);
	
		drawball(g,i,j,kx);
	}
		public void drawball(Graphics g,int i,int j,int kx){
		g.setColor(Color.red);
		g.fillOval(i,j,20,20);
		g.setColor(Color.blue);
		g.fillRect(kx,550,80,20);
		Font f1 = new Font("TimesRoman",Font.BOLD,60);  
		g.setFont(f1);//设置字体
        g.drawString("当前得分:"+String.valueOf(score),100,250);


   }
	
	public void timerEvent(int id)
{

	if(ifok()>0){
		repaint();
	}
	else
	{
		stoptime();
		
       JOptionPane.showMessageDialog(mybox.thisGame,"这次你输了!还玩不!?","ERRO",JOptionPane.PLAIN_MESSAGE);     
           
	}
	
//System.out.println("timerEvent...");
}


public void starttime()
{
TimerCtl.startTimer(this,1,8*100,true);
}
public void stoptime()
{
TimerCtl.stopTimer(this,1);
}

public int ifok()
{
   if(ix>0)
     { if((i+20)>570)
       ix=-1;
     }
     else
     { if((i-20)<0)
       ix=1;
     }
     if(ix>0)
     {
     	i=i+20;
     	}
     	else
     	{
     		i=i-20;
     	}
     
  if(iy>0)
  
       {
       //	if((j+30>550)&((i+20>kx+80)||(i+20>kx)))
       //return -1;
       if(((j+20)>530)&((i+10>kx+80)||(i-10<kx)))
        return -1;
     	
     	 if(((j+20)>530)&(i+10<kx+80)&(i-10>kx))
     	// if((j+20)>530)
     	{
     		iy=-1;
     		score=score+100;
     	//	bt.setText(String.valueOf(score));
     	}
       
     }
     else
     { if((j-20)<0)
       iy=1;
     }
     if(iy>0)
     {
     	j=j+20;
     	}
     	else
     	{
     		j=j-20;
     	}
     	return 10;
}

	    public void mouseClicked(MouseEvent e)
    {
    	
        }
	
 public void mouseReleased(MouseEvent evt)
    {
    }

    public void mouseEntered(MouseEvent mouseevt)
    {
    }

    public void mouseExited(MouseEvent mouseevent)
    {
    }

    public void mouseMoved(MouseEvent moveevt){
 
    }

    public void mouseDragged(MouseEvent evt){

    }
	public void mousePressed(MouseEvent e) {


 if (e.getModifiers()==MouseEvent.BUTTON1_MASK)
 {
  if(kx>=10)
              kx=kx-10; 	}	
              else
              {  if(kx<690)
              kx=kx+10; 
              }
              repaint();  
              	
//	JOptionPane.showMessageDialog(mybox.thisGame,"这里已经有子了,你不能再下在这里了","ERRO",JOptionPane.PLAIN_MESSAGE); 
	}		
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -