Advertisement
YOSHAAAAAA

Untitled

Apr 5th, 2020
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.66 KB | None | 0 0
  1. package lab04;
  2. import javafx.application.Application;
  3. import javafx.geometry.Pos;
  4. import javafx.scene.Scene;
  5. import javafx.scene.control.Button;
  6. import javafx.scene.control.Label;
  7. import javafx.scene.control.TextField;
  8. import javafx.scene.input.MouseEvent;
  9. import javafx.scene.layout.*;
  10. import javafx.scene.layout.GridPane;
  11. import javafx.scene.paint.*;
  12. import javafx.stage.*;
  13. import javafx.scene.text.*;
  14. import javafx.scene.image.*;
  15. import java.util.Random;
  16. import javafx.event.ActionEvent;
  17. import javafx.event.EventHandler;
  18.  
  19.  
  20. public class Lab04 extends Application
  21. {
  22.    Label lblScore = new Label("Score:");
  23.    Label lblLeft = new Label("Left:");
  24.    Label lblRight = new Label("Right:");
  25.    Label lblLeftCard = new Label();
  26.    Label lblRightCard = new Label();
  27.    Label lblDeck = new Label();
  28.    Font fnt = new Font("Verdana", 30.0);
  29.    Color clr = Color.web("#0076a3");
  30.    TextField tfLeftScore = new TextField("0");
  31.    TextField tfRightScore = new TextField("0");
  32.    Button btnReset = new Button("Reset");
  33.    int rightValue = 0;
  34.    int leftValue = 0;
  35.    int score = 0;
  36.    boolean rightsTurn = true;
  37.    
  38.    @Override
  39.    public void start(Stage primaryStage) throws Exception
  40.    {
  41.       resetCardImages();
  42.      
  43.       btnReset.setOnAction(new EventHandler<ActionEvent>()
  44.       {
  45.          @Override
  46.          public void handle(ActionEvent event)
  47.          {
  48.             rightValue = 0;
  49.             leftValue = 0;
  50.             score = 0;
  51.             tfRightScore.setText("0");
  52.             tfLeftScore.setText("0");
  53.             rightsTurn = true;
  54.             resetCardImages();
  55.          }
  56.          
  57.       }
  58.       );
  59.      
  60.       lblDeck.setOnMouseClicked(new EventHandler<MouseEvent>()
  61.       {
  62.          @Override
  63.          public void handle(MouseEvent event)
  64.          {
  65.             Random rng = new Random();
  66.             int card = rng.nextInt(52) + 101;
  67.             String carrier = ("file:img" + '\\' + card + ".gif");  
  68.             int count = 0;
  69.            
  70.             if(rightsTurn == true)
  71.             {
  72.                rightValue = card;
  73.                Image imgRightCard = new Image(carrier);
  74.                lblRightCard.setGraphic(new ImageView(imgRightCard));
  75.                rightsTurn = false;
  76.                count++;
  77.             }
  78.             else
  79.             {
  80.                leftValue = card;
  81.                Image imgLeftCard = new Image(carrier);
  82.                lblLeftCard.setGraphic(new ImageView(imgLeftCard));
  83.                rightsTurn = true;
  84.                count++;
  85.             }
  86.            
  87.             int math = count % 2;
  88.            
  89.             if(rightValue > leftValue && math == 0)
  90.             {
  91.                score = Integer.parseInt(tfRightScore.getText());
  92.                score++;
  93.                tfRightScore.setText(Integer.toString(score));
  94.             }
  95.             else if(leftValue > rightValue && math == 1)
  96.             {
  97.                score = Integer.parseInt(tfLeftScore.getText());
  98.                score++;
  99.                tfLeftScore.setText(Integer.toString(score));
  100.             }
  101.                
  102.            
  103.          }
  104.          
  105.       });
  106.      
  107.       tfLeftScore.setPrefWidth(50);
  108.       tfRightScore.setPrefWidth(50);
  109.       tfLeftScore.setDisable(true);
  110.       tfRightScore.setDisable(true);
  111.      
  112.       BorderPane root = new BorderPane();
  113.       GridPane topPane = new GridPane();
  114.       GridPane cardPane = new GridPane();
  115.       Scene scene = new Scene(root, 300, 300);
  116.      
  117.       root.setTop(topPane);
  118.       root.setCenter(cardPane);
  119.       root.setBottom(btnReset);
  120.      
  121.       topPane.add(lblScore, 0, 0);
  122.       topPane.add(lblLeft, 0, 1);
  123.       topPane.add(tfLeftScore, 1, 1);
  124.       topPane.add(lblRight, 2, 1);
  125.       topPane.add(tfRightScore, 3, 1);
  126.       topPane.setHgap(20);
  127.       topPane.setVgap(10);
  128.       lblScore.setFont(fnt);
  129.       lblScore.setTextFill(clr);
  130.      
  131.       cardPane.setHgap(20.0);
  132.       cardPane.add(lblLeftCard, 0, 0);
  133.       cardPane.add(lblDeck, 1, 0);
  134.       cardPane.add(lblRightCard, 2, 0);
  135.       cardPane.setAlignment(Pos.CENTER);
  136.      
  137.       primaryStage.setTitle("Lab 4");
  138.       primaryStage.setScene(scene);
  139.       primaryStage.show();
  140.    }
  141.    
  142.    private void resetCardImages()
  143.    {
  144.       String carrier = ("file:img" + '\\' + "155.gif");
  145.       Image imgLeftCard = new Image(carrier);
  146.       Image imgRightCard = new Image(carrier);
  147.       Image imgDeck = new Image(carrier);
  148.       lblLeftCard.setGraphic(new ImageView(imgLeftCard));
  149.       lblRightCard.setGraphic(new ImageView(imgRightCard));
  150.       lblDeck.setGraphic(new ImageView(imgDeck));
  151.    }
  152.    
  153.    public static void main(String[] args)
  154.    {
  155.      launch(args);
  156.    }
  157.  
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement