GTU OOP Program - 17 tic-tac-toe
17). Write a program that displays a tic-tac-toe board. A cell may be X, O, or empty. What to display at each cell is randomly decided. The X and O are images in the files X.gif and O.gif.
Note:Due to some reason .gif files were not supporting in my program so instead of .gif images I have used .jpg format images of O and X.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Program_17 extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Tic-Tac-Toe by kt");
GridPane gridPane = new GridPane();
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
int n = (int) (Math.random() * 3);
if (n == 0)
gridPane.add(createX(), i, j);
else if (n == 1)
gridPane.add(createO(), i, j);
else
continue;
}
}
Scene primaryScene = new Scene(gridPane, 300, 300);
primaryStage.setScene(primaryScene);
primaryStage.show();
}
public VBox createX() {
Image imageX = new Image("File:C:/Users/kanut/Desktop/image/x.jpg");
ImageView imageViewX = new ImageView(imageX);
VBox xBox = setProp(imageViewX);
return xBox;
}
public VBox createO() {
Image imageO = new Image("File:C:/Users/kanut/Desktop/image/0.jpg");
ImageView imageViewO = new ImageView(imageO);
VBox oBox = setProp(imageViewO);
return oBox;
}
public VBox setProp(ImageView iv) {
iv.setFitHeight(50);
iv.setFitWidth(50);
iv.setPreserveRatio(true);
VBox vBox = new VBox();
vBox.getChildren().add(iv);
vBox.setStyle("-fx-border-color: orange");
return vBox;
}
public static void main(String[] args) {
// Here you can work with args - command line parameters
Application.launch(args);
}
}
Output
First run
Second run
Third run



Comments