Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.47 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import java.awt.Graphics;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.awt.event.FocusEvent;
  7. import java.awt.event.FocusListener;
  8. import java.awt.event.KeyEvent;
  9. import java.awt.event.KeyListener;
  10. import java.awt.event.MouseAdapter;
  11. import java.awt.event.MouseEvent;
  12.  
  13. import javax.swing.JFrame;
  14. import javax.swing.JPanel;
  15. import javax.swing.Timer;
  16.  
  17.  
  18. public class GamePanel {
  19.     JFrame window;
  20.     Player player;
  21.    
  22.     Color boardColor = new Color(100,200,255);
  23.     Color playerColor = new Color(100,100,100);
  24.    
  25.     boolean upPressed = false;
  26.     boolean downPressed = false;
  27.    
  28.     final int timerDelay = 20;
  29.    
  30.     public static void main(String[] args){
  31.         GamePanel gameP = new GamePanel();
  32.     }
  33.    
  34.     public GamePanel(){
  35.         player = new Player(); 
  36.        
  37.         window = new JFrame("Simple Game");
  38.         window.setSize(800, 400);
  39.         window.setLocation(300, 150);
  40.         window.setLayout(new BorderLayout());
  41.         window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  42.        
  43.         GameField game = new GameField();
  44.         game.setBackground(boardColor);
  45.         window.add(game, BorderLayout.CENTER);
  46.         window.setVisible(true);
  47.     }
  48.    
  49.     private class Player{
  50.         final int sizeX = 10;
  51.         final int sizeY = 30;
  52.         final int gunSizeX = sizeX/2;
  53.         final int gunSizeY = sizeY/4;
  54.         final int playerMoveSpeed = 10;
  55.         int playerPositionX = 5;
  56.         int playerPositionY = 200;
  57.         int gunPositionX = 5 + sizeX;
  58.         int gunPositionY = playerPositionY - 2;
  59.         int bulletSpawnPositionX = gunPositionX + 10;
  60.        
  61.         public void update(){
  62.             gunPositionX = 5 + sizeX;
  63.             gunPositionY = playerPositionY - 2;
  64.             bulletSpawnPositionX = gunPositionX + 10;
  65.            
  66.             if (upPressed){
  67.                 playerPositionY -= playerMoveSpeed;
  68.             }
  69.             else if (downPressed)
  70.                 playerPositionY += playerMoveSpeed;
  71.             if (playerPositionY < (0 - (sizeY/2)))
  72.                 playerPositionY = (0 - (sizeY/2));
  73.             else if (playerPositionY > window.getHeight() + (sizeY/2))
  74.                 playerPositionY = window.getHeight() + (sizeY/2);
  75.         }
  76.        
  77.         public void draw(Graphics g){
  78.             g.setColor(playerColor);
  79.             g.fillRoundRect(playerPositionX, playerPositionY - (sizeY/2), sizeX, sizeY, 20, 20);
  80.             g.fillRect(gunPositionX, gunPositionY, gunSizeX, gunSizeY);
  81.         }
  82.     }
  83.    
  84.     private class GameField extends JPanel{
  85.         ActionListener timerAction;
  86.         Timer animationTimer;
  87.        
  88.         public GameField(){
  89.            
  90.             addFocusListener(new FocusListener(){
  91.                 public void focusGained(FocusEvent e){
  92.                     animationTimer.start();
  93.                 }
  94.                 public void focusLost(FocusEvent e) {
  95.                     animationTimer.stop();
  96.                 }
  97.             });
  98.            
  99.             addKeyListener(new KeyListener(){
  100.                 public void keyPressed(KeyEvent e) {
  101.                     if (e.getKeyCode() == KeyEvent.VK_UP)
  102.                         upPressed = true;
  103.                     if (e.getKeyCode() == KeyEvent.VK_DOWN)
  104.                         downPressed = true;
  105.                 }
  106.                 public void keyReleased(KeyEvent e) {
  107.                     if (e.getKeyCode() == KeyEvent.VK_UP)
  108.                         upPressed = false;
  109.                     if (e.getKeyCode() == KeyEvent.VK_DOWN)
  110.                         downPressed = false;
  111.                 }
  112.                 public void keyTyped(KeyEvent e) {}
  113.             });
  114.            
  115.             timerAction = new ActionListener(){
  116.                 public void actionPerformed(ActionEvent e) {
  117.                     player.update();
  118.                     repaint();
  119.                 }
  120.             };
  121.            
  122.             animationTimer = new Timer(timerDelay, timerAction);
  123.            
  124.             addMouseListener(new MouseAdapter(){
  125.                 public void mouseClicked(MouseEvent e){
  126.                     requestFocus();
  127.                 }
  128.             });
  129.         }
  130.  
  131.         public void paintComponent(Graphics g){
  132.             super.paintComponent(g);
  133.             player.draw(g);
  134.         }
  135.     }
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement