Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Final Project Tic Tac Toe
- //Created by Anonymous
- /*Play Tic Tac Toe. Hit new game to reset the board. Usually played with 2 players.*/
- import javafx.application.Application;
- import javafx.event.EventHandler;
- import javafx.event.ActionEvent;
- import javafx.scene.shape.Rectangle;
- import javafx.scene.Scene;
- import javafx.scene.input.MouseButton;
- import javafx.scene.layout.Pane;
- import javafx.scene.layout.StackPane;
- import javafx.scene.paint.Color;
- import javafx.scene.control.Button;
- import javafx.scene.text.Text;
- import javafx.scene.text.Font;
- import javafx.stage.Stage;
- public class TicTacToe extends Application implements EventHandler < ActionEvent > {
- Tile t11, t12, t13, t21, t22, t23, t31, t32, t33;
- boolean currTurn;
- boolean gameCont;
- Text winNote;
- Text credits;
- Button reset;
- Button close;
- public static void main(String[] args) {
- launch(args);
- }
- public void start(Stage primaryStage) {
- gameCont = true;
- currTurn = false;
- credits = new Text("This app was created by Anonymous with love. Enjoy!");
- credits.setLayoutX(310);
- credits.setLayoutY(695);
- winNote = new Text("");
- winNote.setLayoutX(110);
- winNote.setLayoutY(637);
- reset = new Button("New Game");
- reset.setLayoutX(25);
- reset.setLayoutY(620);
- reset.setOnAction(new EventHandler < ActionEvent > () {
- public void handle(ActionEvent event) {
- winNote.setText("New Game Started");
- gameCont = true;
- currTurn = false;
- t11.text.setText("");
- t12.text.setText("");
- t13.text.setText("");
- t21.text.setText("");
- t22.text.setText("");
- t23.text.setText("");
- t31.text.setText("");
- t32.text.setText("");
- t33.text.setText("");
- }
- });
- close = new Button("Close");
- close.setLayoutX(25);
- close.setLayoutY(655);
- close.setOnAction(new EventHandler < ActionEvent > () {
- public void handle(ActionEvent event) {
- primaryStage.close();
- }
- });
- t11 = new Tile(Color.LIGHTBLUE);
- t11.setLayoutY(0);
- t11.setLayoutX(0);
- t12 = new Tile(Color.LIGHTYELLOW);
- t12.setLayoutY(0);
- t12.setLayoutX(200);
- t13 = new Tile(Color.LIGHTBLUE);
- t13.setLayoutY(0);
- t13.setLayoutX(400);
- t21 = new Tile(Color.LIGHTYELLOW);
- t21.setLayoutY(200);
- t21.setLayoutX(0);
- t22 = new Tile(Color.LIGHTBLUE);
- t22.setLayoutY(200);
- t22.setLayoutX(200);
- t23 = new Tile(Color.LIGHTYELLOW);
- t23.setLayoutY(200);
- t23.setLayoutX(400);
- t31 = new Tile(Color.LIGHTBLUE);
- t31.setLayoutY(400);
- t31.setLayoutX(0);
- t32 = new Tile(Color.LIGHTYELLOW);
- t32.setLayoutY(400);
- t32.setLayoutX(200);
- t33 = new Tile(Color.LIGHTBLUE);
- t33.setLayoutY(400);
- t33.setLayoutX(400);
- primaryStage.setTitle("Tic Tac Toe");
- Pane scene = new Pane();
- primaryStage.setScene(new Scene(scene, 600, 700));
- scene.getChildren().addAll(t11, t12, t13, t21, t22, t23, t31, t32, t33, reset, close, winNote, credits);
- primaryStage.show();
- }
- private class Tile extends StackPane {
- private Text text = new Text();
- public Tile(Color color) {
- text.setFont(Font.font("Calibri", 80));
- Rectangle border = new Rectangle(200, 200);
- border.setFill(color);
- border.setStroke(Color.BLACK);
- getChildren().addAll(border, text);
- setOnMouseClicked(event -> {
- if (event.getButton() == MouseButton.PRIMARY) {
- if (gameCont == true) {
- if (text.getText().isEmpty()) {
- if (currTurn == false) {
- text.setText("X");
- currTurn = true;
- } else {
- text.setText("O");
- currTurn = false;
- }
- // BELOW ARE CHECKS FOR ROWS
- if (t11.text.getText().equals("X") && t12.text.getText().equals("X") && t13.text.getText().equals("X")) {
- winNote.setText("X Wins!");
- } else if (t11.text.getText().equals("O") && t12.text.getText().equals("O") && t13.text.getText().equals("O")) {
- winNote.setText("O Wins!");
- } else if (t21.text.getText().equals("X") && t22.text.getText().equals("X") && t23.text.getText().equals("X")) {
- winNote.setText("X Wins!");
- } else if (t21.text.getText().equals("O") && t22.text.getText().equals("O") && t23.text.getText().equals("O")) {
- winNote.setText("O Wins!");
- } else if (t31.text.getText().equals("X") && t32.text.getText().equals("X") && t33.text.getText().equals("X")) {
- winNote.setText("X Wins!");
- } else if (t31.text.getText().equals("O") && t32.text.getText().equals("O") && t33.text.getText().equals("O")) {
- winNote.setText("O Wins!");
- }
- // BELOW ARE CHECKS FOR COLUMNS
- else if (t11.text.getText().equals("X") && t21.text.getText().equals("X") && t31.text.getText().equals("X")) {
- winNote.setText("X Wins!");
- } else if (t11.text.getText().equals("O") && t21.text.getText().equals("O") && t31.text.getText().equals("O")) {
- winNote.setText("O Wins!");
- } else if (t12.text.getText().equals("X") && t22.text.getText().equals("X") && t32.text.getText().equals("X")) {
- winNote.setText("X Wins!");
- } else if (t12.text.getText().equals("O") && t22.text.getText().equals("O") && t32.text.getText().equals("O")) {
- winNote.setText("O Wins!");
- } else if (t13.text.getText().equals("X") && t23.text.getText().equals("X") && t33.text.getText().equals("X")) {
- winNote.setText("X Wins!");
- } else if (t13.text.getText().equals("O") && t23.text.getText().equals("O") && t33.text.getText().equals("O")) {
- winNote.setText("O Wins!");
- }
- // BELOW ARE CHECKS FOR DIAGONALS
- else if (t11.text.getText().equals("X") && t22.text.getText().equals("X") && t33.text.getText().equals("X")) {
- winNote.setText("X Wins!");
- } else if (t11.text.getText().equals("O") && t22.text.getText().equals("O") && t33.text.getText().equals("O")) {
- winNote.setText("O Wins!");
- } else if (t13.text.getText().equals("X") && t22.text.getText().equals("X") && t31.text.getText().equals("X")) {
- winNote.setText("X Wins!");
- } else if (t13.text.getText().equals("O") && t22.text.getText().equals("O") && t31.text.getText().equals("O")) {
- winNote.setText("O Wins!");
- }
- // ENDS THE GAME IF SOMEONE WINS
- if (winNote.getText().equals("X Wins!") || winNote.getText().equals("O Wins!"))
- gameCont = false;
- // BELOW IS THE DRAW CHECK, ENDS THE GAME IF PASSED
- else if (!(t11.text.getText().equals("")) && !(t12.text.getText().equals("")) && !(t13.text.getText().equals("")) && !(t21.text.getText().equals("")) && !(t22.text.getText().equals("")) && !(t23.text.getText().equals("")) && !(t31.text.getText().equals("")) && !(t32.text.getText().equals("")) && !(t33.text.getText().equals(""))) {
- winNote.setText("Draw!");
- gameCont = false;
- }
- }
- }
- }
- });
- }
- }
- public void handle(ActionEvent event) {
- System.out.println("What happened?");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement