[Java] 让坦克听从我们的指挥 →→→→→进入此内容的聊天室

来自 , 2019-11-11, 写在 Java, 查看 132 次.
URL http://www.code666.cn/view/fcdf25d6
  1. import java.awt.*;
  2. import java.awt.event.*;
  3.  
  4. public class TankClient extends Frame {
  5.        
  6.         public static final int GAME_WIDTH=800;
  7.         public static final int GAME_HEIGHT=600;
  8.        
  9.         int x = 50, y = 50;
  10.        
  11.         Image offScreenImage = null;
  12.        
  13.         public void paint(Graphics g) {
  14.                 Color c = g.getColor();
  15.                 g.setColor(Color.RED);
  16.                 g.fillOval(x, y, 30, 30);
  17.                 g.setColor(c);
  18.                
  19.         }
  20.        
  21.         public void update(Graphics g) {
  22.                 if(offScreenImage == null) {
  23.                         offScreenImage = this.createImage(GAME_WIDTH, GAME_WIDTH);
  24.                 }
  25.                 Graphics gOffScreen = offScreenImage.getGraphics();
  26.                 Color c = gOffScreen.getColor();
  27.                 gOffScreen.setColor(Color.GREEN);
  28.                 gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_WIDTH);
  29.                 gOffScreen.setColor(c);
  30.                 paint(gOffScreen);
  31.                 g.drawImage(offScreenImage, 0, 0, null);
  32.         }
  33.  
  34.         public void lauchFrame() {
  35.                 this.setLocation(400, 300);
  36.                 this.setSize(GAME_WIDTH, GAME_WIDTH);
  37.                 this.setTitle("TankWar");
  38.                 this.addWindowListener(new WindowAdapter() {
  39.                         public void windowClosing(WindowEvent e) {
  40.                                 System.exit(0);
  41.                         }
  42.                 });
  43.                 this.setResizable(false);
  44.                 this.setBackground(Color.GREEN);
  45.                
  46.                 this.addKeyListener(new KeyMonitor());
  47.                
  48.                 setVisible(true);              
  49.                 new Thread(new PaintThread()).start();
  50.         }
  51.  
  52.         public static void main(String[] args) {
  53.                 TankClient tc = new TankClient();
  54.                 tc.lauchFrame();
  55.         }
  56.        
  57.         private class PaintThread implements Runnable {
  58.  
  59.                 public void run() {
  60.                         while(true) {
  61.                                 repaint();
  62.                                 try {
  63.                                         Thread.sleep(50);
  64.                                 } catch (InterruptedException e) {
  65.                                         e.printStackTrace();
  66.                                 }
  67.                         }
  68.                 }
  69.         }
  70.  
  71.         private class KeyMonitor  extends KeyAdapter
  72.         {
  73.  
  74.        
  75.                 public void keyPressed(KeyEvent e) {
  76.  
  77.                         System.out.println("ok");
  78.                        
  79.                         int key=e.getKeyCode();
  80. //                      if(key==KeyEvent.VK_RIGHT)
  81. //                      {
  82. //                              x +=5;
  83. //                      }
  84.                        
  85.                         switch(key)
  86.                         {
  87.                         case KeyEvent.VK_LEFT:
  88.                                 x-=5;
  89.                                 break;
  90.                         case KeyEvent.VK_UP:
  91.                                 y-=5;
  92.                                 break;
  93.                         case KeyEvent.VK_RIGHT:
  94.                                 x+=5;
  95.                                 break;
  96.                         case KeyEvent.VK_DOWN:
  97.                             y+=5;
  98.                             break;
  99.                         }
  100.                 }
  101.                
  102.         }
  103.  
  104. }
  105.  

回复 "让坦克听从我们的指挥"

这儿你可以回复上面这条便签

captcha