java - Have to write a Tic Tac Toe game for 2 players -


import java.util.scanner;  public class gameboard  {  public static void main(string[] args)  {     string str1;     scanner scan =  new scanner(system.in);     system.out.println("player 1 please enter 1 or 2, 1 = o, 2 = x");     int = scan.nextint();     if(a == 1){         string str2 = "o";         str1 = str2;     }else{         string str2 = "x";         str1 = str2;     }     system.out.println("player 1 please enter row (1, 2 or 3) want: ");     int b = scan.nextint();     if (b == 1 || b == 2 || b == 3){         system.out.println("player 1 please enter column want: ");         int c = scan.nextint();         if( c == 1 || c == 2 || c == 3){             if ( b == 2 && c == 2){                 system.out.println("   |   |   ");                 system.out.println("-----------");                 system.out.println("   | " + str1 + " |   ");                 system.out.println("-----------");                 system.out.println("   |   |   ");             }             if (b == 1 && c == 1){                 system.out.println(str1 + " |   |   ");                 system.out.println("-----------");                 system.out.println("  |   |   ");                 system.out.println("-----------");                 system.out.println("  |   |   ");             }             if (b == 2 && c == 1){                 system.out.println("   |   |   ");                 system.out.println("-----------");                 system.out.println(str1 + "  |   |   ");                 system.out.println("-----------");                 system.out.println("   |   |   ");             }             if (b == 3 && c == 1){                 system.out.println("   |   |   ");                 system.out.println("-----------");                 system.out.println("   |  |   ");                 system.out.println("-----------");                 system.out.println(str1 + "   |   |   ");             }             if (b == 1 && c == 2){                 system.out.println("   | " +str1 +  " |   ");                 system.out.println("-----------");                 system.out.println("   |   |   ");                 system.out.println("-----------");                 system.out.println("   |   |   ");             }             if( b == 3 && c == 2){                 system.out.println("   |   |   ");                 system.out.println("-----------");                 system.out.println("   |  |   ");                 system.out.println("-----------");                 system.out.println("   | " + str1 + "|   ");             }             if (b == 1 && c == 3){                 system.out.println("   |   |" + str1);                 system.out.println("-----------");                 system.out.println("   |  |   ");                 system.out.println("-----------");                 system.out.println("   |   |   ");             }             if (b == 2 && c == 3){                 system.out.println("   |   |   ");                 system.out.println("-----------");                 system.out.println("   |  | " + str1);                 system.out.println("-----------");                 system.out.println("   |   |   ");             }             if ( b == 3 && c == 3){                 system.out.println("   |   |   ");                 system.out.println("-----------");                 system.out.println("   |   |   ");                 system.out.println("-----------");                 system.out.println("   |   | " + str1);             }             system.out.println("player 2 please enter 1 or 2, 1 = o, 2 = x");             int e = scan.nextint();             if(e == 1){                 string str2 = "o";                 str1 = str2;             }else{                 string str2 = "x";                 str1 = str2;         }         system.out.println("player 2 please enter row (1, 2 or 3) want: ");         int f = scan.nextint();         if (f == 1 || f == 2 || f == 3){             system.out.println("player 2 please enter column want: ");             int g = scan.nextint();             if( g == 1 || g == 2 || g == 3){                 if ( f == 2 && g == 2){                     system.out.println("   |   |   ");                     system.out.println("-----------");                     system.out.println("   | " + str1 + " |   ");                     system.out.println("-----------");                     system.out.println("   |   |   ");                 }                 if (f == 1 && g == 1){                     system.out.println(str1 + " |   |   ");                     system.out.println("-----------");                     system.out.println("  |   |   ");                     system.out.println("-----------");                     system.out.println("  |   |   ");                 }                 if (f == 2 && g == 1){                     system.out.println("   |   |   ");                     system.out.println("-----------");                     system.out.println(str1 + "  |   |   ");                     system.out.println("-----------");                     system.out.println("   |   |   ");                 }                 if (f == 3 && g == 1){                     system.out.println("   |   |   ");                     system.out.println("-----------");                     system.out.println("   |  |   ");                     system.out.println("-----------");                     system.out.println(str1 + "   |   |   ");                 }                 if (f == 1 && g == 2){                     system.out.println("   | " +str1 +  " |   ");                     system.out.println("-----------");                     system.out.println("   |   |   ");                     system.out.println("-----------");                     system.out.println("   |   |   ");                 }                 if( f == 3 && g == 2){                     system.out.println("   |   |   ");                     system.out.println("-----------");                     system.out.println("   |  |   ");                     system.out.println("-----------");                     system.out.println("   | " + str1 + "|   ");                 }                 if (f == 1 && g == 3){                     system.out.println("   |   |" + str1);                     system.out.println("-----------");                     system.out.println("   |  |   ");                     system.out.println("-----------");                     system.out.println("   |   |   ");                 }                 if (f == 2 && g == 3){                     system.out.println("   |   |   ");                     system.out.println("-----------");                     system.out.println("   |  | " + str1);                     system.out.println("-----------");                     system.out.println("   |   |   ");                 }                 if ( f == 3 && g == 3){                     system.out.println("   |   |   ");                     system.out.println("-----------");                     system.out.println("   |   |   ");                     system.out.println("-----------");                     system.out.println("   |   | " + str1);                 }                 system.out.println("");             }      }    }  } } } 

i'm writing thing entirely if statements right , feel inherently wrong approach task. can first move of each player cannot figure out way "save" state board in after first player moves, prints board player 1's first move, prints board player 2's first move, not on same board together. feel bit out of league here...

you should more inclined use fields (for "saving") , methods (for re-using bits of code)

try example:

import java.util.scanner;  public class gameboard {     // use matrix emulate 3*3 grid.     private string[][] board = new string[3][3];     private string[][] players = { { "player 1", "x" }, { "player 2", "o" } };     private int currentplayer = -1;      public boolean isboardfull() {         (string[] row : board) {             (string col : row) {                 if (col == null) {                     return false;                 }             }         }          return true;     }      public boolean gameiswon() {         // shall leave imagination ;)         return false;     }      public void printboard() {         (string[] row : board) {             (string col : row) {                 system.out.print("|" + (col == null ? " " : col) + "|");             }              system.out.println("\n---------");         }     }      public void play() {         // try-with-resource (java 7+)          try (scanner scanner = new scanner(system.in)) {             while (!isboardfull()) {                 currentplayer = (currentplayer + 1) % 2;                  boolean valid = false;                  // loop until player makes valid move                 while (!valid) {                     system.out.print(players[currentplayer][0] + ", choose row: \n> ");                     int row = scanner.nextint() - 1;                      system.out.print(players[currentplayer][0] + ", have chosen row " + (row + 1) + ". choose column: \n> ");                     int col = scanner.nextint() - 1;                      if (board[row][col] == null) {                         board[row][col] = players[currentplayer][1];                          printboard();                          if (gameiswon()) {                             system.out.println(players[currentplayer][0] + " wins!");                              return;                         }                          valid = true; // allow players switch turns                     } else {                         system.out.println("this slot taken, try again!");                     }                 }             }              system.out.println("draw!");         }     }      public static void main(string[] args) {         new gameboard().play();     } } 

Comments

Popular posts from this blog

java - Intellij Synchronizing output directories .. -

git - Initial Commit: "fatal: could not create leading directories of ..." -