@Override protected void paintComponent(Graphics g) super.paintComponent(g); g.setColor(Color.WHITE); g.fillRect(foodX, foodY, 5, 5); for (int i = 0; i < snakeLength; i++) g.fillRect(x[i], y[i], 5, 5);
public static void main(String[] args) SwingUtilities.invokeLater(() -> JFrame frame = new JFrame("Snake Game"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(new SnakeGame()); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); ); } This example provides a very basic implementation. Enhancements can include collision detection refinement, smoother animations, score tracking, and more. Java Snake Xenzia Game . Jar . 128x160 .
private void checkCollisions()
private void move() for (int i = snakeLength; i > 0; i--) x[i] = x[i - 1]; y[i] = y[i - 1]; switch (direction) case 'U' -> y[0] -= 5; case 'D' -> y[0] += 5; case 'L' -> x[0] -= 5; case 'R' -> x[0] += 5; @Override protected void paintComponent(Graphics g) super