Guest User

Untitled

a guest
Feb 19th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.36 KB | None | 0 0
  1. package javaapplication11;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. import java.awt.HeadlessException;
  7. import java.awt.Shape;
  8. import java.awt.event.KeyAdapter;
  9. import java.awt.event.KeyEvent;
  10. import java.awt.geom.AffineTransform;
  11. import java.awt.geom.Point2D;
  12. import java.awt.geom.Rectangle2D;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. import javax.swing.JFrame;
  16. import javax.swing.JPanel;
  17.  
  18. /**
  19.  *
  20.  * @author Jérémie Malfroid
  21.  */
  22. public class JavaApplication11 extends JFrame
  23. {
  24.  
  25.     private boolean upPressed = false;
  26.     private boolean downPressed = false;
  27.     private boolean leftPressed = false;
  28.     private boolean rightPressed = false;
  29.     private boolean spacePressed = false;
  30.     private boolean gameRunning = true;
  31.     private boolean jumping = true;
  32.  
  33.     /**
  34.      * @param args the command line arguments
  35.      */
  36.     public static void main(String[] args)
  37.     {
  38.         new JavaApplication11().setVisible(true);
  39.     }
  40.     CenterPanel pan;
  41.  
  42.     public JavaApplication11() throws HeadlessException
  43.     {
  44.         setSize(640, 480);
  45.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  46.         pan = new CenterPanel();
  47.         add(pan);
  48.        
  49.         pan.addKeyListener(new MyKeyListener());
  50.        
  51.         for (int i = 0; i < 100; i++)
  52.             pan.moveRight();
  53.  
  54.         Thread t = new Thread(new Runnable()
  55.         {
  56.  
  57.             @Override
  58.             public void run()
  59.             {
  60.                 while (gameRunning) {
  61.  
  62. //                    System.out.println("tête de bite");
  63.                     if (rightPressed == true)
  64.                         pan.moveRight();
  65.                     if (leftPressed == true)
  66.                         pan.moveLeft();
  67.  
  68.                     if (upPressed == true)
  69.                         pan.moveUp();
  70.                     if (downPressed == true)
  71.                         pan.moveDown();
  72.  
  73.                     pan.repaint();
  74.  
  75.                     try {
  76.                         Thread.sleep(5);
  77.                     } catch (Exception e) {
  78.                         e.printStackTrace();
  79.                     }
  80.                 }
  81.             }
  82.         });
  83.  
  84.         t.start();
  85.     }
  86.  
  87.     class CenterPanel extends JPanel
  88.     {
  89.  
  90.         int w = 640, h = 480;
  91.         List<Shape> shapes = new ArrayList<Shape>();
  92. //        SelectionMouseListener mouseListener;
  93.         AffineTransform positionPerso = new AffineTransform();
  94.        
  95.         Point2D.Float test = new Point2D.Float();
  96.  
  97.         public CenterPanel()
  98.         {
  99.             setSize(w, h);
  100. //            shapes.add(new Ellipse2D.Double(30, 30, 100, 100));
  101.             shapes.add(new Rectangle2D.Double(150, 100, 100, 120));
  102. //            mouseListener = new SelectionMouseListener(this);
  103. //            addMouseListener(mouseListener);
  104. //            addKeyListener(new KeyListener());
  105.         }
  106.  
  107.         public Shape getShapeAt(int x, int y)
  108.         {
  109.             for (Shape s : shapes)
  110.                 if (s.contains(x, x))
  111.                     return s;
  112.             return null;
  113.         }
  114.  
  115.         @Override
  116.         public void paintComponent(Graphics graphics)
  117.         {
  118.             Graphics2D g = (Graphics2D) graphics;
  119.             g.clearRect(0, 0, w, h);
  120.             g.setColor(Color.white);
  121.             g.fillRect(0, 0, w, h);
  122.  
  123.             g.setColor(Color.red);
  124.             for (Shape s : shapes)
  125.                 g.draw(s); //                g.fill(s);
  126.  
  127.  
  128. //            g.translate(100, 100);
  129. //
  130. //            for (Shape s : shapes)
  131. //                g.draw(s);
  132.  
  133. //            g.setColor(Color.black);
  134. //            g.setStroke(new BasicStroke(3));
  135. //            if (mouseListener.getSelected() != null)
  136. //                g.draw(mouseListener.getSelected());
  137.            
  138.             g.fillOval((int)test.x, (int)test.y, 5, 5);
  139.            
  140.             g.transform(positionPerso);
  141.             g.setColor(Color.green);
  142.             g.fillOval(0, 0, 10, 10);
  143.            
  144.         }
  145.  
  146.         public void moveUp()
  147.         {
  148.             positionPerso.translate(0, -1);
  149.            
  150.         }
  151.  
  152.         public void moveDown()
  153.         {
  154.             positionPerso.translate(0, 1);
  155.         }
  156.  
  157.         public void moveLeft()
  158.         {
  159.             positionPerso.²(-1, 0);
  160.             System.out.println("left");
  161.         }
  162.  
  163.         public void moveRight()
  164.         {
  165.             positionPerso.translate(1, 0);
  166.             test.x++;
  167.             System.out.println("right");
  168.         }
  169.     }
  170.  
  171. //    class SelectionMouseListener extends MouseAdapter
  172. //    {
  173. //
  174. //        Shape selected;
  175. //        CenterPanel panel;
  176. //
  177. //        public SelectionMouseListener(CenterPanel panel)
  178. //        {
  179. //            this.panel = panel;
  180. //        }
  181. //
  182. //        public Shape getSelected()
  183. //        {
  184. //            return selected;
  185. //        }
  186. //
  187. //        public void setSelected(Shape selected)
  188. //        {
  189. //            this.selected = selected;
  190. //        }
  191. //
  192. //        @Override
  193. //        public void mouseReleased(MouseEvent e)
  194. //        {
  195. //            selected = panel.getShapeAt(e.getX(), e.getY());
  196. //            panel.repaint();
  197. //        }
  198. //    }
  199.  
  200.     class MyKeyListener extends KeyAdapter
  201.     {
  202.  
  203.         @Override
  204.         public void keyPressed(KeyEvent e)
  205.         {
  206.             System.out.println(e.getKeyChar());
  207.             if (e.getKeyCode() == KeyEvent.VK_UP)
  208.                 upPressed = true;
  209.             if (e.getKeyCode() == KeyEvent.VK_DOWN)
  210.                 downPressed = true;
  211.             if (e.getKeyCode() == KeyEvent.VK_LEFT)
  212.                 leftPressed = true;
  213.             if (e.getKeyCode() == KeyEvent.VK_RIGHT)
  214.                 rightPressed = true;
  215.             if (e.getKeyCode() == KeyEvent.VK_SPACE)
  216.                 spacePressed = true;
  217.         }
  218.  
  219.         @Override
  220.         public void keyReleased(KeyEvent e)
  221.         {
  222.             System.out.println(e.getKeyChar());
  223.             if (e.getKeyCode() == KeyEvent.VK_UP)
  224.                 upPressed = false;
  225.             if (e.getKeyCode() == KeyEvent.VK_DOWN)
  226.                 downPressed = false;
  227.             if (e.getKeyCode() == KeyEvent.VK_LEFT)
  228.                 leftPressed = false;
  229.             if (e.getKeyCode() == KeyEvent.VK_RIGHT)
  230.                 rightPressed = false;
  231.             if (e.getKeyCode() == KeyEvent.VK_SPACE)
  232.                 spacePressed = false;
  233.         }
  234.     }
  235. }
Add Comment
Please, Sign In to add comment