Created
May 8, 2017 22:21
-
-
Save JDRamosC/1622161553d97ac61247ec8a5c96723c to your computer and use it in GitHub Desktop.
JD Ramos - Piedra, papel o tijeras
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package bo.edu.ubilapaz; | |
import javafx.application.Application; | |
import javafx.event.ActionEvent; | |
import javafx.event.EventHandler; | |
import javafx.scene.Scene; | |
import javafx.scene.control.Button; | |
import javafx.scene.control.Label; | |
import javafx.scene.image.Image; | |
import javafx.scene.image.ImageView; | |
import javafx.scene.layout.*; | |
import javafx.scene.paint.Color; | |
import javafx.scene.text.Font; | |
import javafx.stage.Stage; | |
import java.util.Random; | |
public class Main extends Application { | |
private int eleccion; | |
public static void main(String[] args) { | |
launch(args); | |
} | |
@Override | |
public void start(Stage primaryStage) throws Exception { | |
//Creamos las Imagenes | |
Image imagen1 = new Image(getClass().getResourceAsStream("piedra.png")); | |
Image imagen2 = new Image(getClass().getResourceAsStream("papel.png")); | |
Image imagen3 = new Image(getClass().getResourceAsStream("tijera.png")); | |
//Paso para hacer botones con imagenes | |
ImageView imgpiedra = new ImageView(imagen1); | |
ImageView imgpapel = new ImageView(imagen2); | |
ImageView imgtijera = new ImageView(imagen3); | |
//Medimos los tamaños de los Botones Height y Width | |
imgpiedra.setFitHeight(100); | |
imgpapel.setFitHeight(100); | |
imgtijera.setFitHeight(100); | |
imgpiedra.setFitWidth(100); | |
imgpapel.setFitWidth(100); | |
imgtijera.setFitWidth(100); | |
//Creamos los botones | |
Button bpiedra = new Button(null, imgpiedra); | |
Button bpapel = new Button(null, imgpapel); | |
Button btijera = new Button(null, imgtijera); | |
//Accion Boton 1 = piedra | |
bpiedra.setOnAction(new EventHandler<ActionEvent>() { | |
@Override | |
public void handle(ActionEvent event) { | |
eleccion = 0; | |
System.out.println(eleccion); | |
} | |
}); | |
//Accion Boton 2 = papel | |
bpapel.setOnAction(new EventHandler<ActionEvent>() { | |
@Override | |
public void handle(ActionEvent event) { | |
eleccion = 1; | |
System.out.println(eleccion); | |
} | |
}); | |
//Accion Boton 3 = Tijera | |
btijera.setOnAction(new EventHandler<ActionEvent>() { | |
@Override | |
public void handle(ActionEvent event) { | |
eleccion = 2; | |
System.out.println(eleccion); | |
} | |
}); | |
//Creamos la caja horizontal para ordenar los botones con imagen | |
HBox cajaH = new HBox(); | |
cajaH.getChildren().add(bpiedra); | |
cajaH.getChildren().add(bpapel); | |
cajaH.getChildren().add(btijera); | |
cajaH.setSpacing(50); | |
//Creamos el boton Jugar que hara jugar al ordenador | |
Button jugar = new Button("Ordenador"); | |
//Creamos el Lavel para Mostrar los Resultados y editamos con setFont | |
Label mostrar = new Label(); | |
mostrar.setFont(new Font("Baskerville Old Face", 20)); | |
mostrar.setTextFill(Color.web("#213121")); | |
//Damos accion al boton jugar para el ordenador | |
jugar.setOnAction(new EventHandler<ActionEvent>() { | |
@Override | |
public void handle(ActionEvent event) { | |
Random cpu = new Random(); | |
int cpuTurn = cpu.nextInt(3); | |
System.out.println(cpuTurn); | |
//Metodo para comparar eleccion de usuario y ordenador | |
String abc = comparar(eleccion, cpuTurn); | |
//Mostramos el texto para el Lavel | |
mostrar.setText(abc); | |
} | |
}); | |
//StackPane es para poner un boton al medio | |
StackPane centro = new StackPane(); | |
centro.getChildren().add(jugar); | |
//Creamos la caja Vertical para teminar de ordenar nuestra interfaz | |
VBox cajaV = new VBox(); | |
cajaV.getChildren().add(cajaH); | |
cajaV.getChildren().add(centro); | |
cajaV.getChildren().add(mostrar); | |
cajaV.setSpacing(30); | |
//creamos la scene para la app de escritorio | |
Scene ecena = new Scene(cajaV, 500, 500); | |
primaryStage.setScene(ecena); | |
primaryStage.show(); | |
} | |
private String comparar(int eleccion, int cpuTurn) { | |
if (eleccion == cpuTurn) { | |
return "Empate"; | |
} | |
if (eleccion == 1 && cpuTurn == 2) { | |
return "Escogiste Papel y el ordenador escogio tijeras\nLas tijeras cortan el papel\nEl ordenador gana :("; | |
} | |
if (eleccion == 2 && cpuTurn == 1) { | |
return "Escogiste Tijeras y el ordenador escogio papel\nLas tijeras cortan el papel\nFelicidades Gano :D"; | |
} | |
if (eleccion == 0 && cpuTurn == 2) { | |
return "Escogiste Piedra y el ordenador escogio Tijeras\nLa Piedra destroza la tijera\nFelicidades Gano :D"; | |
} | |
if (eleccion == 2 && cpuTurn == 0) { | |
return "Escogiste Tijeras y el ordenador escogio Piedra\nLa Piedra destroza la tijera\nEl ordenador gana :("; | |
} | |
if (eleccion == 0 && cpuTurn == 1) { | |
return "Escogiste Piedra y el ordenador escogio Papel\nEl papel tapa a la Piedra\nEl ordenador gana"; | |
} | |
if (eleccion == 1 && cpuTurn == 0) { | |
return "Escogiste Papel y el ordenador escogio Piedra\nEl papel tapa a la Piedra\nFelicidades Gano :D"; | |
} | |
return "seleccione una de las opciones"; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment