import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.stage.Stage; import javafx.scene.paint.Color; public class Othello extends Application { private final int scale = 40; private final int space = 3; public void start(Stage stage) { stage.setTitle("IZ"); final Canvas canvas = new Canvas(scale * 8 + 1, scale * 8 + 1); GraphicsContext gc = canvas.getGraphicsContext2D(); int[][] state = {{0,1,2,0,1,2,0,1}, {2,0,1,2,0,1,2,0}, {1,2,0,1,2,0,1,2}, {0,1,2,0,1,2,0,1}, {2,0,1,2,0,1,2,0}, {1,2,0,1,2,0,1,2}, {0,1,2,0,1,2,0,1}, {2,0,1,2,0,1,2,0}}; int i,j; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { gc.setFill(Color.GREEN); gc.fillRect(i * scale, j * scale, scale, scale); gc.setStroke(Color.BLACK); gc.strokeRect(i * scale, j * scale, scale, scale); if (state[i][j] == 1) { gc.setFill(Color.WHITE); gc.fillOval(i * scale + space, j * scale + space, scale - space * 2, scale - space * 2); } else if (state[i][j] == 2) { gc.setFill(Color.BLACK); gc.fillOval(i * scale + space, j * scale + space, scale - space * 2, scale - space * 2); } } } Group root = new Group(); root.getChildren().addAll(canvas); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } public static void main(String... args) { launch(args); } }