Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

TicTacToe

$
0
0
 //class

public class TicTacToe
{
	private String [][] board;
	private static final int ROWS=3;
	private static final int COLUMNS = 3;
	
	public TicTacToe()
	{
		board = new String[ROWS][COLUMNS];
		
		//write code to fill in  board with space
		
	}
	
	public void set (int i, int j, String player)
	{
		//sets x or o
		if (board[i][j].equals(""))
			board[i][j] = player;
	}

	public String findWinner ()
	{
		//x
		if (((board[1][1] == "X") && (board[1][2] == "X") && (board[1][3] == "X")))
			return ("Player1 Wins!");
		else if (((board[2][1] == "X") && (board[2][2] == "X") && (board[2][3] == "X")))
			return ("Player1 Wins!");
		else if (((board[3][1] == "X") && (board[3][2] == "X") && (board[3][3] == "X")))
			return ("Player1 Wins!");

		//side
		
		else if (((board[1][1] == "X") && (board [1][2] == "X") && (board [1][3] == "X"))) 
			return ("Player1 Wins!");
		else if (((board[2][1] == "X") && (board [2][2] == "X") && (board [2][3] == "X"))) 
			return ("Player1 Wins!");		
		else if (((board[3][1] == "X") && (board [3][2] == "X") && (board [3][3] == "X"))) 
			return ("Player1 Wins!");		 
		//down
		else if (((board[1][1] == "X") && (board [2][2] == "X") && (board [3][3] == "X"))) 
			return ("Player1 Wins!");			
		else if (((board[1][3] == "X") && (board [2][2] == "X") && (board [1][3] == "X"))) 
			return ("Player1 Wins!");
		//slant
		
		
		//o	
		if (((board[1][1] == "O") && (board[1][2] == "O") && (board[1][3] == "O")))
			return ("Player2 Wins!");
		else if (((board[2][1] == "O") && (board[2][2] == "O") && (board[2][3] == "O")))
			return ("Player2 Wins!");
		else if (((board[3][1] == "O") && (board[3][2] == "O") && (board[3][3] == "O")))
			return ("Player2 Wins!");

		//side
		
		else if (((board[1][1] == "O") && (board [1][2] == "O") && (board [1][3] == "O"))) 
			return ("Player2 Wins!");
		else if (((board[2][1] == "O") && (board [2][2] == "O") && (board [2][3] == "O"))) 
			return ("Player2 Wins!");		
		else if (((board[3][1] == "O") && (board [3][2] == "O") && (board [3][3] == "O"))) 
			return ("Player2 Wins!");		 
		//down
		
		else if (((board[1][1] == "O") && (board [2][2] == "O") && (board [3][3] == "O"))) 
			return ("Player2 Wins!");			
		else if (((board[1][3] == "O") && (board [2][2] == "O") && (board [1][3] == "O"))) 
			return ("Player2 Wins!");
		//slant
		
		
		//tie
		else return ("Tie");
			
	}
	public String toString()
	{//creates a string representation of the board
		
		String r = "";
		for (int i = 0; i<ROWS; i++)
		{
			r = r+ "|";
			for (int j=0; j<COLUMNS; j++)
				r = r + board[i][j];
				
			r = r + "|\n";
		}
		return r;
		
	}
}




 //drive
import java.util.*;

public class ticDrive
{

	public static void main (String[] args)
	{	
		Scanner scan = new Scanner (System.in);
		String nameA, nameB;
		TicTacToe a = new TicTacToe();
		
		int row,col;
			
		System.out.print("Enter name of player1:");
        nameA=scan.next();
        System.out.print("Enter name of player2:");
        nameB=scan.next();
        System.out.println(nameA+ " = X");
        System.out.println(nameB+ " = O\n");
        
        for (int i = 0; i<5; i++)
        {	
        	System.out.print ("Player 1 enter the row then column that you would like to place an X ");
        	row = scan.nextInt();
        	col = scan.nextInt();
        	a.set (row, col, "X");
       		System.out.println (a.toString());
        }
        
        for (int i = 0; i<4; i++)
        {
        	System.out.print ("Player 1 enter the row then column that you would like to place an X");
        	row = scan.nextInt();
        	col = scan.nextInt();
        	a.set (row, col, "O");
       		System.out.println (a.toString());
        }
        
        System.out.println ("Final Board\n\n");
        System.out.println (a.toString());
        
        System.out.println ("Winner: " + a.findWinner());
       
      
	}
} 





Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at TicTacToe.set(TicTacToe.java:21)
at ticDrive.main(ticDrive.java:28)

