Advertisement
Guest User

Untitled

a guest
Jul 19th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.55 KB | None | 0 0
  1. package javaenprolog;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.FileReader;
  5. import java.io.IOException;
  6. import java.util.logging.Level;
  7. import java.util.logging.Logger;
  8. import javafx.application.Application;
  9. import static javafx.application.Application.launch;
  10. import javafx.geometry.Insets;
  11. import javafx.geometry.Pos;
  12. import javafx.scene.Scene;
  13. import javafx.scene.control.Button;
  14. import javafx.scene.layout.GridPane;
  15. import javafx.scene.text.Text;
  16. import javafx.scene.control.TextField;
  17. import javafx.scene.shape.Box;
  18. import javafx.scene.shape.Rectangle;
  19. import javafx.stage.Stage;
  20. import javax.swing.JOptionPane;
  21. import org.jpl7.Query;
  22.  
  23. public class JavaEnProlog extends Application {
  24. @Override
  25. public void start(Stage stage) {
  26.  
  27. //Creating a Grid Pane
  28. GridPane gridPane = new GridPane();
  29.  
  30. //Setting size for the pane
  31. gridPane.setMinSize(100, 100);
  32.  
  33. //Setting the padding
  34. gridPane.setPadding(new Insets(10, 10, 10, 10));
  35.  
  36. //Setting the vertical and horizontal gaps between the columns
  37. gridPane.setVgap(5);
  38. gridPane.setHgap(5);
  39.  
  40. //Setting the Grid alignment
  41. gridPane.setAlignment(Pos.CENTER);
  42.  
  43. //Arranging all the nodes in the grid
  44.  
  45. try{
  46.  
  47. String t1 = "consult('mazmorra.pl')";
  48. Query q1 = new Query(t1);
  49. System.out.println(t1+""+(q1.hasSolution()?": Consulta Aceptada":": Consulta Fallida"));
  50.  
  51. String t2 = "consult('imprimeMazmorra.pl')";
  52. Query q2 = new Query(t2);
  53. System.out.println(t2+""+(q2.hasSolution()?": Consulta Aceptada":": Consulta Fallida"));
  54.  
  55. String t3 = "consult('resuelveMazmorra.pl')";
  56. Query q3 = new Query(t3);
  57. System.out.println(t3+""+(q3.hasSolution()?": Consulta Aceptada":": Consulta Fallida"));
  58.  
  59. String eX, eY, sX, sY;
  60. int x1, x2, y1, y2;
  61.  
  62. eX = JOptionPane.showInputDialog(null,"Escribe el número en X de tus coordenadas de entrada.");
  63. eY = JOptionPane.showInputDialog(null,"Escribe el número en Y de tus coordenadas de entrada.");
  64. sX = JOptionPane.showInputDialog(null,"Escribe el número en X de tus coordenadas de salida.");
  65. sY = JOptionPane.showInputDialog(null,"Escribe el número en Y de tus coordenadas de salida.");
  66.  
  67. String t4 = "resuelve(["+eX+","+eY+"],["+sX+","+sY+"],Camino)";
  68. Query q4 = new Query(t4);
  69.  
  70. //System.out.println(t4+""+(q4.nextSolution()?": Consulta Aceptada":": Consulta Fallida"));
  71. q4.hasSolution();
  72.  
  73. x1 = Integer.parseInt(eX);
  74. y1 = Integer.parseInt(eY);
  75. x2 = Integer.parseInt(sX);
  76. y2 = Integer.parseInt(sY);
  77.  
  78. String cadena;
  79. FileReader f = new FileReader("E:/Prolog/JavaEnProlog/mazmorraArchivo.txt");
  80. BufferedReader b = new BufferedReader(f);
  81. int fila = 0;
  82. while((cadena = b.readLine())!=null) {
  83. System.out.println(cadena);
  84. for(int columna = 0; columna < cadena.length(); columna++){
  85. if(fila == x1 && columna == y1){
  86. Rectangle rec3 = new Rectangle(0, 0, 20.0f, 20.0f);
  87. rec3.setFill(javafx.scene.paint.Color.BLUE);
  88. gridPane.add(rec3, columna, fila);
  89. } else if(fila == x2 && columna == y2){
  90. Rectangle rec3 = new Rectangle(0, 0, 20.0f, 20.0f);
  91. rec3.setFill(javafx.scene.paint.Color.PURPLE);
  92. gridPane.add(rec3, columna, fila);
  93. } else if(cadena.charAt(columna) == 'u') {
  94. Rectangle rec3 = new Rectangle(0, 0, 20.0f, 20.0f);
  95. rec3.setFill(javafx.scene.paint.Color.RED);
  96. gridPane.add(rec3, columna, fila);
  97. } else if(cadena.charAt(columna) == '+') {
  98. Rectangle rec3 = new Rectangle(0, 0, 20.0f, 20.0f);
  99. rec3.setFill(javafx.scene.paint.Color.RED);
  100. gridPane.add(rec3, columna, fila);
  101. } else if(cadena.charAt(columna) == 'x') {
  102. Rectangle rec1 = new Rectangle(0, 0, 20.0f, 20.0f);
  103. rec1.setFill(javafx.scene.paint.Color.RED);
  104. gridPane.add(rec1, columna, fila);
  105. } else if(cadena.charAt(columna) == 'o') {
  106. Rectangle rec2 = new Rectangle(0, 0, 20.0f, 20.0f);
  107. rec2.setFill(javafx.scene.paint.Color.GREEN);
  108. gridPane.add(rec2, columna, fila);
  109. } else if(cadena.charAt(columna) == '.') {
  110. Rectangle rec3 = new Rectangle(0, 0, 20.0f, 20.0f);
  111. rec3.setFill(javafx.scene.paint.Color.WHITE);
  112. gridPane.add(rec3, columna, fila);
  113. }
  114.  
  115. }
  116. fila++;
  117. }
  118. b.close();
  119. } catch (IOException ex) {
  120. Logger.getLogger(JavaEnProlog.class.getName()).log(Level.SEVERE, null, ex);
  121. }
  122. //Creating a scene object
  123. Scene scene = new Scene(gridPane);
  124.  
  125. //Setting title to the Stage
  126. stage.setTitle("Laberinto");
  127.  
  128. //Adding scene to the stage
  129. stage.setScene(scene);
  130.  
  131. //Displaying the contents of the stage
  132. stage.show();
  133. }
  134. public static void main(String args[]){
  135. launch(args);
  136. }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement