package frame; import java.awt.Color; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import main.Main; import panels.GamePanel; import threads.MoveTiming; public class GameFrame extends JFrame implements KeyListener { MoveTiming mt; public JButton canMove; public JLabel score; public GameFrame() { this.setTitle("SNAKE GAME"); this.setSize(475, 500); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); this.setContentPane(new GamePanel()); this.getContentPane().setLayout(null); //this.addKeyListener(this); canMove = new JButton(); canMove.setLocation(0, 0); canMove.setSize(25, 25); canMove.setBackground(Color.GREEN); canMove.setOpaque(true); canMove.setBorderPainted(false); canMove.addKeyListener(this); canMove.setVisible(true); this.getContentPane().add(canMove); score = new JLabel(" " + Main.score); score.setLocation(25, 0); score.setSize(150, 25); score.setOpaque(true); score.setVisible(true); this.getContentPane().add(score); this.getContentPane().setVisible(true); this.setVisible(true); } @Override public void keyPressed(KeyEvent e) { switch (e.getKeyCode()) { case 90: // HAUT if (Main.direction != 0 && Main.direction != 1 && Main.canMove) { Main.direction = 1; Main.tabmv[Main.snake.getY() - 1][Main.snake.getX() - 1] = 2; Main.moves++; mt = new MoveTiming(); mt.start(); } break; case 83: // BAS if (Main.direction != 1 && Main.direction != 0 && Main.canMove) { Main.direction = 0; Main.tabmv[Main.snake.getY() - 1][Main.snake.getX() - 1] = 1; Main.moves++; mt = new MoveTiming(); mt.start(); } break; case 81: // GAUCHE if (Main.direction != 3 && Main.direction != 2 && Main.canMove) { Main.direction = 2; Main.tabmv[Main.snake.getY() - 1][Main.snake.getX() - 1] = 3; Main.moves++; mt = new MoveTiming(); mt.start(); } break; case 68: // DROITE if (Main.direction != 2 && Main.direction != 3 && Main.canMove) { Main.direction = 3; Main.tabmv[Main.snake.getY() - 1][Main.snake.getX() - 1] = 4; Main.moves++; mt = new MoveTiming(); mt.start(); } break; default: break; } } @Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub } @Override public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub } }