Advertisement
Guest User

Untitled

a guest
May 27th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.44 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Game
  4. {
  5.     Scanner input=new Scanner(System.in);
  6.     String select;
  7.     int size[][];
  8.     int turn;
  9.     int x_actor, y_actor;
  10.     int p1_x, p1_y, p2_x, p2_y;
  11.  
  12.     //Constructor
  13.     public Game(int x, int y, int t)
  14.     {
  15.         size=new int[x][y];
  16.         turn=t;
  17.  
  18.         for(int i=0;i<x;i++)
  19.         {
  20.             for(int j=0;j<y;j++)
  21.                 size[i][j]=0;
  22.         }
  23.  
  24.         x_actor=x;
  25.         y_actor=y;
  26.     }
  27.  
  28.     public void game_core()
  29.     {
  30.        // AI ai=new AI(x_actor,y_actor);
  31.         while(true)
  32.         {
  33.             if(turn==1)
  34.             {
  35.                 while (true) {
  36.                     System.out.print("Player 1's turn : ");
  37.                     p1_x = input.nextInt();
  38.                     p1_y = input.nextInt();
  39.  
  40.                     if (user_checker(p1_x, p1_y, 1) == 2)
  41.                         break;
  42.                 }
  43.                 board_printer();
  44.                 if (judge(1) == 1) {
  45.                     System.out.println("Player 1 is winner!");
  46.                     break;
  47.                 }
  48.                 if (draw() == 1) {
  49.                     System.out.println("Draw!");
  50.                     break;
  51.                 }
  52.                 turn+=1;
  53.             }
  54.             else {
  55.                 while (true) {
  56.                     System.out.print("Player 2's turn :");
  57.                     p2_x = input.nextInt();
  58.                     p2_y = input.nextInt();
  59.                     /*
  60.                     p2_x = ai.setNumber();
  61.                     p2_y = ai.setNumber();
  62.                     */
  63.  
  64.                     if (user_checker(p2_x, p2_y, 2) == 2)
  65.                         break;
  66.                 }
  67.                 board_printer();
  68.                 if (judge(2) == 1) {
  69.                     System.out.println("Player 2 is winner!");
  70.                     break;
  71.                 }
  72.                 if (draw() == 1) {
  73.                     System.out.println("Draw!");
  74.                     break;
  75.                 }
  76.                 turn-=1;
  77.             }
  78.         }
  79.  
  80.     }
  81.  
  82.  
  83.     public int draw()
  84.     {
  85.         int i, j;
  86.         int num=0;
  87.  
  88.         for(i=0;i<x_actor;i++)
  89.         {
  90.             for(j=0;j<y_actor;j++)
  91.             {
  92.                 if(size[i][j]!=0)
  93.                 {
  94.                     num++;
  95.                 }
  96.             }
  97.         }
  98.  
  99.         if(num==(x_actor*y_actor))
  100.             return 1;   //draw
  101.         else
  102.             return 2;   //pass
  103.     }
  104.     //Judging win
  105.     public int judge(int num)
  106.     {
  107.         int i, j;
  108.         int access_number=0;
  109.         int fi_number=0;    //number '1' is win, but number '0' is pass ..
  110.  
  111.         for(i=0;i<x_actor;i++)
  112.         {
  113.             //width
  114.             for (j = 0; j < y_actor; j++)
  115.             {
  116.                 if (size[i][j] == num)
  117.                     access_number++;
  118.             }
  119.             if (access_number == x_actor)
  120.             {
  121.                 fi_number = 1;
  122.                 break;
  123.             }
  124.             access_number = 0;
  125.  
  126.             //height
  127.             for (j =0;j<y_actor;j++)
  128.             {
  129.                 if (size[j][i] == num)
  130.                     access_number++;
  131.             }
  132.             if (access_number == x_actor)
  133.             {
  134.                 fi_number = 1;
  135.                 break;
  136.             }
  137.             access_number = 0;
  138.         }
  139.  
  140.         if(fi_number!=1)
  141.         {
  142.             i = 0;
  143.             j = 0;
  144.             access_number = 0;
  145.  
  146.             //left diagonal
  147.             while (i < x_actor && j < y_actor) {
  148.                 if (size[i][j] == num)
  149.                     access_number++;
  150.                 i++;
  151.                 j++;
  152.             }
  153.             if (access_number == x_actor)
  154.                 fi_number = 1;
  155.         }
  156.  
  157.         if(fi_number!=1)
  158.         {
  159.             i = 0;
  160.             j = y_actor - 1;
  161.             access_number = 0;
  162.  
  163.             //right diagonal
  164.             while (i < x_actor && j >= 0)
  165.             {
  166.                 if (size[i][j] == num)
  167.                     access_number++;
  168.                 i++;
  169.                 j--;
  170.             }
  171.             if (access_number == x_actor)
  172.                 fi_number = 1;
  173.         }
  174.  
  175.         return fi_number;
  176.     }
  177.  
  178.     //Printing Game Board
  179.     public void board_printer()
  180.     {
  181.         int i, j;
  182.  
  183.         System.out.println("****Board Status****");
  184.  
  185.         for(i=0;i<x_actor;i++)
  186.         {
  187.             for(j=0;j<y_actor;j++)
  188.             {
  189.                 System.out.print(size[i][j]+" ");
  190.             }
  191.             System.out.println();
  192.         }
  193.     }
  194.  
  195.     //Checking users choice
  196.     public int user_checker(int x, int y, int user_code)
  197.     {
  198.         int setting_num;
  199.         //return number '1' is error, but '2' is ok.
  200.  
  201.         if(x>=x_actor||y>=y_actor)
  202.         {
  203.             System.out.println("Your input is wrong!");
  204.             setting_num=1;
  205.         }
  206.         else if(size[x][y]!=0)
  207.         {
  208.             System.out.println("This place can't setting your number.");
  209.             setting_num=1;
  210.         }
  211.         else
  212.         {
  213.             size[x][y] = user_code;
  214.             setting_num=2;
  215.         }
  216.  
  217.         return setting_num;
  218.     }
  219.  
  220.     //Asking quit game
  221.     public int quit_game()
  222.     {
  223.         System.out.print("Do yo want to replay this game? (Yes/No) : ");
  224.         select=input.next();
  225.  
  226.         if(select.equals("Yes"))
  227.             return 1;
  228.         else
  229.             return 2;
  230.     }
  231. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement