1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
mars1129 [50]
3 years ago
6

computer language C++ (Connect 4 game)( this is all the info that was givin no input or solution) I used the most recent version

of Microsoft visual studio for this program)Your solution must have these classes and at least these fields / methods. Your program must use the methods described in a meaningful fashion. You can create additional fields or methods but these the below should be core methods in your solution.Checkers classfields:colormethods:Constructorint getColor()string toString() - returns an attractive string representation of itselfBoard classfields:2D array of checkers - represents the game board (6 row by 7 column)methods:Constructorstring toString() - returns an attractive string representation of itselfThis needs to be an attractive table representation of the game board with aligned rows / columns with characters representing blank cells, cells with a red checkers in it and cells with a gold checkers in it.int dropChecker(Checker, int) - drops a checker object down a particular slot. Returns an int indicating success or not.int isWinner() - returns code number representing no winner or player number of winnerPlayer classfields:namecolormethods:Constructorget / set methods for fieldsstring toString() - string representation of itself.Example String representation of the board (X means blank, R means red checker, G means gold checker)X X X X X X XX X X X X X XX X X X X G XX X X X X R XX X X X X R XX R G G G R GMainYour program should create two Players and a Board. It should represent the initial Board to the screen.You should then alternate between player 1 and player 2 and randomly drop checkers down slots in the board. You should represent the board after each checker drop.This should stop if there is a winner or if the board fills up.You should be turning in a Checker.h, Checker.cpp, Board.h, Board.cpp, Player.h, Player.cpp and a main.cpp
Engineering
1 answer:
Mariana [72]3 years ago
4 0

Answer:

C++ code explained below

Explanation:

#include "hw6.h"

//---------------------------------------------------

// Constructor function

//---------------------------------------------------

Connect4::Connect4()

{

ClearBoard();

}

//---------------------------------------------------

// Destructor function

//---------------------------------------------------

Connect4::~Connect4()

{

// Intentionally empty

}

//---------------------------------------------------

// Clear the Connect4 board

//---------------------------------------------------

void Connect4::ClearBoard()

{

// Initialize Connect4 board

for (int c = 0; c < COLS; c++)

for (int r = 0; r < ROWS; r++)

board[r][c] = ' ';

// Initialize column counters

for (int c = 0; c < COLS; c++)

count[c] = 0;

}

//---------------------------------------------------

// Add player's piece to specified column in board

//---------------------------------------------------

bool Connect4::MakeMove(int col, char player)

{

// Error checking

if ((col < 0) || (col >= COLS) || (count[col] >= ROWS))

return false;

// Make move

int row = count[col];

board[row][col] = player;

count[col]++;

return true;

}

//---------------------------------------------------

// Check to see if player has won the game

//---------------------------------------------------

bool Connect4::CheckWin(char player)

{

// Loop over all starting positions

for (int c = 0; c < COLS; c++)

for (int r = 0; r < ROWS; r++)

if (board[r][c] == player)

{

// Check row

int count = 0;

for (int d = 0; d < WIN; d++)

if ((r+d < ROWS) &&

(board[r+d][c] == player)) count++;

if (count == WIN) return true;

 

// Check column

count = 0;

for (int d = 0; d < WIN; d++)

if ((c+d < COLS) &&

(board[r][c+d] == player)) count++;

if (count == WIN) return true;

 

// Check first diagonal

count = 0;

for (int d = 0; d < WIN; d++)

if ((r+d < ROWS) && (c+d < COLS) &&

(board[r+d][c+d] == player)) count++;

if (count == WIN) return true;

 

// Check second diagonal

count = 0;

for (int d = 0; d < WIN; d++)

if ((r-d >= 0) && (c+d < COLS) &&

(board[r-d][c+d] == player)) count++;

if (count == WIN) return true;

}

return false;

}

//---------------------------------------------------

// Print the Connect4 board

//---------------------------------------------------

void Connect4::PrintBoard()

{

// Print the Connect4 board

for (int r = ROWS-1; r >= 0; r--)

{

// Draw dashed line

cout << "+";

for (int c = 0; c < COLS; c++)

cout << "---+";

cout << "\n";

// Draw board contents

cout << "| ";

for (int c = 0; c < COLS; c++)

cout << board[r][c] << " | ";

cout << "\n";

}

// Draw dashed line

cout << "+";

for (int c = 0; c < COLS; c++)

cout << "---+";

cout << "\n";

// Draw column numbers

cout << " ";

for (int c = 0; c < COLS; c++)

cout << c << " ";

cout << "\n\n";

}

//---------------------------------------------------

// Main program to play Connect4 game

//---------------------------------------------------

int main()

{

  int choice;

  int counter = 0;

  srand (time(NULL));

  Connect4 board;

  cout << "Welcome to Connect 4!" << endl << "Your Pieces will be labeled 'H' for human. While the computer's will be labeled 'C'" << endl;

  board.PrintBoard();

  cout << "Where would you like to make your first move? (0-6)";

  cin >> choice;

  while (board.MakeMove(choice,'H') == false){

  cin >> choice;

  }

  counter++;

  while (board.CheckWin('C') == false && board.CheckWin('H') == false && counter != 21){

  while (board.MakeMove(rand() % 7, 'C') == false){}

  board.PrintBoard();

  cout << "Where would you like to make your next move?" << endl;

  cin >> choice;

  board.MakeMove(choice,'H');

  while (board.MakeMove(choice,'H') == false){

  cin >> choice;

  }

  counter++;

  }

 

  if (board.CheckWin('C')){

  cout << "Computer Wins!" << endl;}

  else if (counter == 21){cout << "Tie Game!" << endl;}

  else {cout << "Human Wins!" << endl;}

  board.PrintBoard();

}

You might be interested in
The cube measures 3.0-ft on all sides and has a density of 3.1 slugs/ft3. How much does it weigh?
kodGreya [7K]

Answer:

W = 2695.14 lb

Explanation:

given,

side of cube = 3 ft

density of the cube = 3.1 slugs/ft³

we know,

density = \dfrac{mass}{volume}

mass = density x volume

volume = 3³ = 27 ft³

mass =  3.1  x 27

    m = 83.7 slugs.

weight calculation

converting mass from slug to pound

weight of 1 slug is equal to 32.2 lb

now,

weight of the cube is equal to

  W = 83.7 slugs x 32.2 lb/slug

  W = 2695.14 lb

hence, weight is equal to W = 2695.14 lb

4 0
3 years ago
For a short time a rocket travels up and to the left at a constant speed of v = 650 m/s along the parabolic path y=600−35x2m, wh
julia-pushkina [17]

Answer:

Detailed working is shown

Explanation:

The attached file shows a detailed step by step calculation..

4 0
3 years ago
Calculate the reluctance of a 4-meter long toroidal coil made of low-carbon steel with an inner radius of 1.75 cm and an outer r
My name is Ann [436]

Answer:

R = 31.9 x 10^(6) At/Wb

So option A is correct

Explanation:

Reluctance is obtained by dividing the length of the magnetic path L by the permeability times the cross-sectional area A

Thus; R = L/μA,

Now from the question,

L = 4m

r_1 = 1.75cm = 0.0175m

r_2 = 2.2cm = 0.022m

So Area will be A_2 - A_1

Thus = π(r_2)² - π(r_1)²

A = π(0.0225)² - π(0.0175)²

A = π[0.0002]

A = 6.28 x 10^(-4) m²

We are given that;

L = 4m

μ_steel = 2 x 10^(-4) Wb/At - m

Thus, reluctance is calculated as;

R = 4/(2 x 10^(-4) x 6.28x 10^(-4))

R = 0.319 x 10^(8) At/Wb

R = 31.9 x 10^(6) At/Wb

8 0
4 years ago
The first step in treating shock is to
san4es73 [151]

Answer:

Lay the person down and elevate thier legs slightly.

Explanation:

5 0
3 years ago
The National Park Service is waiting on your recommendation.
maksim [4K]

The hypothesis that would help restore equilibrium is reintroduce wolves in the park or into the forest.

<h3>What is  reintroduce?</h3>

To reintroduce, is a term that means to revive, reinstate, or bring back something.

Note that based on the right recommendation needed by National Park Service, one can say that the best hypothesis that would help restore equilibrium is reintroduce wolves in the park or into the forest  as it will help restore balance.

Learn more about hypothesis from

brainly.com/question/24149728

#SPJ1

8 0
2 years ago
Other questions:
  • Two Technicians are discussing ShopKey Pro. Technician
    12·1 answer
  • Sophia is designing a new welding shop for the local high school. Where should the compressed gas and fuel cylinders be stored?
    15·1 answer
  • The penalty for littering 15 lb or less is _____.<br> A. $25<br> B. $50<br> C. $100<br> D. $150
    14·1 answer
  • You are a technical writer for Landson Toy Company. Landson has just designed a new, more durable swing set for 6- to 10-year-ol
    9·1 answer
  • Which of these are factors of 121?
    13·2 answers
  • Cual es el costo del kwh
    8·1 answer
  • Rosita is planning an investigation to determine how a lifeboat's shape affects its
    8·1 answer
  • Why does my delivery date keep changing on my tesla model 3
    13·1 answer
  • What Is Photosynthesis ?​
    7·2 answers
  • What's the highest grade level that brainly accomodates
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!