中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用JavaFX怎么實現石頭剪刀布小游戲

發布時間:2021-05-27 17:57:35 來源:億速云 閱讀:186 作者:Leah 欄目:編程語言

使用JavaFX怎么實現石頭剪刀布小游戲?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

MyJavaFX.java

package cn.homework;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.scene.text.*;
import javafx.scene.text.Font;
import javafx.stage.Stage;

import java.awt.*;


public class MyJavaFX extends Application {

 Lablepane lablepane=new Lablepane();
// String str1;
//
// public void setStr1(String str1) {
//  this.str1 = str1;
// }

 @Override
 public void start(Stage primaryStage) throws Exception {
  GridPane pane = new GridPane();
  pane.setAlignment(Pos.CENTER);
  pane.setHgap(5);

  Label label = new Label("開始游戲:");
  label.setFont(Font.font("Times New Roman", FontWeight.BOLD, FontPosture.ITALIC, 30));
  pane.add(label, 0, 0);
  //布
  Image image1 = new Image("https://cache.yisu.com/upload/information/20200623/121/96291.html");
  ImageView imageView1 = new ImageView(image1);
  imageView1.setFitHeight(150);
  imageView1.setFitWidth(150);
  pane.add(imageView1, 0, 1);
  Image1HanderClass image1HanderClass = new Image1HanderClass();
  Button btOK1 = new Button("布");
  pane.add(btOK1, 0, 2);
  btOK1.setOnAction(image1HanderClass);
  //石頭
  Image image2 = new Image("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1419901674,657140521&fm=27&gp=0.jpg");
  ImageView imageView2 = new ImageView(image2);
  imageView2.setFitHeight(150);
  imageView2.setFitWidth(150);
  pane.add(imageView2, 1, 1);
  Image2HanderClass image2HanderClass = new Image2HanderClass();
  Button btOK2 = new Button("石頭");
  pane.add(btOK2, 1, 2);
  btOK2.setOnAction(image2HanderClass);
  //剪刀
  Image image3 = new Image("https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2460250897,3788214935&fm=27&gp=0.jpg");
  ImageView imageView3 = new ImageView(image3);
  imageView3.setFitHeight(150);
  imageView3.setFitWidth(150);
  pane.add(imageView3, 2, 1);
  Image3HanderClass image3HanderClass = new Image3HanderClass();
  Button btOK3 = new Button("剪刀");
  pane.add(btOK3, 2, 2);
  btOK3.setOnAction(image3HanderClass);


  BorderPane borderPane=new BorderPane();
  borderPane.setCenter(pane);
  borderPane.setBottom(lablepane);
  BorderPane.setAlignment(pane,Pos.CENTER);


//  游戲結束
//  Label label1 = new Label("111");
//  label1.setFont(Font.font("Times New Roman", FontWeight.BOLD, FontPosture.ITALIC, 30));
//  pane.add(label1, 0, 3);

  pane.setStyle("-fx-background-color: #0effb8");

  Scene scene = new Scene(borderPane, 800, 500);
  primaryStage.setTitle("石頭剪刀布");
  primaryStage.setScene(scene);
  primaryStage.show();
 }


 class Image1HanderClass implements EventHandler<ActionEvent> {

  //布2
  @Override
  public void handle(ActionEvent event) {
   Game game = new Game();
   String str = game.playgame(2);
   //setStr1(str);
   lablepane.show(str);
   System.out.println(str);

  }
 }

 class Image2HanderClass implements EventHandler<ActionEvent> {

  //石頭0
  @Override
  public void handle(ActionEvent event) {
   Game game = new Game();
   String str = game.playgame(0);
   //setStr1(str);
   lablepane.show(str);
   System.out.println(str);
  }
 }

 class Image3HanderClass implements EventHandler<ActionEvent> {

  //剪刀1
  @Override
  public void handle(ActionEvent event) {
   Game game = new Game();
   String str = game.playgame(1);
   //setStr1(str);
   lablepane.show(str);
   System.out.println(str);
  }
 }
 class Lablepane extends StackPane{
  private Label label=new Label("結果");
  public Lablepane(){
   getChildren().add(label);
   label.setFont(Font.font("Times New Roman", FontWeight.BOLD, FontPosture.ITALIC, 30));
  }
  public void show(String str){
   label.setText(str);
  }
 }

}

代碼

Game.java

package cn.homework;
import java.util.Random;
import java.util.Scanner;
public class Game {
 public static void main(String []args){
  String result=playgame(0);
  System.out.println(result);
 }
 public static String playgame(int user){
  //用戶輸入
  //System.out.println("請輸入您要出的:如果出石頭請輸入0 如果出剪刀請輸入1 如果出布請輸入2");
  //系統生成
  Random xx = new Random(); //聲明隨機數
  int number = xx.nextInt(3); //賦值隨機數給number
  //比較
  if(user==0 && number==0){
   return "你出的是石頭,系統出的是石頭,雙方平局。";
  }
  else if(user==1 && number==0){
   return "你出的是剪刀,系統出的是石頭,你輸了。";
  }
  else if(user==2 && number==0){
   return "你出的是布,系統出的是石頭,你贏了。";
  }
  else if(user==0 && number==1){
   return "你出的是石頭,系統出的是剪刀,你贏了。";
  }
  else if(user==1 && number==1){
   return "你出的是石頭,系統出的是石頭,雙方平局。";
  }
  else if(user==2 && number==1){
   return "你出的是布,系統出的是剪刀,你輸了。";
  }
  else if(user==0 && number==2){
   return "你出的是石頭,系統出的是布,你輸了。";
  }
  else if(user==1 && number==2){
   return "你出的是剪刀,系統出的是布,你贏了。";
  }
  else{
   return "你出的是布,系統出的是布,雙方平局。";
  }
 }

}

看完上述內容,你們掌握使用JavaFX怎么實現石頭剪刀布小游戲的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台中县| 武川县| 岳西县| 吉林市| 托克逊县| 峨眉山市| 拉孜县| 遵义县| 唐河县| 育儿| SHOW| 米易县| 社旗县| 清河县| 荥经县| 定远县| 耒阳市| 平武县| 连山| 读书| 兴业县| 逊克县| 平安县| 湘乡市| 嘉峪关市| 安陆市| 京山县| 伊川县| 达拉特旗| 织金县| 丰宁| 济宁市| 吴江市| 平江县| 班戈县| 资溪县| 神木县| 辽阳县| 信宜市| 密山市| 中西区|