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

📄 mypanel.java

📁 这个是一个applet的小程序
💻 JAVA
字号:
import java.awt.event.*;
import java.awt.*;
import java.util.Date;
public class MyPanel extends  Panel 
{public MyPanel(Color bgcolor)
 {this.setBackground(bgcolor);
 for(int k=0;k<100;k++)
 {xiaoshi[k]=true;}
  p1.add(new MenuItem("增加字母数目"));
  p1.add(new MenuItem("加快下落速度"));
  p1.add(new MenuItem("加快变化速度"));
  p1.add(new MenuItem("加快时间间隔"));
  p1.addSeparator();
  
  p1.add(new MenuItem("减少字母数目"));
  p1.add(new MenuItem("减少下落速度"));
   p1.add(new MenuItem("降低变化速度"));
    p1.add(new MenuItem("减缓时间间隔"));
	xuanze(6);
	for(int i=0;i<6;i++)
	{fenshu+=zeng[i];}
  this.add(p1);
 
  
  
  
//xuanze(27);
 
 }

 int mey=2;
  int ss;
  int es;
  int start=0;
  int hour=0;
  int minute=0;
  int fenshu=0;
 Date d1;
 Date d2;
 int shot=0;
 public String changestr(double a)
 {String str="0.0000";
	 try{ str=""+String.valueOf(a);
	  str=str.substring(0,5);}
  catch(Exception exc){}
 return str;}
PopupMenu p1=new PopupMenu();

 boolean reda,greena,bluea;

 int w;int h;
 int xuhao[]=new int[26];
 Image backimg;
 Graphics backg;
 int num=6;
 int score=0;
 int total=0;
 char zifu[]=new char[26];
 boolean up=true;
 
 int jiji=0;
 public void xuanze(int num)
 {jiji=0;
	 total+=num;for(int k=0;k<num;k++)
 {xiaoshi[k]=true;}
	 if(num>=26){xuhao[25]=25;num=25;}
  else if(num<=1){num=1;}int number1=0;
						 int number=0;
  for(int i1=0;i1<num;i1++){
	  if(num<=24){
		   number1=26;}
	  else{ number1=25;  }
	  number=(int)(Math.floor((number1*Math.random())));

 while(selected(number,i1))
 { number=(int)(Math.floor((number1*Math.random()))); 
 //System.out.println(number+"");
 }
     xuhao[i1]=number; //System.out.println(""+xuhao[i1]+" "+i1+"");
  }
 

 
 }

 public boolean selected(int number,int ii)
 {for(int j=0;j<ii;j++)
  {if(number==xuhao[j])
   return true;}
 return false;}
 int i=0;
 int delay=100;
 int add=3;int dd=0;
public void update(Graphics g)
{i++;
 
w=size().width;
h=size().height;
if(i<=1){d1=new Date();

ss=d1.getSeconds();}
if((i%4==0))
{
	d2=new Date();

es=d2.getSeconds();
if(es<ss){es+=60;}

start=es-ss;

if(start<=60&&start>=59){if(xiaoshi[95])
	minute++;
						 xiaoshi[95]=false;
			  }
if(minute==60){
	if(xiaoshi[96]){
		minute=0;hour++;}
	xiaoshi[96]=false;
			  }
}



 if(red>=254){reda=false;}
 if(red<=1){reda=true;}
 if(green>=254){greena=false;}
 if(green<=1){greena=true;}
 if(blue>=252){bluea=false;}
 if(blue<=3){bluea=true;}
 if(i%5==0){
 if(reda){red++;}
				   else{red--;}
 if(greena){green+=2;}else{green-=2;}
 if(bluea){blue+=3;}else{blue-=3;}}
 
 backg.setColor(new Color(red,green,blue));
 backg.fillRect(0,0,w,h);
 backg.setFont(null);
backg.setColor(Color.white);
String defenlv=changestr(((double)(score)/(double)(fenshu)*100));
int sudu=shot*60/(hour*3600+minute*60+start+1);
String mingzhonglv=changestr(((double)shot/(double)(total)*100));
backg.drawString("字母数:"+num+" 用时"+hour+":"+minute+":"+start+" 发出:"+total+" 命中:"+shot+" 得分:"+score+" 应得:"+fenshu+" 速度:"+sudu+"键/分"+" 命中率:"+mingzhonglv+"%"+" 得分率"+defenlv+"%",5,20);
 if(i%delay==0){xuanze(num);
				xiaoshi[95]=true;
				xiaoshi[96]=true;
	 px=new int[num];
	 zeng=new int[num];
				 py=new int[num];
				 mey=mey=(int)(num*Math.random())-1;
				 for(int k=0;k<num;k++){
		 px[k]=(int)((w-20)*Math.random());
		 if(k<mey){py[k]=(int)((20)*Math.random())+size().height-20;}
		 else{{py[k]=(int)((20)*Math.random());}}
				 zeng[k]=(int)(juli*Math.random())+1;fenshu+=zeng[k];
				 }}
	paint(g);}
int zeng[]={3,5,3,7,4,2};
int juli=6;
int red=133;int green=157;int blue=244;
public void drawchar(Graphics g,int x,int y,char key)
{g.setColor(Color.orange);
	g.fillOval(x,y,20,20);
	g.setColor(Color.blue);
g.setFont(new Font("TimesRoma",Font.BOLD,24));
g.drawString(""+(char)key,x+4,y+16);
}
int x=-1;
 public void paint(Graphics g)
 {
	 if(backimg==null)
  { w=size().width;h=size().height;
 backimg=createImage(w,h);
 backg=backimg.getGraphics();
 if(i<=1)
 {}
  for(int i=0;i<zifu.length;i++)
  {zifu[i]=(char)(i+97);
 }
  
  }
   
	for(int k=0;k<num;k++)
	{//if(px[k]==null){px[k]=0;py[k]=0;}
		
		if(xiaoshi[k]){ if(k<mey){drawchar(backg,px[k],py[k]-=zeng[k],zifu[xuhao[k]]);}
						else{
							drawchar(backg,px[k],py[k]+=zeng[k],zifu[xuhao[k]]);}
						if(this.i%1000==0){drawchar(backg,px[k]+zeng[k],py[k]+=zeng[k],zifu[xuhao[k]]);}
		}
	 
	 }
 for(int k=0;k<num;k++)
 {
	 if(xiaoshi[k]){
	  if(x==xuhao[k]){xiaoshi[k]=false;shot++;score+=zeng[k];jiji++;
								 backg.setColor(Color.orange);
								 backg.fill3DRect(px[k]+6,py[k]+5,6,size().height-py[k],true);
								backg.setColor(Color.magenta);
								dddd=px[k]-15;
								 backg.fill3DRect(px[k]-15,size().height-10,50,10,true);
								 if(jiji==num){
									 backg.setColor(new Color(red,green,blue));
									 try{
										 
										 xuanze(num);
										 for(int i=0;i<num;i++)
											 fenshu+=zeng[i];
									 }
									 catch(Exception ex){}
									}}
		}}
 backg.setColor(new Color(255-red,255-green,255-blue));
 backg.fill3DRect(dddd,size().height-10,50,10,true);
 g.drawImage(backimg,0,0,w,h,this);
 if(up)
 {repaint(time);}}
 int time=30;
 boolean xiaoshi[]=new boolean[100];
 
 int px[]={80,255,170,240,290,350};int py[]={200,340,50,30,60,70};
	public boolean keyDown(Event e, int key)
	{if(up==false){up=true;repaint();}
		x=key-97;
		
		return super.keyDown(e, key);
	}
	public boolean keyUp(Event e, int key)
	{x=-1;
		
		return super.keyDown(e, key);
	}

	public boolean mouseDown(Event e, int p2, int p3)
	{
		if(e.metaDown())		{up=false;		p1.show(this,p2,p3);}		else up=true;
		return super.mouseDown(e, p2, p3);
	}
int dddd=200;
	public boolean action(Event e, Object what)
	{this.setCursor(new Cursor(Cursor.WAIT_CURSOR));
		if("增加字母数目".equals(what)){num++;
								  if(num>=11){
									  delay=(size().height-50)/(juli/2);}
								  if(num>=26)num=26;xuanze(num);
	 px=new int[num];
	 zeng=new int[num];
				 py=new int[num];
				 mey=(int)(num*Math.random())-1;
				  mey=(int)(num*Math.random())-1;
				 for(int k=0;k<num;k++){
		 px[k]=(int)((w-20)*Math.random());
		 if(k<mey){py[k]=(int)((20)*Math.random())+size().height-20;}
		 else{py[k]=(int)((20)*Math.random());}
				 zeng[k]=(int)(juli*Math.random())+1;fenshu+=zeng[k];}}
	 if("减少字母数目".equals(what)){num--;
							   if(num>=11){delay=(size().height-50)/(juli/2);}
							   if(num<=1)num=1;xuanze(num);
	 px=new int[num];
	 zeng=new int[num];
				 py=new int[num]; mey=(int)(num*Math.random())-1;
				 for(int k=0;k<num;k++){
		 px[k]=(int)((w-20)*Math.random());
		 if(k<mey){py[k]=(int)((20)*Math.random())+size().width-20;}
		 else{py[k]=(int)((20)*Math.random());}
				 zeng[k]=(int)(juli*Math.random())+1;fenshu+=zeng[k];}}
	 if("加快下落速度".equals(what)){juli+=3;}
	 if("加快变化速度".equals(what)){delay-=5;if(delay<=10){delay=10;}}
	if("加快时间间隔".equals(what)){time+=3;}
	if("减少下落速度".equals(what)){juli-=3;if(juli<=3){juli=3;}}
	 if("降低变化速度".equals(what)){delay+=5;}
	 if("减缓时间间隔".equals(what)){time-=3;if(time<=4){time=4;}}
	 this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));	 up=true;
	 	
		return super.action(e, what);
	}
	 

	
}

⌨️ 快捷键说明

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