10 Nisan 2013 Çarşamba

XOX Game

    Multiplayer Game

                                                                   
                                                                     Single Game
                         







                                                      ----------main.cpp --------

#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;
  }
};


Hiç yorum yok:

Yorum Gönder