Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. import javafx.animation.AnimationTimer;
  2. import javafx.application.Application;
  3. import javafx.scene.Scene;
  4. import javafx.scene.control.*;
  5. import javafx.scene.image.Image;
  6. import javafx.scene.input.KeyEvent;
  7. import javafx.scene.layout.BorderPane;
  8. import javafx.scene.layout.Pane;
  9. import javafx.scene.shape.Circle;
  10. import javafx.scene.shape.Shape;
  11. import javafx.stage.Stage;
  12.  
  13. import java.beans.EventHandler;
  14. import java.util.ArrayList;
  15. import java.util.Collection;
  16. import java.util.EventListener;
  17. import java.util.Random;
  18.  
  19.  
  20. public class ViewMain extends Application {
  21. private Snake snake;
  22. private Ovo ovo;
  23. private Animacao fps;
  24. private Random random = new Random();
  25.  
  26. @Override
  27. public void start(Stage stage) throws Exception{
  28. Pane pane = new Pane();
  29. BorderPane bp = new BorderPane();
  30. //Menu
  31. Menu Jogo = new Menu("Jogo");
  32. //Botões menu
  33. MenuItem Reiniciar= new MenuItem("Reiniciar");
  34. Reiniciar.setOnAction(event ->
  35. reiniciar(pane)
  36. );
  37. MenuItem Fechar = new MenuItem("Fechar");
  38. Fechar.setOnAction(event -> System.exit(1));
  39. Jogo.getItems().addAll(Reiniciar,Fechar);
  40. //Bar
  41. MenuBar menubar = new MenuBar();
  42. menubar.getMenus().add(Jogo);
  43. //Gera o ovo em uma posição aleatória
  44. int Xovo = random.nextInt(759)+10;
  45. int Yovo = random.nextInt(559)+10;
  46. ovo = new Ovo(Xovo,Yovo);
  47. snake= new Snake(400,300,3);
  48.  
  49. for(Circle c : snake.getCobra()){
  50. pane.getChildren().add(c);
  51. }
  52. pane.getChildren().add(ovo.getOvo());
  53. bp.setCenter(pane);
  54. bp.setTop(menubar);
  55. Scene scene = new Scene(bp, 800, 600);
  56. scene.setOnKeyPressed(event -> {
  57. switch (event.getCode()){
  58. case UP:
  59. if(snake.getDirecao()=='b')
  60. break;
  61. snake.setDirecao('c');
  62. break;
  63. case DOWN:
  64. if(snake.getDirecao()=='c')
  65. break;
  66. snake.setDirecao('b');
  67. break;
  68. case LEFT:
  69. if(snake.getDirecao()=='d')
  70. break;
  71. snake.setDirecao('e');
  72. break;
  73. case RIGHT:
  74. if(snake.getDirecao()=='e')
  75. break;
  76. snake.setDirecao('d');
  77. break;
  78. }
  79. });
  80. stage.getIcons().add(new Image("https://images.cdn2.stockunlimited.net/illustration/pixel-snake_2021048.png"));
  81. stage.setScene(scene);
  82. stage.setTitle("Jogo Snake JavaFX");
  83. stage.show();
  84. Alert gamestart = new Alert(Alert.AlertType.INFORMATION);
  85. gamestart.setTitle("Snake Game");
  86. gamestart.setHeaderText("Bem vindo ao jogo");
  87. gamestart.setContentText("Seu objetivo é comer os ovos sem bater nos limites da janela e se chocar contra sim mesma");
  88. gamestart.show();
  89. gamestart.setOnHidden(event ->
  90. reiniciar(pane)
  91. );
  92. }
  93. public static void main (String[] args){
  94. launch(args);
  95. }
  96.  
  97. public void reiniciar(Pane pane) {
  98. System.out.println("Reiniciando jogo...");
  99. fps = new Animacao(snake,ovo,pane);
  100. fps.start();
  101. }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement