Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <windows.h>
- using namespace std;
- int CalculateColumnSpace(int y, int x, int dist);
- void Clear_Board();
- char board[11][25] = {
- " Connect Four ",
- "|-1-2-3-4-5-6-7-|",
- " ",
- " | | | | | | | | ",
- " | | | | | | | | ",
- " | | | | | | | | ",
- " | | | | | | | | ",
- " | | | | | | | | ",
- " | | | | | | | | ",
- " =============== ",
- };
- int main()
- {
- int pX;
- int pY;
- int checkY;
- int space;
- int player = 1;
- refresh:
- system("cls");
- for(int i=0; i<11; i++)
- {
- cout << board[i] << endl;
- }
- for(int i=0; i<11; i++)
- {
- for(int p=0; p<25; p++)
- {
- if(board[i][p] == 'G')
- {
- if((board[i][p] == 'G' && board[i-1][p+2] == 'G' && board[i-2][p+4] == 'G' && board[i-3][p+6] == 'G') || (board[i][p] == 'G' && board[i-1][p-2] == 'G' && board[i-2][p-4] == 'G' && board[i-3][p-6] == 'G') ||(board[i][p] == 'G' && board[i][p+2] == 'G' && board[i][p+4] == 'G' && board[i][p+6] == 'G') || (board[i][p] == 'G' && board[i-1][p] == 'G' && board[i-2][p] == 'G' && board[i-3][p] == 'G'))
- {
- system("cls");
- cout << "P1 wins!" << endl;
- system("pause");
- cout << "|Game Board|" << endl;
- for(int i=0; i<11; i++)
- {
- cout << board[i] << endl;
- }
- system("pause");
- Clear_Board();
- player=1;
- goto refresh;
- }
- }
- }
- }
- for(int i=0; i<11; i++)
- {
- for(int p=0; p<25; p++)
- {
- if(board[i][p] == 'O')
- {
- if((board[i][p] == 'O' && board[i-1][p+2] == 'O' && board[i-2][p+4] == 'O' && board[i-3][p+6] == 'O') || (board[i][p] == 'O' && board[i-1][p-2] == 'O' && board[i-2][p-4] == 'O' && board[i-3][p-6] == 'O') || (board[i][p] == 'O' && board[i][p+2] == 'O' && board[i][p+4] == 'O' && board[i][p+6] == 'O') || (board[i][p] == 'O' && board[i-1][p] == 'O' && board[i-2][p] == 'O' && board[i-3][p] == 'O'))
- {
- system("cls");
- cout << "P2 wins!" << endl;
- system("pause");
- cout << "|Game Board|" << endl;
- for(int i=0; i<11; i++)
- {
- cout << board[i] << endl;
- }
- system("pause");
- Clear_Board();
- player=1;
- goto refresh;
- }
- }
- }
- }
- if(player==1)cout << "Enter Column Number Player G: ";
- if(player==2)cout << "Enter Column Number Player O: ";
- cin >> space;
- switch(space)
- {
- case 1:
- pX = 2;
- pY = CalculateColumnSpace(2,pX,6);
- if(pY == 0)goto refresh;
- if(player==1)board[pY][pX] = 'G'; else board[pY][pX] = 'O';
- if(player==1)player=2; else player=1;
- goto refresh;
- break;
- case 2:
- pX = 4;
- pY = CalculateColumnSpace(2,pX,6);
- if(pY == 0)goto refresh;
- if(player==1)board[pY][pX] = 'G'; else board[pY][pX] = 'O';
- if(player==1)player=2; else player=1;
- goto refresh;
- break;
- case 3:
- pX = 6;
- pY = CalculateColumnSpace(2,pX,6);
- if(pY == 0)goto refresh;
- if(player==1)board[pY][pX] = 'G'; else board[pY][pX] = 'O';
- if(player==1)player=2; else player=1;
- goto refresh;
- break;
- case 4:
- pX = 8;
- pY = CalculateColumnSpace(2,pX,6);
- if(pY == 0)goto refresh;
- if(player==1)board[pY][pX] = 'G'; else board[pY][pX] = 'O';
- if(player==1)player=2; else player=1;
- goto refresh;
- break;
- case 5:
- pX = 10;
- pY = CalculateColumnSpace(2,pX,6);
- if(pY == 0)goto refresh;
- if(player==1)board[pY][pX] = 'G'; else board[pY][pX] = 'O';
- if(player==1)player=2; else player=1;
- goto refresh;
- break;
- case 6:
- pX = 12;
- pY = CalculateColumnSpace(2,pX,6);
- if(pY == 0)goto refresh;
- if(player==1)board[pY][pX] = 'G'; else board[pY][pX] = 'O';
- if(player==1)player=2; else player=1;
- goto refresh;
- break;
- case 7:
- pX = 14;
- pY = CalculateColumnSpace(2,pX,6);
- if(pY == 0)goto refresh;
- if(player==1)board[pY][pX] = 'G'; else board[pY][pX] = 'O';
- if(player==1)player=2; else player=1;
- goto refresh;
- break;
- default:
- cout << "Invalid Selection" << endl;
- system("pause");
- goto refresh;
- break;
- }
- exit:
- return 0;
- }
- int CalculateColumnSpace(int y, int x, int dist)
- {
- int cY;
- if(board[y+1][x] != ' ')
- {
- cout << "Column Full" << endl;
- system("pause");
- y = 0;
- }
- else
- {
- for(int h=0; h<dist; h++)
- {
- cY = y+1;
- if(board[cY][x] == ' ')
- {
- y++;
- }
- }
- }
- return y;
- }
- void Clear_Board()
- {
- for(int i=0; i<11; i++)
- {
- for(int p=0; p<25; p++)
- {
- if(board[i][p] == 'G')
- {
- board[i][p] = ' ';
- }
- }
- }
- for(int i=0; i<11; i++)
- {
- for(int p=0; p<25; p++)
- {
- if(board[i][p] == 'O')
- {
- board[i][p] = ' ';
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement