- 论坛徽章:
- 0
|
我用appletviewer可以运行下面的方块游戏,但用IE就出现一块灰色的框子,不知是为什么?是不是不支持JAVA?
- import java.applet.*;
- import java.awt.*;
- import java.awt.event.*;
- public class fangkuai
- extends Applet implements KeyListener,Runnable
- {
- int X[]=new int[4],Y[]=new int[4];
- int x=100,y=0;
- int ran=0,Mode=0,n=500;
- Thread thread1;
- int kg=0;
- int step;
- int flag[][]=new int[20][12];
- int keyValue=1;
- public void init()
- {
- for(int i=0;i<20;i++)
- for(int j=0;j<12;j++)
- flag[i][j]=0;
- addKeyListener(this);
- thread1=new Thread(this);
- setBackground(new Color(134,134,134));
- }
- public void start()
- {
- thread1.start();
- }
- public void run()
- {
- while(true)
- {
- try{ thread1.sleep(n); }
- catch(Exception e){System.out.println("Error");}
- y=y+10;
- kg=0;
- repaint();
- }
- }
- public void update (Graphics g)
- {
- paint(g);
- }
- public void paint(Graphics g)
- {
- for(int i=0;i<4;i++)
- g.clearRect(X[i],Y[i],20,20);
- mode(x,y);
- repaint2(g);
- if(kg==1)
- {
- if(keyValue==KeyEvent.VK_RIGHT)
- {
- mode(x,y);
- if(X[0]<210 && X[1]<210&& X[2]<210 && X[3]<210)
- {x=x+20;}
- }
- else if(keyValue==KeyEvent.VK_LEFT)
- {
- mode(x,y);
- if(X[0]>;10 && X[1]>;10&& X[2]>;10 && X[3]>;10 )
- {x=x-20;}
- }
- else if(keyValue==KeyEvent.VK_DOWN)
- {
- n=30;
- }
- else if(keyValue==KeyEvent.VK_UP)
- {
- for(int i=0;i<4;i++)
- g.clearRect(X[i],Y[i],20,20);
- int ls=Mode;
- /* if (Mode==0)Mode=1;
- else if(Mode==1)Mode=2;
- else if(Mode==2)Mode=3;
- else if(Mode==3)Mode=0;
- */
- Mode=(Mode+1)%4;
- mode(x,y);
- if((X[0]>;230 || X[1]>;230 || X[2]>;230 || X[3]>;230)||(X[0]<0 || X[1]<0 || X[2]<0 || X[3]<0))
- {
- Mode=ls;
- mode(x,y);
- }
- }
- repaint2(g);
- kg=0;
- }
- if(flag[Y[0]/20][X[0]/20]==1 || Y[0]>;379 ||
- flag[Y[1]/20][X[1]/20]==1 || Y[1]>;379 ||
- flag[Y[2]/20][X[2]/20]==1 || Y[2]>;379 ||
- flag[Y[3]/20][X[3]/20]==1 || Y[3]>;379 )
- {
- repaint2(g);
- for(int i=0;i<4;i++)
- {
- flag[Y[i]/20-1][X[i]/20]=1;
- }
- for(int i=0;i<4;i++)
- {
- int sum=0;
- for(int j=0;j<12;j++)
- if(flag[Y[i]/20-1][j]!=0)
- sum++;
- if(sum==12)
- clear(g,X[i],Y[i]);
- }
- x=100;
- y=0;
- ran=(int)(Math.random()*7);
- Mode=(int)(Math.random()*4);
- mode(x,y);
- }
- }
- public void clear(Graphics g,int x,int y)
- {
- int sum=1;
- g.clearRect(0,y,240,20);
- while(sum!=0)
- {
- sum=0;
- for(int i=0;i<12;i++)
- {
- flag[y/20-1][i]=flag[y/20-2][i];
- flag[y/20-2][i]=0;
- if(flag[y/20-1][i]!=0)
- {
- g.clearRect(i*20,y-20,20,20);
- repaint3(g,i*20,y);
- sum++;
- }
- else
- {
- }
- }
- y=y-20;
- }
- }
- public void repaint2(Graphics g) //画4个
- {
- for(int i=0;i<4;i++)
- {g.setColor(Color.red);
- g.fillRect(X[i],Y[i],19,19);
- g.setColor(new Color(178,178,178));
- g.drawLine(X[i],Y[i],X[i]+19,Y[i]);
- g.drawLine(X[i],Y[i],X[i],Y[i]+19);
- g.setColor(new Color(234,234,234));
- g.drawLine(X[i]+1,Y[i]+1,X[i]+18,Y[i]+1);
- g.drawLine(X[i]+1,Y[i]+1,X[i]+1,Y[i]+18);
- g.setColor(new Color(123,123,123));
- g.drawLine(X[i]+18,Y[i]+1,X[i]+18,Y[i]+18);
- g.drawLine(X[i]+1,Y[i]+18,X[i]+18,Y[i]+18);
- g.setColor(new Color(0,0,0));
- g.drawLine(X[i]+19,Y[i],X[i]+19,Y[i]+19);
- g.drawLine(X[i],Y[i]+19,X[i]+19,Y[i]+19);
- }
- }
- public void repaint3(Graphics g,int x,int y) //画1个
- {
- g.setColor(Color.red);
- g.fillRect(x,y,19,19);
- g.setColor(new Color(178,178,178));
- g.drawLine(x,y,x+19,y);
- g.drawLine(x,y,x,y+19);
- g.setColor(new Color(234,234,234));
- g.drawLine(x+1,y+1,x+18,y+1);
- g.drawLine(x+1,y+1,x+1,y+18);
- g.setColor(new Color(123,123,123));
- g.drawLine(x+18,y+1,x+18,y+18);
- g.drawLine(x+1,y+18,x+18,y+18);
- g.setColor(new Color(0,0,0));
- g.drawLine(x+19,y,x+19,y+19);
- g.drawLine(x,y+19,x+19,y+19);
- }
- public void keyPressed(KeyEvent e)
- {
- keyValue=e.getKeyCode();
- kg=1;
- repaint();
- }
- public void keyTyped(KeyEvent e)
- {
- }
- public void keyReleased(KeyEvent e)
- {
- n=300;
- step=10;
- keyValue=1;
- }
- public void mode(int x,int y)
- {
- if(ran==0)
- {
- if(Mode==0||Mode==2)
- {
- X[0]=x; Y[0]=y-20;
- X[1]=x; Y[1]=y;
- X[2]=x; Y[2]=y+20;
- X[3]=x; Y[3]=y+40;
- }
- else if(Mode==1||Mode==3)
- {
- X[0]=x-20; Y[0]=y;
- X[1]=x; Y[1]=y;
- X[2]=x+20; Y[2]=y;
- X[3]=x+40; Y[3]=y;
- }
- }
- else if(ran==1)
- {
- if(Mode==0)
- {
- X[0]=x; Y[0]=y-20;
- X[1]=x; Y[1]=y;
- X[2]=x-20; Y[2]=y;
- X[3]=x+20; Y[3]=y;
- }
- else if(Mode==1)
- {
- X[0]=x-20; Y[0]=y;
- X[1]=x; Y[1]=y;
- X[2]=x; Y[2]=y-20;
- X[3]=x; Y[3]=y+20;
- }
- else if(Mode==2)
- {
- X[0]=x; Y[0]=y+20;
- X[1]=x; Y[1]=y;
- X[2]=x-20; Y[2]=y;
- X[3]=x+20; Y[3]=y;
- }
- else if(Mode==3)
- {
- X[0]=x+20; Y[0]=y;
- X[1]=x; Y[1]=y;
- X[2]=x; Y[2]=y-20;
- X[3]=x; Y[3]=y+20;
- }
- }
- else if(ran==2)
- {
- if(Mode==0)
- {
- X[0]=x-20; Y[0]=y-20;
- X[1]=x; Y[1]=y-20;
- X[2]=x; Y[2]=y;
- X[3]=x; Y[3]=y+20;
- }
- else if(Mode==1)
- {
- X[0]=x-20; Y[0]=y+20;
- X[1]=x-20; Y[1]=y;
- X[2]=x; Y[2]=y;
- X[3]=x+20; Y[3]=y;
- }
- if(Mode==2)
- {
- X[0]=x; Y[0]=y-20;
- X[1]=x; Y[1]=y;
- X[2]=x; Y[2]=y+20;
- X[3]=x+20; Y[3]=y+20;
- }
- if(Mode==3)
- {
- X[0]=x+20; Y[0]=y-20;
- X[1]=x+20; Y[1]=y;
- X[2]=x; Y[2]=y;
- X[3]=x-20; Y[3]=y;
- }
- }
- else if(ran==3)
- {
- if(Mode==0)
- {
- X[0]=x+20; Y[0]=y-20;
- X[1]=x; Y[1]=y-20;
- X[2]=x; Y[2]=y;
- X[3]=x; Y[3]=y+20;
- }
- else if(Mode==1)
- {
- X[0]=x-20; Y[0]=y-20;
- X[1]=x-20; Y[1]=y;
- X[2]=x; Y[2]=y;
- X[3]=x+20; Y[3]=y;
- }
- if(Mode==2)
- {
- X[0]=x-20; Y[0]=y+20;
- X[1]=x; Y[1]=y+20;
- X[2]=x; Y[2]=y;
- X[3]=x; Y[3]=y-20;
- }
- if(Mode==3)
- {
- X[0]=x+20; Y[0]=y+20;
- X[1]=x+20; Y[1]=y;
- X[2]=x; Y[2]=y;
- X[3]=x-20; Y[3]=y;
- }
- }
- else if(ran==4)
- {
- if(Mode==0||Mode==2)
- {
- X[0]=x+20; Y[0]=y-20;
- X[1]=x; Y[1]=y;
- X[2]=x+20; Y[2]=y;
- X[3]=x; Y[3]=y+20;
- }
- else if(Mode==1||Mode==3)
- {
- X[0]=x-20; Y[0]=y-20;
- X[1]=x; Y[1]=y-20;
- X[2]=x; Y[2]=y;
- X[3]=x+20; Y[3]=y;
- }
- }
- else if(ran==5)
- {
- if(Mode==0||Mode==2)
- {
- X[0]=x; Y[0]=y-20;
- X[1]=x; Y[1]=y;
- X[2]=x+20; Y[2]=y;
- X[3]=x+20; Y[3]=y+20;
- }
- else if(Mode==1||Mode==3)
- {
- X[0]=x-20; Y[0]=y;
- X[1]=x; Y[1]=y;
- X[2]=x; Y[2]=y-20;
- X[3]=x+20; Y[3]=y-20;
- }
- }
- else if(ran==6)
- {
- X[0]=x; Y[0]=y;
- X[1]=x+20; Y[1]=y;
- X[2]=x; Y[2]=y+20;
- X[3]=x+20; Y[3]=y+20;
- }
- }
- }
复制代码 |
|