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

📄 myboxpanel.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 myboxPanel extends JPanel implements TimerClient,KeyListener, MouseListener,MouseMotionListener{
	
	    private String winner;
	    private int i,j,score;
	    int ix,iy;
	     private int kx,ky;
	   // private JButton bt=new JButton("ddd" ); 
	     myboxPanel(){
	     //   this.add(bt);
	        score=0;
	    i=0;j=0;
	     ix=1;iy=1;
	    kx=0;ky=550;
	    addKeyListener(this);
	     
		 setOpaque(true);
		  addMouseListener(this);	
		 addMouseMotionListener(this);
		
		 //cHead=a;
		 starttime();
	}
	
	//////////////////////////////////////////////////
public void timerEvent(int id)
{

	if(ifok()>0){
		repaint();
	}
	else
	{
		stoptime();
		
       JOptionPane.showMessageDialog(mybox.thisGame,"这次你输了!还玩不!?","ERRO",JOptionPane.PLAIN_MESSAGE);     
           
	}
	
//System.out.println("timerEvent...");
}
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 starttime()
{
TimerCtl.startTimer(this,1,1*100,true);
}
public void stoptime()
{
TimerCtl.stopTimer(this,1);
}

	///////////////////////////////////////
	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 restart(){
	 i=0;j=0;
	     ix=1;iy=1;
	    kx=0;ky=550;
	starttime();
	
	}
	
public void paintComponent(Graphics g){
		super.paintComponent(g);
	
		drawball(g,i,j,kx);
	}
	

   public void keyPressed(KeyEvent e)
   {
   	
            JOptionPane.showMessageDialog(mybox.thisGame,"这里已经有子了,你不能再下在这里了","ERRO",JOptionPane.PLAIN_MESSAGE); 
   }
   
    public void keyReleased(KeyEvent e)
    {
    	
    }
       public void keyTyped(KeyEvent e)
     {
            JOptionPane.showMessageDialog(mybox.thisGame,"这里已经有子了,你不能再下在这里了","ERRO",JOptionPane.PLAIN_MESSAGE); 
            kx=kx+10; 
          if(e.getKeyChar( )=='a')  
           
          {  
          if(kx>=10)
              kx=kx-10; 
          } 
           if(e.getKeyChar( )=='s')  
          
          {  
          if(kx<690)
              kx=kx+10; 
          }
          	repaint();     
     }
	   
	   
	    public void mouseClicked(MouseEvent e)
    {
    	
    	//restart();
	   //  System.out.println("here");
        //int x = evt.getX() / 20;
        //int y = evt.getY() / 20;
    }

    public void mouseReleased(MouseEvent evt)
    {
    }

    public void mouseEntered(MouseEvent mouseevt)
    {
    }

    public void mouseExited(MouseEvent mouseevent)
    {
    }

    public void mouseMoved(MouseEvent moveevt){
   // 	int x=(moveevt.getX()-10)/20;
  //  	int y=(moveevt.gety()-10)/20;
   // 	repaint();
    }

    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 + -