my code probably doesn't even work, and I don't even know whats wrong with my array that it's getting this error please help :P/>

public class ticDrive
{

	public static void main (String[] args)
	{	
		Scanner scan = new Scanner (System.in);
		String nameA, nameB;
		TicTacToe a = new TicTacToe();
		
		int row,col;
			
		System.out.print("Enter name of player1:");
        nameA=scan.next();
        System.out.print("Enter name of player2:");
        nameB=scan.next();
        System.out.println(nameA+ " = X");
        System.out.println(nameB+ " = O\n");
        
        for (int i = 0; i<5; i++)
        {	
        	System.out.print ("Player 1 enter the row then column that you would like to place an X ");
        	row = scan.nextInt();
        	col = scan.nextInt();
        	a.set (row, col, "X");
       		System.out.println (a.toString());
        }
        
        for (int i = 0; i<4; i++)
        {
        	System.out.print ("Player 1 enter the row then column that you would like to place an X");
        	row = scan.nextInt();
        	col = scan.nextInt();
        	a.set (row, col, "O");
       		System.out.println (a.toString());
        }
        
        System.out.println ("Final Board\n\n");
        System.out.println (a.toString());
        
        System.out.println ("Winner: " + a.findWinner());
       
      
	}
}






public class TicTacToe
{
	private String [][] board;
	private static final int ROWS=3;
	private static final int COLUMNS = 3;
	
	public TicTacToe()
	{
		board = new String[ROWS][COLUMNS];
		
		//write code to fill in  board with space
		
	}
	
	public void set (int i, int j, String player)
	{
		//sets x or o
		if (board[i][j].equals(""))
			board[i][j] = player;
	}

	public String findWinner ()
	{
		//x
		if (((board[1][1] == "X") && (board[1][2] == "X") && (board[1][3] == "X")))
			return ("Player1 Wins!");
		else if (((board[2][1] == "X") && (board[2][2] == "X") && (board[2][3] == "X")))
			return ("Player1 Wins!");
		else if (((board[3][1] == "X") && (board[3][2] == "X") && (board[3][3] == "X")))
			return ("Player1 Wins!");

		//side
		
		else if (((board[1][1] == "X") && (board [1][2] == "X") && (board [1][3] == "X"))) 
			return ("Player1 Wins!");
		else if (((board[2][1] == "X") && (board [2][2] == "X") && (board [2][3] == "X"))) 
			return ("Player1 Wins!");		
		else if (((board[3][1] == "X") && (board [3][2] == "X") && (board [3][3] == "X"))) 
			return ("Player1 Wins!");		 
		//down
		else if (((board[1][1] == "X") && (board [2][2] == "X") && (board [3][3] == "X"))) 
			return ("Player1 Wins!");			
		else if (((board[1][3] == "X") && (board [2][2] == "X") && (board [1][3] == "X"))) 
			return ("Player1 Wins!");
		//slant
		
		
		//o	
		if (((board[1][1] == "O") && (board[1][2] == "O") && (board[1][3] == "O")))
			return ("Player2 Wins!");
		else if (((board[2][1] == "O") && (board[2][2] == "O") && (board[2][3] == "O")))
			return ("Player2 Wins!");
		else if (((board[3][1] == "O") && (board[3][2] == "O") && (board[3][3] == "O")))
			return ("Player2 Wins!");

		//side
		
		else if (((board[1][1] == "O") && (board [1][2] == "O") && (board [1][3] == "O"))) 
			return ("Player2 Wins!");
		else if (((board[2][1] == "O") && (board [2][2] == "O") && (board [2][3] == "O"))) 
			return ("Player2 Wins!");		
		else if (((board[3][1] == "O") && (board [3][2] == "O") && (board [3][3] == "O"))) 
			return ("Player2 Wins!");		 
		//down
		
		else if (((board[1][1] == "O") && (board [2][2] == "O") && (board [3][3] == "O"))) 
			return ("Player2 Wins!");			
		else if (((board[1][3] == "O") && (board [2][2] == "O") && (board [1][3] == "O"))) 
			return ("Player2 Wins!");
		//slant
		
		
		//tie
		else return ("Tie");
			
	}
	public String toString()
	{//creates a string representation of the board
		
		String r = "";
		for (int i = 0; i<ROWS; i++)
		{
			r = r+ "|";
			for (int j=0; j<COLUMNS; j++)
				r = r + board[i][j];
				
			r = r + "|\n";
		}
		return r;
		
	}
}

Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>