import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class InformPanel extends JPanel{.
JLabel label;
boolean rn = true;
protected int lives, len, speed, obstacles;
public InformPanel (final GameField field) {.
label = new JLabel («Інформація гри»);
add (label);
setDefault ();
}.
public void setDefault (){.
updateInfo (0, 0, 0, 0);
}.
public void updateInfo (int lives, int len, int speed, int obstacles){.
this.lives = lives;
this.len = len;
this.speed = speed;
this.obstacles = obstacles;
repaint ();
}.
public void paintComponent (Graphics g){.
int h = 100;
super.paintComponent (g);
g.drawString («Життя: «+ lives, 1, h += 30);
g.drawString («Елементів: «+ len, 1, h += 30);
g.drawString («Швидкість: «+ speed, 1, h += 30);
g.drawString («Перепони: «+ obstacles, 1, h += 30);
}.
}.
Файл Snake. java
class Snake {.
int colElements;
final int maxLen = 16;
SnakeElement elem[];
int xNextSpeed, yNextSpeed;
final int startLives = 3;
private static int lives;
public Snake (int c, int xPos, int yPos){.
colElements = c;
elem = new SnakeElement[colElements];
for (int i = 0; i.
elem[i] = new SnakeElement (xPos-i, yPos);
elem[i]. setMoveRight ();
}.
setMoveRight ();
}.
public void resetLives (){.
lives = startLives;
}.
public void increment (SnakeElement lastElem) {.
SnakeElement temp[];
temp = new SnakeElement[colElements];
for (int i = 0; i.
temp[i] = new SnakeElement (0,0);
temp[i] = elem[i];
}.
colElements++;
elem = new SnakeElement[colElements];
for (int i = 0; i.
elem[i] = new SnakeElement (0,0);
elem[i] = temp[i];
}.
elem[colElements-1] = new SnakeElement (0,0);
elem[colElements-1] = lastElem;
elem[colElements-1]. xSpeed = lastElem. xSpeed;
elem[colElements-1]. ySpeed = lastElem. ySpeed;
public void move (){.
for (int i = colElements-1; i>0; i—){.
elem[i]. setSpeed (elem[i-1].xSpeed, elem[i-1]. ySpeed);
elem[i]. move ();
}.
elem[0]. xSpeed = xNextSpeed;
elem[0]. ySpeed = yNextSpeed;
elem[0]. move ();
}.
public void setMoveUp (){.
xNextSpeed = 0; yNextSpeed = -1;
};
public void setMoveDown (){.
xNextSpeed = 0; yNextSpeed = 1;
};
public void setMoveLeft (){.
xNextSpeed = -1; yNextSpeed = 0;
};
public void setMoveRight (){.
xNextSpeed = 1; yNextSpeed = 0;
};
public boolean isMaxLong (){return (colElements == maxLen);}.
public boolean isKilled (){return (lives<0);}.
public void decrementLive (){lives -=1;}.
public int getLives (){ return lives;}.
}.