Multiplayer Game
Single Game
#include "stdafx.h"
#include <iostream>
#include "efe.h"
#include <ctime>
using namespace std;
int main()
{
mainscreen();
system("pause");
return 0;
}
-----------efe.h---------
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <windows.h>
using namespace std;
void computer(char player,char computer);
void sender(char player);
void multiplayer(char playerone);
void checkermulti();
void show(char dizi[3][3],char turn);
void checker(char dizi[3][3],char computer,char player);
char dizi[3][3],efee;int turn=0;
bool efe=1,mltplyr=0;
void mainscreen() {
srand(time(NULL));
system("cls");
for(int i=0;i<3;i++) {
for(int k=0;k<3;k++) {
dizi[i][k] = '-';
}
}
char choosee[10];
char choose;
string str;
cout << " ############################################" << "\n" << " #" << " XOX Game Version 1.0.0 " << "#\n" << " #" << " Written by 0xhex " << "#\n" " ############################################" << "\n";
cout << "If you want to play with computer press 1" << endl;
cout << "If you want to play with your friend press 2" << endl; cin >> choose;
if(choose==49) {
cout << "Which do you prefer X or O" << endl;
do {
cin >> choosee;
choose=choosee[0];
if(choose!='X' && choose!='O') cout << "Enter X or O" << endl;
}while(choose!='X' && choose!='O');
if(choose=='X') {
show(dizi,choose);
do {computer('X','O'); }while(efe==1);
}else {
show(dizi,choose);
do {computer('O','X'); }while(efe==1);
}
}else if(choose==50) {
cout << "Player-one,what will be? X or O:";
do {
cin >> choose;
if(choose!='X' && choose!='O') cout << "Enter X or O" << endl;
}while(choose!='X' && choose!='O');
multiplayer(choose);
}else {
system("cls");
mainscreen();
}
}
void sender(char player) {
int row,coloumn;
bool res=0;
cout << endl;
do {
do {
cout << " Which row?(1,2,3) :" ;
cin >> row;
if(row!=1 && row!=2 && row!=3) cout << "Please enter number between 0 and 4 (1,2,3)";
}while(row!=1 && row!=2 && row!=3);
do {
cout << " Which coloumn?(1,2,3) :";
cin >> coloumn;
if(coloumn!=1 && coloumn!=2 && coloumn!=3) cout << "Please enter number between 0 and 4 (1,2,3)";
}while(coloumn!=1 && coloumn!=2 && coloumn!=3);
if(dizi[row-1][coloumn-1]=='-') {
dizi[row-1][coloumn-1]=player;
break;
}else {
cout << " This area full please enter another choose" << endl;
}
}while(true);//player turn over here!!!
if(dizi[0][0]!='-' && dizi[0][1]!='-' && dizi[0][2]!='-' && dizi[1][0]!='-' && dizi[1][1]!='-' && dizi[1][2]!='-' && dizi[2][0]!='-' && dizi[2][1]!='-' && dizi[2][2]!='-') {
efe=0;
show(dizi,player);
cout << " No Winner!" << endl;
cout << " Do you wanna play again? (y/n)" << endl;
int x;
do {
cout << " ";
cin >> x;
if(x==0) { exit(0); };
if(x!=1 && x!=0) { cout << " please enter 1 or 0" << endl; }else {
if(x==1) { mainscreen(); break;}
}
}while(x!=1 && x!=0);
}
}
void computer(char player,char computer) {
sender(player);
checker(dizi,computer,player); //turn is computer
show(dizi,player);
if(efe==0) {
cout << " Winner Computer" << endl;
cout << " Do you wanna play again?(again:1-exit:0)" << endl;
int x;
do {
cout << " ";
cin >> x;
if(x==0) { exit(0); };
if(x!=1 && x!=0) { cout << " please enter 1 or 0" << endl; }else {
if(x==1) { mainscreen(); break;}
}
}while(x!=1 && x!=0);
}
turn++;
}
void show(char dizi[3][3],char player) {
cout << endl;
cout << " " << "1 " << "2 " << "3" << endl;
for(int i=0;i<3;i++) {
cout << " ";
if(i==0) cout << "1";
if(i==1) cout << "2";
if(i==2) cout << "3";
for(int k=0;k<3;k++) {
if(dizi[i][k]=='-') {
cout << "[" << dizi[i][k] << "]";
}else {
cout << "[" << dizi[i][k] << "]";
}
}
cout << endl;
}
if(efe==1) {
cout << endl;
cout << " Turn is " << player << ";";
}
}
void checker(char dizi[3][3],char computer,char player) {
if(turn==0) { //if first round and middle is empty ; give &computer into middle
if(dizi[1][1]=='-') {
dizi[1][1]=computer;
return;
}
}
if(dizi[1][1]==dizi[0][2] && dizi[1][1]==computer && dizi[2][0] == '-') { dizi[2][0] = computer; efe=0; return;
}else if(dizi[1][1]==dizi[2][0] && dizi[1][1]==computer && dizi[0][2] == '-') { dizi[0][2] = computer; efe=0; return;
}else if(dizi[2][0]==dizi[0][2] && dizi[2][0]==computer && dizi[1][1] == '-') { dizi[1][1] = computer; efe=0; return;
}else if(dizi[1][1]==dizi[0][0] && dizi[1][1]==computer && dizi[2][2] == '-') { dizi[2][2] = computer; efe=0; return;
}else if(dizi[1][1]==dizi[2][2] && dizi[1][1]==computer && dizi[0][0] == '-') { dizi[0][0] = computer; efe=0;return;
}else if(dizi[0][0]==dizi[2][2] && dizi[2][2]==computer && dizi[1][1] == '-') { dizi[1][1] = computer; efe=0; return;}
for(int i=0;i<3;i++) {
if(dizi[i][0] == dizi[i][2] && dizi[i][0]==computer && dizi[i][1] =='-') { // first and third check //row checker here!!!
dizi[i][1] = computer; efe=0; return;
}else if(dizi[i][0] == dizi[i][1] && dizi[i][1]==computer && dizi[i][2] =='-') { // first and second check
dizi[i][2] = computer; efe=0; return;
}else if(dizi[i][1] == dizi[i][2] && dizi[i][1]==computer && dizi[i][0] =='-') { // second and third check
dizi[i][0] = computer; efe=0; return;
}
}
for(int i=0;i<3;i++) {
if(dizi[0][i] == dizi[2][i] && dizi[0][i]==computer && dizi[1][i] =='-') { // first and third check //coloumn checker here!!!
dizi[1][i] =computer; efe=0 ; return;
}else if(dizi[0][i] == dizi[1][i] && dizi[1][i]==computer && dizi[2][i] =='-') { // first and second check
dizi[2][i] =computer; efe=0;return;
}else if(dizi[1][i] == dizi[2][i] && dizi[1][i]==computer && dizi[0][i] =='-') { // second and third check
dizi[0][i] =computer; efe=0;return;
}
}
if(dizi[1][1]==dizi[0][2] && dizi[1][1]==player && dizi[2][0] == '-') { dizi[2][0] = computer; return;
}else if(dizi[1][1]==dizi[2][0] && dizi[1][1]==player && dizi[0][2] == '-') { dizi[0][2] = computer; return;
}else if(dizi[2][0]==dizi[0][2] && dizi[2][0]==player && dizi[1][1] == '-') { dizi[1][1] = computer; return;
}else if(dizi[1][1]==dizi[0][0] && dizi[1][1]==player && dizi[2][2] == '-') { dizi[2][2] = computer; return;
}else if(dizi[1][1]==dizi[2][2] && dizi[1][1]==player && dizi[0][0] == '-') { dizi[0][0] = computer; return;
}else if(dizi[0][0]==dizi[2][2] && dizi[2][2]==player && dizi[1][1] == '-') { dizi[1][1] = computer; return; }
for(int i=0;i<3;i++) {
if((dizi[i][0] == dizi[i][2]) && dizi[i][0]==player && dizi[i][1] =='-') { // first and third check //row checker here!!!
dizi[i][1]=computer; return;
}else if((dizi[i][0] == dizi[i][1]) && dizi[i][1]==player && dizi[i][2] =='-') { // first and second check
dizi[i][2] =computer; return;
}else if((dizi[i][1] == dizi[i][2]) && dizi[i][1]==player && dizi[i][0] =='-') { // second and third check
dizi[i][0] =computer; return;
}
}
for(int i=0;i<3;i++) {
if((dizi[0][i] == dizi[2][i]) && dizi[0][i]==player && dizi[1][i] =='-') { // first and third check //coloumn checker here!!!
dizi[1][i] =computer; return;
}else if((dizi[0][i] == dizi[1][i]) && dizi[1][i]==player && dizi[2][i] =='-') { // first and second check
dizi[2][i] =computer; return;
}else if((dizi[1][i] == dizi[2][i]) && dizi[1][i]==player && dizi[0][i] =='-') { // second and third check
dizi[0][i] =computer;return;
}
}
int x=0,y=0;
do{
x=rand()%3; Sleep(35);
y=rand()%3;
if(dizi[x][y]=='-') {
dizi[x][y]=computer;
break;
return;
}
}while(true);
}
void multiplayer(char playerone) {
char playertwo;
if(playerone=='X') {
playertwo='O';
}else {
playertwo='X';
}
do {
if(turn%2==0) {
show(dizi,playerone);
sender(playerone);
checkermulti();
}else{
show(dizi,playertwo);
sender(playertwo);
checkermulti();
}
turn++;
}while(efe==1);
show(dizi,playertwo); // there is winner and last show last situation
if(efee==3) {
cout << " No Winner!" << endl;
}else {
cout << " Winner " << efee << "!" << endl;
}
cout << " Do you wanna play again?(again:1-exit:0)" << endl;
int x;
do {
cout << " ";
cin >> x;
if(x==0) { exit(0); };
if(x!=1 && x!=0) { cout << " please enter 1 or 0" << endl; }else {
if(x==1) { mainscreen(); break;}
}
}while(x!=1 && x!=0);
}
void checkermulti() {
for(int i=0,k=0;i<3;i++) {
if(dizi[i][k] == dizi[i][k+1] && dizi[i][k+1] == dizi[i][k+2] && dizi[i][k+1] != '-') { //from right to left
//Winner
efe=0;
efee=dizi[i][k];
return;
}
}
for(int i=0,k=0;i<3;i++) {
if(dizi[k][i] == dizi[k+1][i] && dizi[k+1][i] == dizi[k+2][i] && dizi[k+1][i] != '-') { //from up to down
//Winner
efe=0;
efee=dizi[k][i];
return;
}
}
if(dizi[1][1] == dizi[2][0] && dizi[1][1] == dizi[0][2] && dizi[1][1] != '-') { //cross
//Winner
efe=0;
efee=dizi[1][1];
return;
}
if(dizi[1][1] == dizi[0][0] && dizi[1][1] == dizi[2][2] && dizi[1][1] != '-') { //cross
//Winner
efe=0;
efee=dizi[1][1];
return;
}
if(dizi[0][0]!='-' && dizi[0][1]!='-' && dizi[0][2]!='-' && dizi[1][0]!='-' && dizi[1][1]!='-' && dizi[1][2]!='-' && dizi[2][0]!='-' && dizi[2][1]!='-' && dizi[2][2]!='-') {
efe=0;
efee=3;
}
};










