Message
Message
*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import java.util.ArrayList;
Tile(int x, int y) {
this.x = x;
this.y = y;
}
}
Tile snakeHead;
ArrayList<Tile> snakeBody;
Tile food;
Random random;
Timer gameLoop;
int velocityX;
int velocityY;
addKeyListener(this);
setFocusable(true);
frame.add(this);
frame.pack();
frame.setVisible(true);
}
velocityX = 0;
velocityY = 1;
//Snake Head
g.setColor(Color.GREEN);
g.fill3DRect(snakeHead.x * tileSize, snakeHead.y * tileSize, tileSize,
tileSize, true);
if (collision(snakeHead, food)) {
snakeBody.add(new Tile(food.x, food.y));
placeFood();
}
snakeHead.x += velocityX;
snakeHead.y += velocityY;
@Override
public void actionPerformed(ActionEvent e) {
move();
repaint();
if (gameOver) {
gameLoop.stop();
}
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
velocityX = 0;
velocityY = -1;
}
else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
velocityX = 0;
velocityY = 1;
}
else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
velocityX = -1;
velocityY = 0;
}
else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
velocityX = 1;
velocityY = 0;
}
@Override
public void keyTyped(KeyEvent e) {
@Override
public void keyReleased(KeyEvent e) {
}
}