Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import javax.swing.Timer;
- public class Snake extends Applet implements KeyListener, ActionListener {
- static Applet applet;
- Random random = new Random();
- Ruch ruch = new Ruch();
- Gra game = new Gra(this);
- Image tlo, snake, kulka, image;
- Graphics graphics;
- static final int szerokoscRamki = 800, wysokoscRamki = 600;
- static final int dot = 20;
- static final int allDots = 900;
- final int delay = 150;
- static int dots;
- static int foodX = 60, foodY = 60;
- static final int[] x = new int[allDots];
- static final int[] y = new int[allDots];
- static boolean left = false, up = false, right = false, down = false;
- static boolean gra = true;
- Timer timer = new Timer(delay, this);
- public Snake() {
- this.setFocusable(true);
- this.addKeyListener(this);
- timer.start();
- }
- public void init() {
- setBackground(Color.black);
- setSize(szerokoscRamki, wysokoscRamki);
- tlo = getImage(getCodeBase(), "zdjecia/tlo.jpg");
- snake = getImage(getCodeBase(), "zdjecia/snake.png");
- kulka = getImage(getCodeBase(), "zdjecia/kulka.png");
- image = createImage(szerokoscRamki, wysokoscRamki);
- graphics = image.getGraphics();
- game.StartGra();
- }
- public void update (Graphics g) {
- graphics.clearRect(0, 0, szerokoscRamki, wysokoscRamki);
- paint(graphics);
- g.drawImage(image, 0, 0, applet);
- }
- public void paint (Graphics g) {
- //rysuje tło do gry
- g.drawImage(tlo, 0, 0, szerokoscRamki-203, wysokoscRamki, this);
- //rysuje obrazek snake
- g.drawImage(snake, 600, 300, 200, 300, this);
- //rysuje snake
- for (int i = 0; i < dots; i++) {
- g.drawImage(kulka, x[i], y[i], 20, 20, this);
- }
- //rysuje jedzenie
- g.setColor(Color.RED);
- g.fillOval(foodX, foodY, 16, 16);
- //punkty
- g.setColor(Color.YELLOW);
- Font font1 = new Font("Arial", Font.ITALIC + Font.BOLD, 15);
- g.setFont(font1);
- g.drawString("Punkty: " + random.punkty, 665, 15);
- //wiadomość po przegranej
- if (gra == false) {
- g.setColor(Color.RED);
- Font font2 = new Font("Times New Roman", Font.ITALIC + Font.BOLD, 40);
- g.setFont(font2);
- g.drawString("PRZEGRAŁEŚ :(", 155, 300);
- g.setColor(Color.BLACK);
- Font font3 = new Font("Arial", Font.ITALIC + Font.BOLD, 15);
- g.setFont(font3);
- g.drawString("Kliknij spację, aby zagrać ponownie", 170, 330);
- }
- }
- @Override
- public void keyPressed(KeyEvent e) {
- int key = e.getKeyCode();
- if (key == KeyEvent.VK_LEFT && !right) {
- left = true;
- up = false;
- right = false;
- down = false;
- }
- if (key == KeyEvent.VK_UP && !down) {
- left = false;
- up = true;
- right = false;
- down = false;
- }
- if (key == KeyEvent.VK_RIGHT && !left) {
- left = false;
- up = false;
- right = true;
- down = false;
- }
- if (key == KeyEvent.VK_DOWN && !up) {
- left = false;
- up = false;
- right = false;
- down = true;
- }
- if (key == KeyEvent.VK_SPACE) {
- random.punkty = 0;
- game.StartGra();
- }
- if (key == KeyEvent.VK_P) {
- game.Stop();
- }
- if (key == KeyEvent.VK_ENTER) {
- game.GrajDalej();
- }
- }
- @Override
- public void keyReleased(KeyEvent e) {}
- @Override
- public void keyTyped(KeyEvent e) {}
- @Override
- public void actionPerformed(ActionEvent e) {
- if(gra) {
- random.Food();
- ruch.Sterowanie();
- game.Przegrana();
- }
- repaint();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement