Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javafx.animation.AnimationTimer;
- import javafx.scene.layout.Pane;
- import java.util.Random;
- import javafx.scene.shape.Shape;
- public class MyAnimationTimer extends AnimationTimer {
- public Snake snake;
- public Ovo ovo;
- public Pane pane;
- public MyAnimationTimer(Snake s, Ovo o, Pane p) {
- snake = s;
- ovo = o;
- pane = p;
- }
- @Override
- public void handle(long now) {
- Random random = new Random();
- try {Thread.sleep(100);
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- }
- for (int i = snake.cobra.size()-1; i > 0; i--) {
- snake.cobra.get(i).setCenterX(snake.cobra.get(i-1).getCenterX());
- snake.cobra.get(i).setCenterY(snake.cobra.get(i-1).getCenterY());
- }
- if(snake.direcao=='d') {
- snake.cobra.get(0).setCenterX(snake.cobra.get(0).getCenterX()+20);
- }
- if(snake.direcao=='e'){
- snake.cobra.get(0).setCenterX(snake.cobra.get(0).getCenterX()-20);
- }
- if(snake.direcao=='c'){
- snake.cobra.get(0).setCenterY(snake.cobra.get(0).getCenterY()-20);
- }
- if(snake.direcao=='b'){
- snake.cobra.get(0).setCenterY(snake.cobra.get(0).getCenterY()+20);
- }
- Shape intersect = Shape.intersect(ovo.getOvo(),snake.getCobra().get(0));
- if(intersect.getBoundsInLocal().getWidth() != -1){
- pane.getChildren().add(snake.addCircle());
- pane.getChildren().remove(ovo.getOvo());
- int Xovo = random.nextInt(799)+1;
- int Yovo = random.nextInt(599)+1;
- ovo = new Ovo(Xovo,Yovo);
- pane.getChildren().add(ovo.getOvo());
- }
- if(snake.cobra.get(0).getCenterX()>799 || snake.cobra.get(0).getCenterY()>599){
- this.stop();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement