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

📄 move.java

📁 不错的教程 适合中高级人员的使用
💻 JAVA
字号:
import java.awt.event.*;import java.applet.*;
import java.awt.*;
public class Move extends Applet implements KeyListener,ActionListener
{  Button b_go=new Button("go"),
   b_replay=new Button("replay");
   Rectangle rect1,rect2,rect3;
   int b_x=0,b_y=0;
   public void init()
   {  b_go.addKeyListener(this);
      b_replay.addActionListener(this);
      setLayout(null);
      //代表迷宫的矩形:
      rect1=new Rectangle(20,40,200,40);
      rect2=new Rectangle(200,40,24,240);
      rect3=new Rectangle(200,220,100,40);
      b_go.setBackground(Color.red);      //代表走迷宫者的按扭。 
      add(b_go);b_go.setBounds(22,45,20,20);
      b_x=b_go.getBounds().x;b_y=b_go.getBounds().y;
      b_go.requestFocus() ;
      add(b_replay);b_replay.setBounds(2,2,45,16);//点击重新开始的按扭。   
   }
   public void paint(Graphics g)
   {  //画出迷宫:
      g.setColor(Color.green);
      g.fillRect(20,40,200,40);
      g.setColor(Color.yellow);
      g.fillRect(200,40,40,240);
      g.setColor(Color.cyan);
      g.fillRect(200,220,100,40);
      g.drawString("出口",310,220);
      g.setColor(Color.black);
      g.drawString("点击红色按扭,然后用键盘上的方向键移动按扭",100,20);
   }
   public void keyPressed(KeyEvent e)
   {  //按键盘上的上下、左右键在迷宫中行走:
      if((e.getKeyCode()==KeyEvent.VK_UP))
        { //创建一个和按扭:b_go 同样大小的矩形:
          Rectangle rect=new Rectangle(b_x,b_y,20,20);
         //要求必须在迷宫内行走:
           if(rect.intersects(rect1)||rect.intersects(rect2)||
rect.intersects(rect3))
             {  b_y=b_y-2;b_go.setLocation(b_x,b_y);
             }
         }
       else if(e.getKeyCode()==KeyEvent.VK_DOWN)
         {  Rectangle rect=new Rectangle(b_x,b_y,20,20);
            if(rect.intersects(rect1)||rect.intersects(rect2)||
rect.intersects(rect3))
             { b_y=b_y+2;b_go.setLocation(b_x,b_y);
             }
         }
       else if(e.getKeyCode()==KeyEvent.VK_LEFT)
         {  Rectangle rect=new Rectangle(b_x,b_y,20,20);
            if(rect.intersects(rect1)||rect.intersects(rect2)
||rect.intersects(rect3))
             {  b_x=b_x-2;b_go.setLocation(b_x,b_y);
             } 
          } 
      else if(e.getKeyCode()==KeyEvent.VK_RIGHT)
         {  Rectangle rect=new Rectangle(b_x,b_y,20,20);
           if(rect.intersects(rect1)||rect.intersects(rect2)||
rect.intersects(rect3))
              { b_x=b_x+2;b_go.setLocation(b_x,b_y);
              }
      }
   }
   public void keyReleased(KeyEvent e){}
   public void keyTyped(KeyEvent e){}
   public void actionPerformed(ActionEvent e)
   {  b_go.setBounds(22,45,20,20); 
  b_x=b_go.getBounds().x;b_y=b_go.getBounds().y;
  b_go.requestFocus() ;
 } 
}

⌨️ 快捷键说明

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