Advertisement
Guest User

Untitled

a guest
May 19th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.42 KB | None | 0 0
  1. package tetris;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.*;
  5.  
  6. import javax.swing.*;
  7.  
  8. public class TetrisPanel extends JPanel {
  9.     private final int WIDTH = 1000, HEIGHT = 800, JUMP = 10;
  10.     private ImageIcon  red, green, winGreen, winRed, currentRed,
  11.             currentGreen, tankUp, tankDown, tankLeft, tankRight, redUp,
  12.             redDown, redLeft, redRight;
  13.     private int x, y, xx, yy, xxx, yyy, redWin, greenWin, range,
  14.             startingValuesRedXY, startingValuesGreenX, startingValuesGreenY;
  15.     private String direction;
  16.  
  17.     public TetrisPanel() {
  18.         addKeyListener(new DirectionListener());
  19.  
  20.         startingValuesRedXY = 20;
  21.         startingValuesGreenX = 930;
  22.         startingValuesGreenY = 730;
  23.  
  24.         x = startingValuesRedXY;
  25.         y = startingValuesRedXY;
  26.  
  27.         xx = startingValuesGreenX;
  28.         yy = startingValuesGreenY;
  29.  
  30.         redWin = 0;
  31.         greenWin = 0;
  32.         String winReds = Integer.toString(redWin);
  33.         String winGreens = Integer.toString(greenWin);
  34.  
  35.         System.out.print(redWin + winReds);
  36.  
  37.         range = 60;
  38.  
  39.         red = new ImageIcon("square.gif");
  40.         green = new ImageIcon("green.gif");
  41.         winGreen = new ImageIcon("wingreen.gif");
  42.         winRed = new ImageIcon("winred.gif");
  43.         tankUp = new ImageIcon("tankUp.gif");
  44.         tankDown = new ImageIcon("tankDown.gif");
  45.         tankLeft = new ImageIcon("tankLeft.gif");
  46.         tankRight = new ImageIcon("tankRight.gif");
  47.         redUp = new ImageIcon("redUp.gif");
  48.         redDown = new ImageIcon("redDown.gif");
  49.         redLeft = new ImageIcon("redLeft.gif");
  50.         redRight = new ImageIcon("redRight.gif");
  51.        
  52.         currentGreen = tankUp;
  53.         currentRed = redDown;
  54.  
  55.         setBackground(Color.WHITE);
  56.         setPreferredSize(new Dimension(WIDTH, HEIGHT));
  57.         setFocusable(true);
  58.  
  59.         Timer time = new Timer(7, taskPerformer);
  60.         time.start();
  61.  
  62.     }
  63.  
  64.     ActionListener taskPerformer = new ActionListener() {
  65.         public void actionPerformed(ActionEvent evt) {
  66.             if (currentRed != winRed) {
  67.                 if (xx > x) {
  68.  
  69.                     x += 1;
  70.                     currentRed = redRight;
  71.                 }
  72.  
  73.                 else {
  74.                     x -= 1;
  75.                     currentRed = redLeft;
  76.                 }
  77.  
  78.                 if (yy > y) {
  79.                     y += 1;
  80.                     currentRed = redDown;
  81.                 }
  82.  
  83.                 else {
  84.                     y -= 1;
  85.                     currentRed = redUp;
  86.                 }
  87.  
  88.             }
  89.  
  90.             repaint();
  91.         }
  92.  
  93.     };
  94.  
  95.     @Override public void paintComponent(Graphics page) {
  96.  
  97.         super.paintComponent(page);
  98.  
  99.         currentRed.paintIcon(this, page, x, y);
  100.         currentGreen.paintIcon(this, page, xx, yy);
  101.        
  102.  
  103.     }
  104.  
  105.     private class DirectionListener implements KeyListener {
  106.  
  107.         public void keyPressed(KeyEvent event) {
  108.             switch (event.getKeyCode()) {
  109.             case KeyEvent.VK_UP:
  110.                 if (y >= 10)
  111.                     y -= JUMP;
  112.                 if (currentRed != winRed)
  113.                     currentRed = redUp;
  114.                 if ((xx - range) < x && x < (xx + range) && (yy - range) < y
  115.                         && y < (yy + range)) {
  116.                     currentRed = winRed;
  117.                     redWin++;
  118.  
  119.                     x = 300;
  120.                     y = 200;
  121.                 }
  122.                 break;
  123.             case KeyEvent.VK_DOWN:
  124.                 if (y <= 740)
  125.                     y += JUMP;
  126.                 if (currentRed != winRed)
  127.                     currentRed = redDown;
  128.                 if ((xx - range) < x && x < (xx + range) && (yy - range) < y
  129.                         && y < (yy + range)) {
  130.                     currentRed = winRed;
  131.                     redWin++;
  132.  
  133.                     x = 300;
  134.                     y = 200;
  135.                 }
  136.                 break;
  137.             case KeyEvent.VK_LEFT:
  138.                 if (x >= 10)
  139.                     x -= JUMP;
  140.                 if (currentRed != winRed)
  141.                     currentRed = redLeft;
  142.                 if ((xx - range) < x && x < (xx + range) && (yy - range) < y
  143.                         && y < (yy + range)) {
  144.                     currentRed = winRed;
  145.                     redWin++;
  146.  
  147.                     x = 300;
  148.                     y = 200;
  149.                 }
  150.                 break;
  151.             case KeyEvent.VK_RIGHT:
  152.                 if (x <= 940)
  153.                     x += JUMP;
  154.                 if (currentRed != winRed)
  155.                     currentRed = redRight;
  156.                 if ((xx - range) < x && x < (xx + range) && (yy - range) < y
  157.                         && y < (yy + range)) {
  158.                     currentRed = winRed;
  159.                     redWin++;
  160.  
  161.                     x = 300;
  162.                     y = 200;
  163.                 }
  164.                 break;
  165.  
  166.             case KeyEvent.VK_W:
  167.                 if (yy >= 10)
  168.                     yy -= JUMP;
  169.                 currentGreen = tankUp;
  170.                 if ((xx - 65) < x && x < (xx + 65) && (yy - 65) < y
  171.                         && y < (yy + 65)) {
  172.                     currentRed = winRed;
  173.                     redWin++;
  174.  
  175.                     x = 300;
  176.                     y = 200;
  177.                 }
  178.                 break;
  179.  
  180.             case KeyEvent.VK_S:
  181.                 if (yy <= 740)
  182.                     yy += JUMP;
  183.                 currentGreen = tankDown;
  184.                 if ((xx - 65) < x && x < (xx + 65) && (yy - 65) < y
  185.                         && y < (yy + 65)) {
  186.                     currentRed = winRed;
  187.                     redWin++;
  188.  
  189.                     x = 300;
  190.                     y = 200;
  191.                 }
  192.                 break;
  193.             case KeyEvent.VK_A:
  194.                 if (xx >= 10)
  195.                     xx -= JUMP;
  196.                 currentGreen = tankLeft;
  197.                 if ((xx - 65) < x && x < (xx + 65) && (yy - 65) < y
  198.                         && y < (yy + 65)) {
  199.                     currentRed = winRed;
  200.                     redWin++;
  201.  
  202.                     x = 300;
  203.                     y = 200;
  204.                 }
  205.                 break;
  206.             case KeyEvent.VK_D:
  207.                 if (xx <= 940)
  208.                     xx += JUMP;
  209.                 currentGreen = tankRight;
  210.                 if ((xx - range) < x && x < (xx + range) && (yy - range) < y
  211.                         && y < (yy + range)) {
  212.                     currentRed = winRed;
  213.                     redWin++;
  214.  
  215.                     x = 300;
  216.                     y = 200;
  217.                 }
  218.                 break;
  219.  
  220.             case KeyEvent.VK_SPACE:
  221.                 currentGreen = tankUp;
  222.                 currentRed = redDown;
  223.                 x = startingValuesRedXY;
  224.                 y = startingValuesRedXY;
  225.  
  226.                 xx = startingValuesGreenX;
  227.                 yy = startingValuesGreenY;
  228.  
  229.                 break;
  230.             case KeyEvent.VK_E:
  231.                 if (currentGreen == tankUp)
  232.                     direction = "up";
  233.                 else if (currentGreen == tankDown)
  234.                     direction = "down";
  235.                 else if (currentGreen == tankRight)
  236.                     direction = "right";
  237.                 else if (currentGreen == tankLeft)
  238.                     direction = "left";
  239.                 new Bullet(direction, xx, yy);
  240.  
  241.                
  242.                 break;
  243.             }
  244.             repaint();
  245.         }
  246.  
  247.         public void keyReleased(KeyEvent event) {
  248.  
  249.         }
  250.  
  251.         public void keyTyped(KeyEvent event) {
  252.  
  253.         }
  254.  
  255.     }
  256.  
  257. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement