在javafx中创建TicTacToe

时间:2016-05-04 18:18:25

标签: javafx

我正在写一个TicTacToe程序,它显示了一个具有以下品质的井字棋盘:

  • 单元格可以是X,O或空。
  • 在启动程序时随机决定每个单元格显示的内容。
  • 输入X和O作为文本而不是图像。

在我的程序中,我将X和O作为.gif文件。我想知道将X和O作为文本而不是图像放置时代码会是什么样子?提前谢谢!

这是我的代码:

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.text.Text;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class TicTacToe extends Application {

    @Override
    public void start(Stage primaryStage) {

        GridPane pane = new GridPane();
        pane.setAlignment(Pos.CENTER);
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                int random = (int)(Math.random() * 3);
                if (random != 2) {
                    String text = (random > 0) ? "/image/x.gif" : "/image/o.gif";
                    pane.add(new ImageView(new Image(image)), j, i);
                }
            }
        }
        Scene scene = new Scene(pane, 150, 150);
        primaryStage.setTitle("Tic Tac Toe");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {

        Application.launch(args);

    }

}

    // Create a scene and place it in the stage
    Scene scene = new Scene(pane);
    primaryStage.setTitle("TicTacToe"); // Set the stage title
    primaryStage.setScene(scene); // Place the scene in the stage
    primaryStage.show(); // Display the stage
  }

  public static void main(String[] args) {
    launch(args);
  }
} 

1 个答案:

答案 0 :(得分:0)

将“/image/x.gif”替换为“X”,将“/image/o.gif”替换为“O”,而不是使用ImageView,使用Label并将标签文本设置为文本变量然后将其添加到您的窗格