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

📄 red.java

📁 还是一个j2se的内容
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.MouseMotionListener;
import java.util.EventListener;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class red extends JFrame implements MouseMotionListener, ActionListener {
	redPanel rp=new redPanel();	
	red(){
		//布置窗体
		this.setSize(300,400); 	
		Container cn=this.getContentPane();
		cn.setLayout(new BorderLayout());
		//声成显示面板
	
		cn.add(rp,BorderLayout.CENTER);
		//生成按钮面板
		JPanel rb=new JPanel();
		cn.add(rb,BorderLayout.SOUTH);
		rb.setLayout(new FlowLayout());
		JButton b1=new JButton("重来"); 
		rb.add(b1);
		b1.addActionListener(this);
		this.addMouseMotionListener(this);
		Thread t = new Thread(rp) ;
		t.start() ;
	}
  	public static void main (String args[]){
  		red r = new red();	
	  	r.show();
  	}

	public void mouseDragged(MouseEvent e) {
		rp.mx=e.getX();
		rp.my=e.getY();
		rp.map[rp.mx-5][rp.my-23]=1;
	}

	public void mouseMoved(MouseEvent e) {
	
	}

	public void actionPerformed(ActionEvent e) {
		rp.reset();
	}
	
}	
class redPanel extends JPanel implements Runnable{
	public int map[][]=new int[300][400];
	public void reset(){
		for(int i=0;i<300;i++){
			for (int j=0;j<400;j++){ 
				map[i][j] = 0;
			}
		}
	}
	public int mx;
	public int my;
	WB wb=new WB();
	int a =0; 
	int	ran = (int)(Math.random()*4);
	public void paint(Graphics g){
		super.paint(g);	
		g.setColor(Color.RED) ;
		for(int i=0;i<300;i++){
			for (int j=0;j<400;j++){	
				if( map[i][j]==1) 
					g.drawLine(i,j,i,j);
				//	System.out.print("aaaaaaaaaaa");
			}
		}
		if (a%4==ran){	
			ran = (int)(Math.random()*4);
			}
		g.setColor(Color.BLUE) ;
		g.fillOval(wb.x,wb.y,wb.r,wb.r);
		int panduan;
		if (ran ==0){//向上走	
			int pan=0;
			for(int i=0;i<10;i++){
				pan=pan+map[wb.x+i][wb.y-1];
				}
			if(pan==0){
				wb.pa(ran);
			}
		}
		if (ran==1){//向下走
			int pan=0;
			for(int i=0;i<10;i++){
				pan=pan+map[wb.x+i][wb.y+21];
			}
			if(pan==0){
				wb.pa(ran);
			}
		}
		if (ran==2){//左
			int pan=0;
			for(int i=0;i<10;i++){
				pan=pan+map[wb.x-1][wb.y+i];
			}
			if(pan==0){
				wb.pa(ran);
			}
		}
	
		if (ran==3){//右
			int pan=0;
			for(int i=0;i<10;i++){
				pan=pan+map[wb.x+21][wb.y+i];
			}
			if(pan==0){
				wb.pa(ran);
			}
		}
		a++;
	}
	
	public void run(){
		while(true){
			try{
				Thread.sleep(10) ;
			}catch(Exception e){}
			
			this.repaint() ;	
		}
	}	
}
class WB {
	public int x = 150;
	public int y = 200;
	public int r = 20;
	public void pa (int ran){
		if (x>=0&&x<=298&&y>=0&&y<=373){
			if (ran ==0 ){//向上走	
				this.y=this.y-1;
			 	}
			if (ran==1){//向下走
				this.y=this.y+1;
				}
			if (ran==2){//左
				this.x=this.x-1;
				}
			if (ran==3){//右
				this.x=this.x+1;
				}
		}
	}		
}

⌨️ 快捷键说明

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