Advertisement
Dhaval2404

TicTacToe Logic

Aug 20th, 2015
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.52 KB | None | 0 0
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package samplejavaproject;
  6.  
  7. import java.text.ParseException;
  8. import java.util.Scanner;
  9. /**
  10.  *
  11.  * @author sanket
  12.  */
  13. public class SampleJavaProject {
  14.      static int length =3;    
  15.      static  Integer[][] matrix = new Integer[length][length];
  16.            
  17.     /**
  18.      * @param args the command line arguments
  19.      */
  20.     public static void main(String[] args) throws ParseException {
  21. //            matrix[0][0]  = 1;  matrix[0][1] = 1; matrix[0][2] = 1;
  22. //            matrix[1][0]  = 1;  matrix[1][1] = 1; matrix[1][2] = 0;
  23. //            matrix[2][0]  =  0;  matrix[2][1] = 1; matrix[2][2] = 0;
  24.             int counter =0;
  25.             Scanner in = new Scanner(System.in);
  26.             int turn = 0;
  27.             while(counter<length*length){
  28.                 if(turn%2==0){
  29.                     System.out.print("USER1:");
  30.                 }else{
  31.                    System.out.print("USER2:");
  32.                 }
  33.                 int a = in.nextInt();
  34.                 int[] ar = getPosition(a);
  35.                 if(turn%2==0){
  36.                     matrix[ar[0]][ar[1]]= 1;
  37.                 }else{
  38.                     matrix[ar[0]][ar[1]]= 2;
  39.                 }
  40.                
  41. //                for(int ii=0;ii<3;ii++){
  42. //                for(int jj=0;jj<3;jj++){
  43. //                        System.out.println("ar["+ii+"]["+jj+"]:"+matrix[ii][jj]);
  44. //                }    
  45. //            }
  46.                 String dd = validateMove();
  47.              //    System.out.println("dd:"+dd);
  48.                 if(validateMove()!=null){
  49.                     break;
  50.                 }
  51.                 turn++;
  52.     }
  53.            
  54.            
  55.     }
  56.    
  57.     private static String validateMove(){
  58.          int i=0, j=0;
  59.             while(i<length){
  60.                 if(matrix[i][j++] == matrix[i][j] && matrix[i][j++] ==matrix[i][j] && matrix[i][j]!=null){
  61.                       return getUser(matrix[i][j]);
  62.                 }
  63.                 i++;
  64.                 j=0;
  65.             }
  66.            
  67.             i=0; j=0;
  68.             while(j<length){
  69.                 if(matrix[i++][j] == matrix[i][j] && matrix[i++][j] ==matrix[i][j] && matrix[i][j]!=null){
  70.                     return getUser(matrix[i][j]);
  71.                 }
  72.                 j++;
  73.                 i=0;
  74.             }
  75.            
  76.             i=0; j=0;
  77.             if(matrix[i++][j++] == matrix[i][j] && matrix[i++][j++] ==matrix[i][j] && matrix[i][j]!=null){
  78.                    return getUser(matrix[i][j]);
  79.             }
  80.            
  81.             i=0; j=length-1;
  82.             if(matrix[i++][j--] == matrix[i][j] && matrix[i++][j--] ==matrix[i][j] && matrix[i][j]!=null){
  83.                  return getUser(matrix[i][j]);
  84.             }
  85.            
  86.             return null;
  87.     }
  88.    
  89.     private static  String getUser(int val){
  90.                     if(val==1){
  91.                         return "1 win";
  92.                     }else{
  93.                         return "2 win";
  94.                     }
  95.     }
  96.    
  97.     static  int[][] matrix1 = {{1,2,3},{4,5,6},{7,8,9}};
  98.     private static int[] getPosition(int count){
  99.          int[] ar = new int[2];
  100.         for(int i=0;i<3;i++){
  101.                 for(int j=0;j<3;j++){
  102.                           if(count==matrix1[i][j]){
  103.                               ar[0] = i;
  104.                               ar[1] = j;
  105.                           }  
  106.                 }    
  107.             }
  108.        
  109.                               return ar;
  110.     }
  111.    
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement