Sunteți pe pagina 1din 2

package tetris;

import java.awt.Graphics2D;
import java.awt.Rectangle;
public class Ball {
private static final int DIAMETER = 30;
//diametrul mingii
int x = 0;
//pozitia initiala a mingii, sus
int y = 0;
//pozitia initiala a mingii, stanga
int xa = 1;
int ya = 1;
int viata = 0; // definim o variabila pt viata
private Game game;
public Ball(Game game) {
this.game= game;
}
void move() {
//fiecare if limiteaza o margine a ferestrei
if (x + xa < 0)
xa = 1;
//mingea se deplaseaza
el la fiecare runda
if (x + xa > game.getWidth() - DIAMETER)
marginea ii schimbam directia
xa = -1;
//mingea se deplaseaza
l la fiecare runda
if (y + ya < 0)
ya = 1;
//mingea se deplaseaza
a fiecare runda
if (y + ya > game.getHeight() - DIAMETER) {
arginea de jos a ferestrei,

la dreapta cu cate un pix


//cand mingea depaseste
la stanga cu cate un pixe
in jos cu cate un pixel l
//cand mingea depaseste m

viata++; //incrementam variabila viata cu +1


if(viata==3) {
game.gameOver(); // daca player-ul a pierdut de 3 ori afisam gam
e over
} else { // daca nu resetam pozitia initiala a mingii
x=0;
y=0;
}
}
if (collision()){
//mingea se deplaseaza in sus, daca se i
ntersecteaza cu jucatorul
ya = -1;
y = game.player.getTopY() - DIAMETER; //plasam mingea deasupra juc
atorului,
//pt ca dreptunghiurile in care se gasesc, sa nu se intersecteze
}
x = x + xa;
//realizeaza deplasarile de mai sus
y = y + ya;
//realizeaza deplasarile de mai sus
}
private boolean collision() {
return game.player.getBounds().intersects(getBounds()); //returneaza tru
e daca dreptunghiul
//jucatorului intersecteaza dreptunghiul mingii
}
public void paint(Graphics2D g) {

g.fillOval(x, y, DIAMETER, DIAMETER);


}
public Rectangle getBounds() {
return new Rectangle(x, y, DIAMETER, DIAMETER);
}
}

S-ar putea să vă placă și