Create a class TicTacToe that will enable you to write a
complete program to play the
game of Tic-Tac-Toe. The class contains as private data a 3-
by-3 double array of integers. The constructor
should initialize the empty board to all zeros. Allow two
human players. Wherever the first
player moves, place a 1 in the specified square; place a 2
wherever the second player moves. Each
move must be to an empty square. After each move determine
whether the game has been won and
whether the game is a draw. If you feel ambitious, modify
your program so that the computer makes
the moves for one of the players automatically. Also, allow
the player to specify whether he or she
wants to go first or second. If you feel exceptionally
ambitious, develop a program that will play
three-dimensional Tic-Tac-Toe on a 4-by-4-by-4
Answers were Sorted based on User's Feedback
Answer / sameen javed
public class tictactoe {
private char[][] gameBoard = new char[3][3];
private final char Nothing = ' ';
private final char PLAYER1 = 'X';
private final char PLAYER2 = 'O';
public void start() {
for (int x = 0; x < 3; x++) {
for (int y = 0; y < 3; y++) {
gameBoard[x][y] = Nothing;
}
}
}
public char winr() {
for (int i = 0; i < gameBoard.length; i++) {
/* check horizontally */
if (gameBoard[i][0] == gameBoard[i][1] &&
gameBoard[i][0] == gameBoard[i][2]) {
if (gameBoard[i][0] != Nothing) {
return gameBoard[i][0];
}
}
/* check vertically */
if (gameBoard[0][i] == gameBoard[1][i] &&
gameBoard[0][i] == gameBoard[2][i]) {
if (gameBoard[0][i] != Nothing) {
return gameBoard[0][i];
}
}
}
/* check diagonally */
if (gameBoard[0][0] == gameBoard[1][1] &&
gameBoard[0][0] == gameBoard[2][2]) {
if (gameBoard[0][0] != Nothing) {
return gameBoard[0][0];
}
}
if (gameBoard[0][2] == gameBoard[1][1] &&
gameBoard[0][2] == gameBoard[2][0]) {
for (int i = 0; i < gameBoard.length; i++) {
char[] cs = gameBoard[i];
}
if (gameBoard[0][2] != Nothing) {
}
{
return gameBoard[0][2];
}
}
return Nothing;
}
}
| Is This Answer Correct ? | 16 Yes | 16 No |
Answer / usman ahmed
#include <iostream>
using namespace std;
const int boardSize = 3;
const int masksCounter = 8;
const bool mask[masksCounter][boardSize][boardSize] = {
{
{1, 1, 1},
{0, 0, 0},
{0, 0, 0}
},
{
{0, 0, 0},
{1, 1, 1},
{0, 0, 0}
},
{
{0, 0, 0},
{0, 0, 0},
{1, 1, 1}
},
{
{1, 0, 0},
{1, 0, 0},
{1, 0, 0}
},
{
{0, 1, 0},
{0, 1, 0},
{0, 1, 0}
},
{
{0, 0, 1},
{0, 0, 1},
{0, 0, 1}
},
{
{1, 0, 0},
{0, 1, 0},
{0, 0, 1}
},
{
{0, 0, 1},
{0, 1, 0},
{1, 0, 0}
}
};
enum {
None = 0,
Player1 = 1,
Player2 = 2,
Draw = 3
};
class TicTacToe {
public:
friend class Player; // Make Player class able to search in board field
TicTacToe();
bool set(int x, int y, int p);
int getStatus();
void displayBoard();
private:
// The class contains as private data a 3-by-3 two-dimensional array
// of integers.
int board[boardSize][boardSize];
}obj;
class Player {
public:
Player(int i, bool a = false) : id(i), artificial(a) {}
void move(TicTacToe & game);
private:
int id;
bool artificial;
};
void main()
{
obj.displayBoard();
system("pause");
}
| Is This Answer Correct ? | 13 Yes | 13 No |
how do i create my own exception class which will restrict IO exception?
What ports must be open for DCOM over a firewall? What is the purpose of Port 135?
HOW TO BREAK THE FIREWALL?
I am taking the bmc control m/enterprise manager 7.0 scheduling test and just wanted to see what kind of questions they would ask or if anyone has taken the test and how long it is for how many questions?
Hi friends :) This Company Aptitude Questions were much easy. i have attended the interview but was not selected in the HR round. they used to ask questions like puzzles, English, fill up the sentence. for example : they asked one question like suraj, kumar, santhosh, ranga and ashwin are professionals in different fields. suraj is a doctor. kumar is not a musician.ranga is working as engineer. ashwin is from goa. santhosh is from chennai. suraj and ranga are not from delhi. find out who is working in which field and where are they from? it was not the exact question. i answered that question with correct answer. just thorough with SQL queries. they are much interested in that. i cleared Technical round where they asked me to write a C code for checking, if the given word is palindrome or not. also they asked 2 puzzle question to solve in front of them. then the asked SQL query for referring two tables. then, they sent me for HR round. i got little nervous in that round. so, could not answer them properly. In Hr round, they may ask Technical Questions. i was asked only Technical Questions in HR round. they asked questions from SQL queries and my project. i could not answer for the questions perfectly. so, i was not selected. anyway, try to be thorough with these info and rock in your interview. Thanks :)
what will we require to build project with the help of oracle
Always use scope terminator like End-If with IF, End- Evaluate with Evaluate statement.Can somebody explain me the detail logical explanation?
What is nocopy in plsql?
If u need any fake experience certificate in software side, contact me at: vikramyadhav@gmail.com
How Many versions are there in crystal reports
hi..this is kartheek..complted mca in 2009..but i dont have knowledge in programing..but to learn new language.. which one is suitable for me?is SAP or IBM mainframes is suitable for me..?if it suits how much will it costs..?pls answer...
what is difference between oracle and pl/sql