Advertisement
philcrafts

TicTacToe Class phil #1

Oct 19th, 2017
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.05 KB | None | 0 0
  1. // Phil Crafts / Adam Tiago
  2. // 10/16/17
  3. // CSC-220 Data Structures
  4. //TicTacToe
  5.  
  6.  
  7. package tictactoe;
  8.  
  9.  
  10.  
  11. public class TicTacToe {
  12.  
  13.    
  14.     private char[][] board;
  15.     private int turns;
  16.    
  17.    
  18.    
  19.     public int getTurns() {
  20.         return this.turns;
  21.     }
  22.    
  23.     public void setTurns(int turns) {
  24.         this.turns = turns;
  25.     }
  26.    
  27.    
  28.     public TicTacToe() {
  29.        
  30.         this.board = new char[3][3];
  31.        
  32.         for (int i = 0; i < 3; i++) {
  33.                for (int j = 0; j < 3; j++)
  34.                {
  35.                    this.board[i][j] = ' ';
  36.                }
  37.         }
  38.        
  39.         setTurns(0);
  40.        
  41.     }
  42.    
  43.    
  44.     public char getPlayerAt (int r, int c)
  45.     {      
  46.         return this.board[r][c];
  47.     }
  48.    
  49.     public boolean isTied() {
  50.        
  51.         if (!isWinner('X') && !isWinner('O') && isFull())
  52.             return true;
  53.         else
  54.             return false;
  55.        
  56.        
  57.     }
  58.     public boolean isFull() {
  59.         if(getTurns() == 9)
  60.             return true;
  61.         else
  62.             return false;
  63.     }
  64.  
  65.     public boolean isWinner(char c) {
  66.        
  67.         for (int i = 0; i < this.board.length; i++) {
  68.      
  69.             if(this.board[i][0] == c && this.board[i][1] == c && this.board[i][2] == c)
  70.                 return true;
  71.            
  72.            
  73.             if(this.board[0][i] == c && this.board[1][i] == c && this.board[2][i] == c)
  74.                 return true;
  75.         }
  76.        
  77.        
  78.         if(this.board[0][0] == c && this.board[1][1] == c && this.board[2][2] == c)
  79.                 return true;
  80.        
  81.         if(this.board[0][2] == c && this.board[1][1] == c && this.board[2][0] == c)
  82.             return true;
  83.        
  84.        
  85.         return false;  
  86.            
  87.     }
  88.    
  89.     public boolean isValid(int r, int c) {
  90.         if(r > 2 || c > 2 || r < 0 || c < 0)
  91.             return false;
  92.        
  93.         if (this.board[r][c] == ' ')
  94.             return true;
  95.         else
  96.             return false;
  97.        
  98.     }
  99.    
  100.    
  101.     public void playMove(char p, int r, int c) {
  102.         this.board[r][c] = p;
  103.        
  104.         setTurns(getTurns() + 1);
  105.     }
  106.        
  107.    
  108.  
  109.    
  110.  
  111.     @Override
  112.     public String toString() {
  113.          String out = "";
  114.        
  115.         for (int i = 0; i < 3; i++) {
  116.            for (int j = 0; j < 3; j++)
  117.            {
  118.                 out +=  this.board[i][j] + " ";
  119.            }
  120.         out +=("\n");
  121.         }
  122.        
  123.         return out;
  124.    
  125.     }
  126.    
  127.    
  128.    
  129.    
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement