Connect four trouble getting pieces to stack

// Connect 4our
// Created by Gregory Hagins II on 11/2/17.

#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>

using namespace std;

string square[6][7] =
{{"-","-","-","-","-","-","-"},
{"-","-","-","-","-","-","-"},
{"-","-","-","-","-","-","-"},
{"-","-","-","-","-","-","-"},
{"-","-","-","-","-","-","-"},
{"-","-","-","-","-","-","-"}};

//Function Prototypes
void intro(string& playerone, string& playertwo, int& counter, int& random);
void namebeforeboard(string& playerone, string& playertwo, int& counter, int& random);
void board2();
void board();
void stack(string& playerone, string& playertwo, int& movecount, int& go);
int position(int i, char& go, int j);


int main()
{
//Variables
int i,j,random,movecount,go = 0;
char connect[6][7];
string playerone,playertwo;
srand(time(0));
random = 1 + rand() % 50;
int row = 5;

intro(playerone,playertwo,movecount, random);

// creation of the connect four board
namebeforeboard(playerone,playertwo,movecount,random);
board();

do
{
namebeforeboard(playerone,playertwo,movecount,random);
//number of moves

if (movecount % 2 == 0)
{
cout << playerone << " enter your move: ";
cin >> go;
cout << '\n';

if (go == 1)
{
square[row][0] = 'R';
board();
}

else if (go == 2)
{
square[row][1] = 'R';
board();
}

else if (go == 3)
{
square[row][2] = 'R';
board();
}

else if (go == 4)
{
square[row][3] = 'R';
board();
}

else if (go == 5)
{
square[row][4] = 'R';
board();
}

else if (go == 6)
{
square[row][5] = 'R';
board();
}

else if (go == 7)
{
square[row][6] = 'R';
board();
}
else
{
cout << "Invalid Entry!" << '\n';
cout << "Please select a number 1-7." << '\n';
cout << playerone << " enter a new move:";
cin >> go;

if (go == 1)
{
square[row][0] = 'R';
board();
}

else if (go == 2)
{
square[row][1] = 'R';
board();
}

else if (go == 3)
{
square[row][2] = 'R';
board();
}

else if (go == 4)
{
square[row][3] = 'R';
board();
}

else if (go == 5)
{
square[row][4] = 'R';
board();
}

else if (go == 6)
{
square[row][5] = 'R';
board();
}

else if (go == 7)
{
square[row][6] = 'R';
board();
}
cout << '\n';
}
}

else
{
cout << playertwo << " enter your move: ";
cin >> go;
cout << '\n';

if (go == 1)
{
square[row][0] = 'B';
board();
}
else if (go == 2)
{
square[row][1] = 'B';
board();
}

else if (go == 3)
{
square[row][2] = 'B';
board();
}

else if (go == 4)
{
square[row][3] = 'B';
board();
}

else if (go == 5)
{
square[row][4] = 'B';
board();
}

else if (go == 6)
{
square[row][5] = 'B';
board();
}

else if (go == 7)
{
square[row][6] = 'B';
board();
}
else
{
cout << "Invalid Entry!" << '\n';
cout << "Please select a number 1-7." << '\n';
cout << playertwo << " enter a new move: ";
cin >> go;

if (go == 1)
{
square[row][0] = 'B';
board();
}
else if (go == 2)
{
square[row][1] = 'B';
board();
}

else if (go == 3)
{
square[row][2] = 'B';
board();
}

else if (go == 4)
{
square[row][3] = 'B';
board();
}

else if (go == 5)
{
square[row][4] = 'B';
board();
}

else if (go == 6)
{
square[row][5] = 'B';
board();
}

else if (go == 7)
{
square[row][6] = 'B';
board();
}
cout << '\n';
}
}
//****************Drop function****************
/* while ((square[row][(go-1)] == "R") || (square[row][go-1] == "B"))
{
--row;
if (row < 0)
{
cout << "This column is full, please select another." << '\n';

if (movecount % 2 == 0)
{
cout << playerone << " enter another move: ";
cin >> go;
cout << '\n';
}

else if ( movecount % 2 == 1)
{
cout << playertwo << " enter another move: ";
cin >> go;
cout << '\n';
}

row--;
row = 5;
}
}*/
//End of drop function
movecount++;
} while (movecount <= 42);

return 0;
}

void intro(string& playerone, string& playertwo, int& counter, int& rand)
{
// beginning Section
// player introduction
cout << "*** Welcome to Connect Four ***" << endl;
cout << '\n';

cout << "Please enter a name for player one: ";
getline(cin,playerone);

cout << "Please enter a name for player two: ";
getline(cin,playertwo);

cout << '\n';
cout << "*** Welcome " << playerone << " and " << playertwo << "! ***" << endl; //welcoming of players

cout << "(The first move is randomly generated.)" << endl;
cout << '\n';

if (rand >= 25)
{
cout << " " << playerone << " goes first." << '\n';
}
else
{
cout << " " << playertwo << " goes first." << '\n';
}
}

void board()
{
cout << '\n';
cout << " 1 2 3 4 5 6 7" << endl;
cout << "-----------------------------" << '\n';

cout << "| " << square[0][0] << " | " <<square[0][1] << " | " << square[0][2] << " | " << square[0][3] << " | " << square[0][4] << " | " << square[0][5] << " | " << square[0][6] << " |" << '\n';

cout << "| " << square[1][0] << " | " <<square[1][1] << " | " << square[1][2] << " | " << square[1][3] << " | " << square[1][4] << " | " << square[1][5] << " | " << square[1][6] << " |" << '\n';

cout << "| " << square[2][0] << " | " <<square[2][1] << " | " << square[2][2] << " | " << square[2][3] << " | " << square[2][4] << " | " << square[2][5] << " | " << square[2][6] << " |" << '\n';

cout << "| " << square[3][0] << " | " <<square[3][1] << " | " << square[3][2] << " | " << square[3][3] << " | " << square[3][4] << " | " << square[3][5] << " | " << square[3][6] << " |" << '\n';

cout << "| " << square[4][0] << " | " <<square[4][1] << " | " << square[4][2] << " | " << square[4][3] << " | " << square[4][4] << " | " << square[4][5] << " | " << square[4][6] << " |" << '\n';

cout << "| " << square[5][0] << " | " <<square[5][1] << " | " << square[5][2] << " | " << square[5][3] << " | " << square[5][4] << " | " << square[5][5] << " | " << square[5][6] << " |" << '\n';

cout << "-----------------------------" << '\n';
}

void namebeforeboard(string& playerone, string& playertwo, int& counter, int& random)
{
if (random >= 25)
{
cout << '\t' << playerone << " (R) - " << playertwo << " (B)" << '\n';
cout << '\n';
}
else
{
cout << '\t' << playerone << " (R) - " << playertwo << " (B)" << '\n';
cout << '\n';
}
}

void stack(string& playerone, string& playertwo, int& movecount, int& go)
{
int row = 5;

while ((square[row][(go-1)] == "R") || (square[row][go-1] == "B"))
{
--row;
if (row < 0)
{
cout << "This column is full, please select another." << '\n';

if (movecount % 2 == 0)
{
cout << playerone << " enter another move: ";
cin >> go;
cout << '\n';
}

else if ( movecount % 2 == 1)
{
cout << playertwo << " enter another move: ";
cin >> go;
cout << '\n';
}
}
--row;
}
}


Topic archived. No new replies allowed.