Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # include "Board.h"
- using namespace std;
- Board::Board()
- {
- width = 7;
- length = 6;
- p_board = new char* [width];
- for (int i = 0; i < width; i++)
- {
- p_board[i] = new char[length];
- }
- for (int i = 0; i < length; i++)
- {
- for (int j = 0; j <width ; j++)
- {
- p_board[i][j] = ' ';
- }
- }
- }
- Board::Board(int length_, int width_)
- {
- if (length_ < 7 || width_ < 6) //check if length < 7 and height < 6
- {
- width = 7;
- length = 6;
- p_board = new char*[width];
- for (int i = 0; i < width; i++)
- {
- p_board[i] = new char[length];
- }
- for (int i = 0; i <length ; i++)
- {
- for (int j = 0; j <width; j++)
- {
- p_board[i][j] = ' ';
- }
- }
- }
- else
- {
- length = length_;
- width = width_;
- p_board = new char*[width];
- for (int i = 0; i < width; i++)
- {
- p_board[i] = new char[length];
- }
- for (int i = 0; i <length; i++)
- {
- for (int j = 0; j <width ; j++)
- {
- p_board[i][j] = ' ';
- }
- }
- }
- }
- Board::~Board()
- {
- for (int i = 0; i < width; i++)
- {
- delete[] p_board[i];
- }
- delete [] p_board;
- }
- /*void Board::print() const
- {
- int j = 1;
- for (int i = 0; i < width; i++)
- {
- cout << j<<" |";
- for (int j = 0; j < length ; j++)
- {
- //cout << "____";
- cout << p_board[i][j];
- }
- j++;
- }
- }
- */
- void Board::PlacePlayer(const int col, int actor)
- {
- for (int i = 0; i < length; i--)
- {
- if (p_board[col][i] == ' ')
- {
- p_board[col][i] = actor;
- break;
- }
- }
- }
- int Board::Winner(const int col, int row, char actor)
- {
- int i = col, j = row, count=1;
- for (int k = 0; k < 3; k++) //cheak row +
- {
- if (p_board[i][j++] == actor)
- {
- count++;
- j++;
- }
- else
- break;
- }
- if (count == 4) //cheak if count =4
- {
- return 0; // "win" ==0
- }
- i = col, j = row;
- for (int k = 0; k < 3; k++)//cheak row --
- {
- if (p_board[i][j--] == actor)
- {
- count++;
- j--;
- }
- else
- break;
- }
- if (count == 4)//cheak if count =4
- {
- return 0; // "win" == 0
- }
- //////////////////////////////////////////////col
- i = col, j = row, count = 1;
- for (int k = 0; k < 3; k++) //cheak col +
- {
- if (p_board[i++][j] == actor)
- {
- count++;
- i++;
- }
- else
- break;
- }
- if (count == 4) //cheak if count =4
- {
- return 0; // "win" ==0
- }
- i = col, j = row;
- for (int k = 0; k < 3; k++)//cheak col --
- {
- if (p_board[i--][j] == actor)
- {
- count++;
- i--;
- }
- else
- break;
- }
- if (count == 4)//cheak if count =4
- {
- return 0; // "win" == 0
- }
- ////////////////////////////////////////////// ----->>>>
- i = col, j = row, count = 1;
- for (int k = 0; k < 3; k++) //cheak
- {
- if (p_board[i--][j++] == actor)
- {
- count++;
- i--;
- j++;
- }
- else
- break;
- }
- if (count == 4) //cheak if count =4
- {
- return 0; // "win" ==0
- }
- i = col, j = row;
- for (int k = 0; k < 3; k++)//cheak row --
- {
- if (p_board[i++][j--] == actor)
- {
- count++;
- i++;
- j--;
- }
- else
- break;
- }
- if (count == 4)//cheak if count =4
- {
- return 0; // "win" == 0
- }
- /////////////////////////////////////////////cheak <<<-------
- i = col, j = row, count = 1;
- for (int k = 0; k < 3; k++) //cheak
- {
- if (p_board[i++][j++] == actor)
- {
- count++;
- i++;
- j++;
- }
- else
- break;
- }
- if (count == 4) //cheak if count =4
- {
- return 0; // "win" ==0
- }
- i = col, j = row;
- for (int k = 0; k < 3; k++)//cheak row --
- {
- if (p_board[i--][j--] == actor)
- {
- count++;
- i--;
- j--;
- }
- else
- break;
- }
- if (count == 4)//cheak if count =4
- {
- return 0; // "win" == 0
- }
- if (count != 4)//check if actor not win
- {
- return 1; // lozer
- }
- }
- void Board::print() const
- {
- int k = 1;
- cout << "|";
- for (int i = 0; i < width; i++)//print |
- {
- cout << k << " |";
- k++;
- }
- cout << endl;
- cout << "_";
- for (int i = 0; i < width; i++)
- {
- cout << "___";
- }
- cout << endl;
- for (int i = 0; i <length; i++)
- {
- cout <<"|";
- for (int j = 0; j <width ; j++)
- {
- cout<<p_board[i][j]<<" |";
- }
- cout << endl;
- cout << "_";
- for (int i = 0; i < width; i++)
- {
- cout << "___";
- }
- cout << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement