Skip to content

Instantly share code, notes, and snippets.

@JDRamosC
Created May 8, 2017 22:21
Show Gist options
  • Save JDRamosC/1622161553d97ac61247ec8a5c96723c to your computer and use it in GitHub Desktop.
Save JDRamosC/1622161553d97ac61247ec8a5c96723c to your computer and use it in GitHub Desktop.
JD Ramos - Piedra, papel o tijeras
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