All pastes #766748 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-09 03:15 UTC
rendered paste body
/* * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Alex Launi                                        *
 * Jordan Goldberk                                   *
 * Kyle Sebring                                      *
 *                                                   *
 * 2DTicTacToe.java is a two dimentional TicTacToe   *
 * game. It implements the AnyTicTacToe interface    *
 * TicTacToe games.                                  *
 *                                                   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * */

import java.util.Scanner;

public class 2DTicTacToe implements AnyTicTacToe
{
    // Field variables for 2D TicTacToe
    public char[][] gameBoard;
    final int ROWS = 3, COLS = 3;

    // Class constructor to initialize the game board
    public 2DTicTacToe()
    {
        gameBoard = new char[ROWS][COLS];
	}

    // Prints game board in its current state
    public void printBoard()
    {
        System.out.println("   1    2    3  ");
		vertes();
		vertes();
		System.out.println("1  " + gameBoard[0][0] + " |  " + gameBoard[0][1] + " |  " + gameBoard[0][2] + "  ");
		vertes();
		vertHoriz();
		vertes();
		vertes();
		System.out.println("2  " + gameBoard[1][0] + " |  " + gameBoard[1][1] + " |  " + gameBoard[1][2] + "  ");
		vertes();
		vertHoriz();
		vertes();
		vertes();
		System.out.println("3  " + gameBoard[2][0] + " |  " + gameBoard[2][1] + " |  " + gameBoard[2][2] + "  ");
		vertes();
		vertes();
    }

	// Prints some vertical lines
	private void vertes()
	{
 		System.out.println("      |     |     ");
	}
	// Prints some vertical lines and some horiztonal ones too
	private void verteHoriz()
	{
 		System.out.println(" _____|_____|_____");
	}


    // returns true if move was made, false if said space is already occupied
    // @console is a Scanner to take location to place X or O
    // @player X or O depending on whose turn it is
    public void move(Scanner console, char player)
    {
    	int row, col;
        System.out.print("It is the " + player + " turn.");
        System.out.print("Please enter a row and a column: ");
        int row = console.nextInt();
        int col = console.nextInt();
        while(canMove(row,col)) {
        	gameBoard[row][col] = player;
        }
    }

	// helper method for move() that checks if the space is occupied
    private boolean canMove(int row, int col)
    {
    	if(gameBoard[row][col] != '') {
    		return false;
    	} else {
    		return true;
    	}
    }

    // Checks board for a full row of Xs or Os.
    // returns true if there is a full row
    public boolean fullRow()
    {
        // Checks the array for 3 of the same characters in a horizontal, vertical, or diagonal row.
        // It returns true if there are 3 of the same characters in a h, v, or d row.
        // Will be useful to use as the conditon for a loop in the main body of our program
    }
}