Created
May 30, 2011 13:54
-
-
Save amtal/998926 to your computer and use it in GitHub Desktop.
This is how you do it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* TOMMY's CONNECT 4 PROGRAM */ | |
| #include <iostream> | |
| using namespace std; | |
| char cBlock[] = {178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178}; | |
| int choice; | |
| char block = 178; | |
| bool bGameover = false; | |
| char iPlayerTurn = 'X'; | |
| bool bPlayerTurn = true; | |
| char winner; | |
| char cPlayAgain; | |
| int iScoreForX; | |
| int iScoreForO; | |
| bool bDraw; | |
| char win; | |
| int main () | |
| { | |
| cout << "The "<<cBlock[0]<<" represents an empty slot"<<endl; | |
| do // Game Begins | |
| { | |
| cout << "Connect 4 block \n" "____________________ \n" << endl; | |
| cout << cBlock[0]<<"|"<<cBlock[1]<<"|"<<cBlock[2]<<"|"<<cBlock[3]<<"|"<<cBlock[4]<<"|"<<cBlock[5]<<"|"<<cBlock[6]<<endl; | |
| cout << "-+-+-+-+-+-+- \n"; | |
| cout << cBlock[7]<<"|"<<cBlock[8]<<"|"<<cBlock[9]<<"|"<<cBlock[10]<<"|"<<cBlock[11]<<"|"<<cBlock[12]<<"|"<<cBlock[13]<<endl; | |
| cout << "-+-+-+-+-+-+- \n"; | |
| cout << cBlock[14]<<"|"<<cBlock[15]<<"|"<<cBlock[16]<<"|"<<cBlock[17]<<"|"<<cBlock[18]<<"|"<<cBlock[19]<<"|"<<cBlock[20]<<endl; | |
| cout << "-+-+-+-+-+-+- \n"; | |
| cout << cBlock[21]<<"|"<<cBlock[22]<<"|"<<cBlock[23]<<"|"<<cBlock[24]<<"|"<<cBlock[25]<<"|"<<cBlock[26]<<"|"<<cBlock[27]<<endl; | |
| cout << "-+-+-+-+-+-+- \n"; | |
| cout << cBlock[28]<<"|"<<cBlock[29]<<"|"<<cBlock[30]<<"|"<<cBlock[31]<<"|"<<cBlock[32]<<"|"<<cBlock[33]<<"|"<<cBlock[34]<<endl; | |
| cout << "-+-+-+-+-+-+- \n"; | |
| cout << cBlock[35]<<"|"<<cBlock[36]<<"|"<<cBlock[37]<<"|"<<cBlock[38]<<"|"<<cBlock[39]<<"|"<<cBlock[40]<<"|"<<cBlock[41]<<endl; | |
| cout << endl; | |
| cout << "0|1|2|3|4|5|6 \n"; | |
| //Game Over Check for X LEFT TO RIGHT | |
| if (((cBlock[0] == 'X') && (cBlock[1] == 'X') && (cBlock[2] == 'X') && (cBlock[3] == 'X')) || | |
| ((cBlock[1] == 'X') && (cBlock[2] == 'X') && (cBlock[3] == 'X') && (cBlock[4] == 'X')) || | |
| ((cBlock[2] == 'X') && (cBlock[3] == 'X') && (cBlock[4] == 'X') && (cBlock[5] == 'X')) || | |
| ((cBlock[3] == 'X') && (cBlock[4] == 'X') && (cBlock[5] == 'X') && (cBlock[6] == 'X')) || | |
| ((cBlock[7] == 'X') && (cBlock[8] == 'X') && (cBlock[9] == 'X') && (cBlock[10] == 'X'))|| | |
| ((cBlock[8] == 'X') && (cBlock[9] == 'X') && (cBlock[10] == 'X') && (cBlock[11] == 'X'))|| | |
| ((cBlock[9] == 'X') && (cBlock[10] == 'X') && (cBlock[11] == 'X') && (cBlock[12] == 'X'))|| | |
| ((cBlock[10] == 'X') && (cBlock[11] == 'X') && (cBlock[12] == 'X') && (cBlock[13] == 'X'))|| | |
| ((cBlock[14] == 'X') && (cBlock[15] == 'X') && (cBlock[16] == 'X') && (cBlock[17] == 'X'))|| | |
| ((cBlock[15] == 'X') && (cBlock[16] == 'X') && (cBlock[17] == 'X') && (cBlock[18] == 'X'))|| | |
| ((cBlock[16] == 'X') && (cBlock[17] == 'X') && (cBlock[18] == 'X') && (cBlock[19] == 'X'))|| | |
| ((cBlock[17] == 'X') && (cBlock[18] == 'X') && (cBlock[19] == 'X') && (cBlock[20] == 'X'))|| | |
| ((cBlock[21] == 'X') && (cBlock[22] == 'X') && (cBlock[23] == 'X') && (cBlock[24] == 'X'))|| | |
| ((cBlock[22] == 'X') && (cBlock[23] == 'X') && (cBlock[24] == 'X') && (cBlock[25] == 'X'))|| | |
| ((cBlock[23] == 'X') && (cBlock[24] == 'X') && (cBlock[25] == 'X') && (cBlock[26] == 'X'))|| | |
| ((cBlock[24] == 'X') && (cBlock[25] == 'X') && (cBlock[26] == 'X') && (cBlock[27] == 'X'))|| | |
| ((cBlock[28] == 'X') && (cBlock[29] == 'X') && (cBlock[30] == 'X') && (cBlock[31] == 'X'))|| | |
| ((cBlock[29] == 'X') && (cBlock[30] == 'X') && (cBlock[31] == 'X') && (cBlock[32] == 'X'))|| | |
| ((cBlock[30] == 'X') && (cBlock[31] == 'X') && (cBlock[33] == 'X') && (cBlock[33] == 'X'))|| | |
| ((cBlock[31] == 'X') && (cBlock[32] == 'X') && (cBlock[34] == 'X') && (cBlock[34] == 'X'))|| | |
| ((cBlock[35] == 'X') && (cBlock[36] == 'X') && (cBlock[37] == 'X') && (cBlock[38] == 'X'))|| | |
| ((cBlock[36] == 'X') && (cBlock[37] == 'X') && (cBlock[38] == 'X') && (cBlock[39] == 'X'))|| | |
| ((cBlock[37] == 'X') && (cBlock[38] == 'X') && (cBlock[39] == 'X') && (cBlock[40] == 'X'))|| | |
| ((cBlock[38] == 'X') && (cBlock[39] == 'X') && (cBlock[40] == 'X') && (cBlock[41] == 'X'))) | |
| { | |
| bGameover = true; | |
| bDraw = false; | |
| win = true; | |
| bPlayerTurn = false; | |
| ++iScoreForX; | |
| winner = 'X'; | |
| } //Winner check from left to right for X | |
| //Game Over Check for X TOP TO BOTTOM | |
| if (((cBlock[0] == 'X') && (cBlock[7] == 'X') && (cBlock[14] == 'X') && (cBlock[21] == 'X'))|| | |
| ((cBlock[7] == 'X') && (cBlock[14] == 'X') && (cBlock[21] == 'X') && (cBlock[28] == 'X'))|| | |
| ((cBlock[14] == 'X') && (cBlock[21] == 'X') && (cBlock[28] == 'X') && (cBlock[35] == 'X'))|| | |
| ((cBlock[1] == 'X') && (cBlock[8] == 'X') && (cBlock[15] == 'X') && (cBlock[22] == 'X'))|| | |
| ((cBlock[8] == 'X') && (cBlock[15] == 'X') && (cBlock[22] == 'X') && (cBlock[29] == 'X'))|| | |
| ((cBlock[15] == 'X') && (cBlock[22] == 'X') && (cBlock[29] == 'X') && (cBlock[36] == 'X'))|| | |
| ((cBlock[2] == 'X') && (cBlock[9] == 'X') && (cBlock[16] == 'X') && (cBlock[23] == 'X'))|| | |
| ((cBlock[9] == 'X') && (cBlock[16] == 'X') && (cBlock[23] == 'X') && (cBlock[30] == 'X'))|| | |
| ((cBlock[16] == 'X') && (cBlock[23] == 'X') && (cBlock[30] == 'X') && (cBlock[37] == 'X'))|| | |
| ((cBlock[3] == 'X') && (cBlock[10] == 'X') && (cBlock[17] == 'X') && (cBlock[24] == 'X'))|| | |
| ((cBlock[10] == 'X') && (cBlock[17] == 'X') && (cBlock[24] == 'X') && (cBlock[31] == 'X'))|| | |
| ((cBlock[17] == 'X') && (cBlock[24] == 'X') && (cBlock[31] == 'X') && (cBlock[38] == 'X'))|| | |
| ((cBlock[4] == 'X') && (cBlock[11] == 'X') && (cBlock[18] == 'X') && (cBlock[25] == 'X'))|| | |
| ((cBlock[11] == 'X') && (cBlock[18] == 'X') && (cBlock[25] == 'X') && (cBlock[32] == 'X'))|| | |
| ((cBlock[18] == 'X') && (cBlock[25] == 'X') && (cBlock[32] == 'X') && (cBlock[39] == 'X'))|| | |
| ((cBlock[5] == 'X') && (cBlock[12] == 'X') && (cBlock[19] == 'X') && (cBlock[26] == 'X'))|| | |
| ((cBlock[12] == 'X') && (cBlock[19] == 'X') && (cBlock[26] == 'X') && (cBlock[33] == 'X'))|| | |
| ((cBlock[19] == 'X') && (cBlock[26] == 'X') && (cBlock[33] == 'X') && (cBlock[40] == 'X'))|| | |
| ((cBlock[6] == 'X') && (cBlock[13] == 'X') && (cBlock[20] == 'X') && (cBlock[27] == 'X'))|| | |
| ((cBlock[13] == 'X') && (cBlock[20] == 'X') && (cBlock[27] == 'X') && (cBlock[34] == 'X'))|| | |
| ((cBlock[20] == 'X') && (cBlock[27] == 'X') && (cBlock[34] == 'X') && (cBlock[41] == 'X'))) | |
| { | |
| bGameover = true; | |
| bDraw = false; | |
| win = true; | |
| bPlayerTurn = false; | |
| ++iScoreForX; | |
| winner = 'X'; | |
| } //Winner check from top to bottom for X | |
| //Game Over Check for X DIAGONALS | |
| if (((cBlock[14] == 'X') && (cBlock[22] == 'X') && (cBlock[30] == 'X') && (cBlock[38] == 'X'))|| | |
| ((cBlock[7] == 'X') && (cBlock[15] == 'X') && (cBlock[23] == 'X') && (cBlock[31] == 'X'))|| | |
| ((cBlock[15] == 'X') && (cBlock[23] == 'X') && (cBlock[31] == 'X') && (cBlock[39] == 'X'))|| | |
| ((cBlock[0] == 'X') && (cBlock[8] == 'X') && (cBlock[16] == 'X') && (cBlock[24] == 'X'))|| | |
| ((cBlock[8] == 'X') && (cBlock[16] == 'X') && (cBlock[24] == 'X') && (cBlock[32] == 'X'))|| | |
| ((cBlock[16] == 'X') && (cBlock[24] == 'X') && (cBlock[32] == 'X') && (cBlock[40] == 'X'))|| | |
| ((cBlock[1] == 'X') && (cBlock[9] == 'X') && (cBlock[17] == 'X') && (cBlock[25] == 'X'))|| | |
| ((cBlock[9] == 'X') && (cBlock[17] == 'X') && (cBlock[25] == 'X') && (cBlock[33] == 'X'))|| | |
| ((cBlock[17] == 'X') && (cBlock[25] == 'X') && (cBlock[33] == 'X') && (cBlock[41] == 'X'))|| | |
| ((cBlock[2] == 'X') && (cBlock[10] == 'X') && (cBlock[18] == 'X') && (cBlock[26] == 'X'))|| | |
| ((cBlock[10] == 'X') && (cBlock[18] == 'X') && (cBlock[26] == 'X') && (cBlock[34] == 'X'))|| | |
| ((cBlock[3] == 'X') && (cBlock[11] == 'X') && (cBlock[19] == 'X') && (cBlock[27] == 'X'))|| | |
| ((cBlock[3] == 'X') && (cBlock[9] == 'X') && (cBlock[15] == 'X') && (cBlock[21] == 'X'))|| | |
| ((cBlock[4] == 'X') && (cBlock[10] == 'X') && (cBlock[16] == 'X') && (cBlock[22] == 'X'))|| | |
| ((cBlock[10] == 'X') && (cBlock[16] == 'X')&& (cBlock[22] == 'X') && (cBlock[28] == 'X'))|| | |
| ((cBlock[5] == 'X') && (cBlock[11] == 'X') && (cBlock[17] == 'X') && (cBlock[23] == 'X'))|| | |
| ((cBlock[11] == 'X') && (cBlock[17] == 'X') && (cBlock[23] == 'X') && (cBlock[29] == 'X'))|| | |
| ((cBlock[17] == 'X') && (cBlock[23] == 'X') && (cBlock[29] == 'X') && (cBlock[35] == 'X'))|| | |
| ((cBlock[6] == 'X') && (cBlock[12] == 'X') && (cBlock[18] == 'X') && (cBlock[24] == 'X'))|| | |
| ((cBlock[12] == 'X') && (cBlock[18] == 'X') && (cBlock[24] == 'X') && (cBlock[30] == 'X'))|| | |
| ((cBlock[18] == 'X') && (cBlock[24] == 'X') && (cBlock[30] == 'X') && (cBlock[36] == 'X'))|| | |
| ((cBlock[13] == 'X') && (cBlock[19] == 'X') && (cBlock[25] == 'X') && (cBlock[31] == 'X'))|| | |
| ((cBlock[19] == 'X') && (cBlock[25] == 'X') && (cBlock[31] == 'X') && (cBlock[37] == 'X'))|| | |
| ((cBlock[20] == 'X') && (cBlock[26] == 'X') && (cBlock[32] == 'X') && (cBlock[38] == 'X'))) | |
| { | |
| bGameover = true; | |
| bDraw = false; | |
| win = true; | |
| bPlayerTurn = false; | |
| ++iScoreForX; | |
| winner = 'X'; | |
| } //Winner check DIAGONALS for X | |
| //Game Over Check for O LEFT TO RIGHT | |
| if (((cBlock[0] == 'O') && (cBlock[1] == 'O') && (cBlock[2] == 'O') && (cBlock[3] == 'O')) || | |
| ((cBlock[1] == 'O') && (cBlock[2] == 'O') && (cBlock[3] == 'O') && (cBlock[4] == 'O')) || | |
| ((cBlock[2] == 'O') && (cBlock[3] == 'O') && (cBlock[4] == 'O') && (cBlock[5] == 'O')) || | |
| ((cBlock[3] == 'O') && (cBlock[4] == 'O') && (cBlock[5] == 'O') && (cBlock[6] == 'O')) || | |
| ((cBlock[7] == 'O') && (cBlock[8] == 'O') && (cBlock[9] == 'O') && (cBlock[10] == 'O'))|| | |
| ((cBlock[8] == 'O') && (cBlock[9] == 'O') && (cBlock[10] == 'O') && (cBlock[11] == 'O'))|| | |
| ((cBlock[9] == 'O') && (cBlock[10] == 'O') && (cBlock[11] == 'O') && (cBlock[12] == 'O'))|| | |
| ((cBlock[10] == 'O') && (cBlock[11] == 'O') && (cBlock[12] == 'O') && (cBlock[13] == 'O'))|| | |
| ((cBlock[14] == 'O') && (cBlock[15] == 'O') && (cBlock[16] == 'O') && (cBlock[17] == 'O'))|| | |
| ((cBlock[15] == 'O') && (cBlock[16] == 'O') && (cBlock[17] == 'O') && (cBlock[18] == 'O'))|| | |
| ((cBlock[16] == 'O') && (cBlock[17] == 'O') && (cBlock[18] == 'O') && (cBlock[19] == 'O'))|| | |
| ((cBlock[17] == 'O') && (cBlock[18] == 'O') && (cBlock[19] == 'O') && (cBlock[20] == 'O'))|| | |
| ((cBlock[21] == 'O') && (cBlock[22] == 'O') && (cBlock[23] == 'O') && (cBlock[24] == 'O'))|| | |
| ((cBlock[22] == 'O') && (cBlock[23] == 'O') && (cBlock[24] == 'O') && (cBlock[25] == 'O'))|| | |
| ((cBlock[23] == 'O') && (cBlock[24] == 'O') && (cBlock[25] == 'O') && (cBlock[26] == 'O'))|| | |
| ((cBlock[24] == 'O') && (cBlock[25] == 'O') && (cBlock[26] == 'O') && (cBlock[27] == 'O'))|| | |
| ((cBlock[28] == 'O') && (cBlock[29] == 'O') && (cBlock[30] == 'O') && (cBlock[31] == 'O'))|| | |
| ((cBlock[29] == 'O') && (cBlock[30] == 'O') && (cBlock[31] == 'O') && (cBlock[32] == 'O'))|| | |
| ((cBlock[30] == 'O') && (cBlock[31] == 'O') && (cBlock[33] == 'O') && (cBlock[33] == 'O'))|| | |
| ((cBlock[31] == 'O') && (cBlock[32] == 'O') && (cBlock[34] == 'O') && (cBlock[34] == 'O'))|| | |
| ((cBlock[35] == 'O') && (cBlock[36] == 'O') && (cBlock[37] == 'O') && (cBlock[38] == 'O'))|| | |
| ((cBlock[36] == 'O') && (cBlock[37] == 'O') && (cBlock[38] == 'O') && (cBlock[39] == 'O'))|| | |
| ((cBlock[37] == 'O') && (cBlock[38] == 'O') && (cBlock[39] == 'O') && (cBlock[40] == 'O'))|| | |
| ((cBlock[38] == 'O') && (cBlock[39] == 'O') && (cBlock[40] == 'O') && (cBlock[41] == 'O'))) | |
| { | |
| bGameover = true; | |
| bDraw = false; | |
| win = true; | |
| bPlayerTurn = false; | |
| ++iScoreForO; | |
| winner = 'O'; | |
| } //Winner check from left to right for O | |
| //Game Over Check for O TOP TO BOTTOM | |
| if (((cBlock[0] == 'O') && (cBlock[7] == 'O') && (cBlock[14] == 'O') && (cBlock[21] == 'O'))|| | |
| ((cBlock[7] == 'O') && (cBlock[14] == 'O') && (cBlock[21] == 'O') && (cBlock[28] == 'O'))|| | |
| ((cBlock[14] == 'O') && (cBlock[21] == 'O') && (cBlock[28] == 'O') && (cBlock[35] == 'O'))|| | |
| ((cBlock[1] == 'O') && (cBlock[8] == 'O') && (cBlock[15] == 'O') && (cBlock[22] == 'O'))|| | |
| ((cBlock[8] == 'O') && (cBlock[15] == 'O') && (cBlock[22] == 'O') && (cBlock[29] == 'O'))|| | |
| ((cBlock[15] == 'O') && (cBlock[22] == 'O') && (cBlock[29] == 'O') && (cBlock[36] == 'O'))|| | |
| ((cBlock[2] == 'O') && (cBlock[9] == 'O') && (cBlock[16] == 'O') && (cBlock[23] == 'O'))|| | |
| ((cBlock[9] == 'O') && (cBlock[16] == 'O') && (cBlock[23] == 'O') && (cBlock[30] == 'O'))|| | |
| ((cBlock[16] == 'O') && (cBlock[23] == 'O') && (cBlock[30] == 'O') && (cBlock[37] == 'O'))|| | |
| ((cBlock[3] == 'O') && (cBlock[10] == 'O') && (cBlock[17] == 'O') && (cBlock[24] == 'O'))|| | |
| ((cBlock[10] == 'O') && (cBlock[17] == 'O') && (cBlock[24] == 'O') && (cBlock[31] == 'O'))|| | |
| ((cBlock[17] == 'O') && (cBlock[24] == 'O') && (cBlock[31] == 'O') && (cBlock[38] == 'O'))|| | |
| ((cBlock[4] == 'O') && (cBlock[11] == 'O') && (cBlock[18] == 'O') && (cBlock[25] == 'O'))|| | |
| ((cBlock[11] == 'O') && (cBlock[18] == 'O') && (cBlock[25] == 'O') && (cBlock[32] == 'O'))|| | |
| ((cBlock[18] == 'O') && (cBlock[25] == 'O') && (cBlock[32] == 'O') && (cBlock[39] == 'O'))|| | |
| ((cBlock[5] == 'O') && (cBlock[12] == 'O') && (cBlock[19] == 'O') && (cBlock[26] == 'O'))|| | |
| ((cBlock[12] == 'O') && (cBlock[19] == 'O') && (cBlock[26] == 'O') && (cBlock[33] == 'O'))|| | |
| ((cBlock[19] == 'O') && (cBlock[26] == 'O') && (cBlock[33] == 'O') && (cBlock[40] == 'O'))|| | |
| ((cBlock[6] == 'O') && (cBlock[13] == 'O') && (cBlock[20] == 'O') && (cBlock[27] == 'O'))|| | |
| ((cBlock[13] == 'O') && (cBlock[20] == 'O') && (cBlock[27] == 'O') && (cBlock[34] == 'O'))|| | |
| ((cBlock[20] == 'O') && (cBlock[27] == 'O') && (cBlock[34] == 'O') && (cBlock[41] == 'O'))) | |
| { | |
| bGameover = true; | |
| bDraw = false; | |
| win = true; | |
| bPlayerTurn = false; | |
| ++iScoreForO; | |
| winner = 'O'; | |
| } //Winner check from top to bottom for O | |
| //Game Over Check for O DIAGONALS | |
| if (((cBlock[14] == 'O') && (cBlock[22] == 'O') && (cBlock[30] == 'O') && (cBlock[38] == 'O'))|| | |
| ((cBlock[7] == 'O') && (cBlock[15] == 'O') && (cBlock[23] == 'O') && (cBlock[31] == 'O'))|| | |
| ((cBlock[15] == 'O') && (cBlock[23] == 'O') && (cBlock[31] == 'O') && (cBlock[39] == 'O'))|| | |
| ((cBlock[0] == 'O') && (cBlock[8] == 'O') && (cBlock[16] == 'O') && (cBlock[24] == 'O'))|| | |
| ((cBlock[8] == 'O') && (cBlock[16] == 'O') && (cBlock[24] == 'O') && (cBlock[32] == 'O'))|| | |
| ((cBlock[16] == 'O') && (cBlock[24] == 'O') && (cBlock[32] == 'O') && (cBlock[40] == 'O'))|| | |
| ((cBlock[1] == 'O') && (cBlock[9] == 'O') && (cBlock[17] == 'O') && (cBlock[25] == 'O'))|| | |
| ((cBlock[9] == 'O') && (cBlock[17] == 'O') && (cBlock[25] == 'O') && (cBlock[33] == 'O'))|| | |
| ((cBlock[17] == 'O') && (cBlock[25] == 'O') && (cBlock[33] == 'O') && (cBlock[41] == 'O'))|| | |
| ((cBlock[2] == 'O') && (cBlock[10] == 'O') && (cBlock[18] == 'O') && (cBlock[26] == 'O'))|| | |
| ((cBlock[10] == 'O') && (cBlock[18] == 'O') && (cBlock[26] == 'O') && (cBlock[34] == 'O'))|| | |
| ((cBlock[3] == 'O') && (cBlock[11] == 'O') && (cBlock[19] == 'O') && (cBlock[27] == 'O'))|| | |
| ((cBlock[3] == 'O') && (cBlock[9] == 'O') && (cBlock[15] == 'O') && (cBlock[21] == 'O'))|| | |
| ((cBlock[4] == 'O') && (cBlock[10] == 'O') && (cBlock[16] == 'O') && (cBlock[22] == 'O'))|| | |
| ((cBlock[10] == 'O') && (cBlock[16] == 'O')&& (cBlock[22] == 'O') && (cBlock[28] == 'O'))|| | |
| ((cBlock[5] == 'O') && (cBlock[11] == 'O') && (cBlock[17] == 'O') && (cBlock[23] == 'O'))|| | |
| ((cBlock[11] == 'O') && (cBlock[17] == 'O') && (cBlock[23] == 'O') && (cBlock[29] == 'O'))|| | |
| ((cBlock[17] == 'O') && (cBlock[23] == 'O') && (cBlock[29] == 'O') && (cBlock[35] == 'O'))|| | |
| ((cBlock[6] == 'O') && (cBlock[12] == 'O') && (cBlock[18] == 'O') && (cBlock[24] == 'O'))|| | |
| ((cBlock[12] == 'O') && (cBlock[18] == 'O') && (cBlock[24] == 'O') && (cBlock[30] == 'O'))|| | |
| ((cBlock[18] == 'O') && (cBlock[24] == 'O') && (cBlock[30] == 'O') && (cBlock[36] == 'O'))|| | |
| ((cBlock[13] == 'O') && (cBlock[19] == 'O') && (cBlock[25] == 'O') && (cBlock[31] == 'O'))|| | |
| ((cBlock[19] == 'O') && (cBlock[25] == 'O') && (cBlock[31] == 'O') && (cBlock[37] == 'O'))|| | |
| ((cBlock[20] == 'O') && (cBlock[26] == 'O') && (cBlock[32] == 'O') && (cBlock[38] == 'O'))) | |
| { | |
| bGameover = true; | |
| bDraw = false; | |
| win = true; | |
| bPlayerTurn = false; | |
| ++iScoreForO; | |
| winner = 'O'; | |
| } //Winner check DIAGONALS for O | |
| //Game Over Check for Tie | |
| if ((cBlock[0] != block) && (cBlock[1] != block) && (cBlock[2] != block) && (cBlock[3] != block) && | |
| (cBlock[4] != block) && (cBlock[5] != block) && (cBlock[6] != block) && (cBlock[7] != block) && | |
| (cBlock[8] != block) && (cBlock[9] != block) && (cBlock[10] != block) && (cBlock[11] != block) && | |
| (cBlock[12] != block) && (cBlock[13] != block) && (cBlock[14] != block) && (cBlock[15] != block) && | |
| (cBlock[16] != block) && (cBlock[17] != block) && (cBlock[18] != block) && (cBlock[19] != block) && | |
| (cBlock[20] != block) && (cBlock[21] != block) && (cBlock[22] != block) && (cBlock[23] != block) && | |
| (cBlock[24] != block) && (cBlock[25] != block) && (cBlock[26] != block) && (cBlock[27] != block) && | |
| (cBlock[28] != block) && (cBlock[29] != block) && (cBlock[30] != block) && (cBlock[31] != block) && | |
| (cBlock[32] != block) && (cBlock[33] != block) && (cBlock[34] != block) && (cBlock[35] != block) && | |
| (cBlock[36] != block) && (cBlock[37] != block) && (cBlock[38] != block) && (cBlock[39] != block) && | |
| (cBlock[40] != block) && (cBlock[41] != block)) | |
| { | |
| bGameover = true; | |
| bDraw = true; | |
| } | |
| //Congratulate Winner | |
| if (win == true) | |
| { | |
| cout << "Congratulations! Player "<<winner<<" wins! \n"<<endl; | |
| win = false; | |
| } | |
| else if (bDraw == true) | |
| { | |
| cout << "It's a DRAW! \n"; | |
| bDraw = false; | |
| } | |
| //Play Again | |
| if (bGameover == true) | |
| { | |
| cout << "\nPlay again? y/n : "; | |
| cin >> cPlayAgain; | |
| if (cPlayAgain == 'y') | |
| { | |
| bGameover = false; | |
| cBlock[0] = 178; | |
| cBlock[1] = 178; | |
| cBlock[2] = 178; | |
| cBlock[3] = 178; | |
| cBlock[4] = 178; | |
| cBlock[5] = 178; | |
| cBlock[6] = 178; | |
| cBlock[7] = 178; | |
| cBlock[8] = 178; | |
| cBlock[9] = 178; | |
| cBlock[10] = 178; | |
| cBlock[11] = 178; | |
| cBlock[12] = 178; | |
| cBlock[13] = 178; | |
| cBlock[14] = 178; | |
| cBlock[15] = 178; | |
| cBlock[16] = 178; | |
| cBlock[17] = 178; | |
| cBlock[18] = 178; | |
| cBlock[19] = 178; | |
| cBlock[20] = 178; | |
| cBlock[21] = 178; | |
| cBlock[22] = 178; | |
| cBlock[23] = 178; | |
| cBlock[24] = 178; | |
| cBlock[25] = 178; | |
| cBlock[26] = 178; | |
| cBlock[27] = 178; | |
| cBlock[28] = 178; | |
| cBlock[29] = 178; | |
| cBlock[30] = 178; | |
| cBlock[31] = 178; | |
| cBlock[32] = 178; | |
| cBlock[33] = 178; | |
| cBlock[34] = 178; | |
| cBlock[35] = 178; | |
| cBlock[36] = 178; | |
| cBlock[37] = 178; | |
| cBlock[38] = 178; | |
| cBlock[39] = 178; | |
| cBlock[40] = 178; | |
| cBlock[41] = 178; | |
| cout << "\n SCOREBOARD! \n"; | |
| cout << "_______________ \n"; | |
| cout << "X: "<<iScoreForX<<"\nO: "<<iScoreForO<<endl; | |
| } | |
| else if (cPlayAgain == 'n') | |
| { | |
| cout << " \nThank you for playing Tommy's connect 4 \n"; | |
| cout << "SCOREBOARD! \n"; | |
| cout << "_______________ \n"; | |
| cout << "X: "<<iScoreForX<<"\nO: "<<iScoreForO<<endl; | |
| } | |
| else | |
| { | |
| cout << "You must enter 'y' or 'n'. \n"; | |
| } | |
| } | |
| while(bPlayerTurn == true) { | |
| cout << "Player "<<iPlayerTurn<<"'s "<<"turn. \n"; | |
| cout << "Enter the slot you want to put chip in: "; | |
| cin >> choice; | |
| switch (choice) { | |
| case 0: | |
| { | |
| if (cBlock[35] == block){ | |
| cBlock[35] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[28] == block){ | |
| cBlock[28] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[21] == block){ | |
| cBlock[21] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[14] == block){ | |
| cBlock[14] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[7] == block){ | |
| cBlock[7] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[0] == block){ | |
| cBlock[0] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else{ | |
| cout << "There is no slot avaiable, try again. \n"; | |
| bPlayerTurn = true; // Still is player's turn | |
| } | |
| break; | |
| } // End of case 0 | |
| case 1: | |
| { | |
| if (cBlock[36] == block){ | |
| cBlock[36] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[29] == block){ | |
| cBlock[29] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[22] == block){ | |
| cBlock[22] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[15] == block){ | |
| cBlock[15] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[8] == block){ | |
| cBlock[8] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[1] == block){ | |
| cBlock[1] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else{ | |
| cout << "There is no slot avaiable, try again. \n"; | |
| bPlayerTurn = true; // Still is player's turn | |
| } | |
| break; | |
| } // End of case 1 | |
| case 2: | |
| { | |
| if (cBlock[37] == block){ | |
| cBlock[37] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[30] == block){ | |
| cBlock[30] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[23] == block){ | |
| cBlock[23] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[16] == block){ | |
| cBlock[16] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[9] == block){ | |
| cBlock[9] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[2] == block){ | |
| cBlock[2] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else{ | |
| cout << "There is no slot avaiable, try again. \n"; | |
| bPlayerTurn = true; // Still is player's turn | |
| } | |
| break; | |
| } // End of case 2 | |
| case 3: | |
| { | |
| if (cBlock[38] == block){ | |
| cBlock[38] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[31] == block){ | |
| cBlock[31] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[24] == block){ | |
| cBlock[24] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[17] == block){ | |
| cBlock[17] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[10] == block){ | |
| cBlock[10] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[3] == block){ | |
| cBlock[3] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else{ | |
| cout << "There is no slot avaiable, try again. \n"; | |
| bPlayerTurn = true; // Still is player's turn | |
| } | |
| break; | |
| } // End of case 3 | |
| case 4: | |
| { | |
| if (cBlock[39] == block){ | |
| cBlock[39] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[32] == block){ | |
| cBlock[32] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[25] == block){ | |
| cBlock[25] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[18] == block){ | |
| cBlock[18] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[11] == block){ | |
| cBlock[11] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[4] == block){ | |
| cBlock[4] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else{ | |
| cout << "There is no slot avaiable, try again. \n"; | |
| bPlayerTurn = true; // Still is player's turn | |
| } | |
| break; | |
| } // End of case 4 | |
| case 5: | |
| { | |
| if (cBlock[40] == block){ | |
| cBlock[40] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[33] == block){ | |
| cBlock[33] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[26] == block){ | |
| cBlock[26] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[19] == block){ | |
| cBlock[19] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[12] == block){ | |
| cBlock[12] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[5] == block){ | |
| cBlock[5] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else{ | |
| cout << "There is no slot avaiable, try again. \n"; | |
| bPlayerTurn = true; // Still is player's turn | |
| } | |
| break; | |
| } // End of case 5 | |
| case 6: | |
| { | |
| if (cBlock[41] == block){ | |
| cBlock[41] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[34] == block){ | |
| cBlock[34] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[27] == block){ | |
| cBlock[27] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[20] == block){ | |
| cBlock[20] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[13] == block){ | |
| cBlock[13] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else if (cBlock[6] == block){ | |
| cBlock[6] = iPlayerTurn; | |
| bPlayerTurn = false; // Switch Turns | |
| } | |
| else{ | |
| cout << "There is no slot avaiable, try again. \n"; | |
| bPlayerTurn = true; // Still is player's turn | |
| } | |
| break; | |
| } // End of case 6 | |
| default: //Default Case if entered slot is invalid | |
| { | |
| cout << "You have entered an invalid slot, try again. \n"; | |
| bPlayerTurn = true; | |
| } | |
| } // End of Switch | |
| } //End of while Statement | |
| if ((bPlayerTurn == false) && (iPlayerTurn == 'X')) // Switch Turns | |
| { | |
| iPlayerTurn = 'O'; | |
| bPlayerTurn = true; | |
| } | |
| else | |
| { | |
| iPlayerTurn = 'X'; | |
| bPlayerTurn = true; | |
| } | |
| } while (bGameover == false); // First Do Statement (Beginning of Game) | |
| } // End of Main |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment