بازی دوز در C#

Rama Shakiba

عضو جدید
سلام. کسی هست بتونه برای نوشتن برنامه دوز سه سطح من رو راهنمایی کنه؟ اگه کمک کنید استارت کار رو بزنم بقیه اش رو خودم می رم . ممنون.در ضمن میل من : rama.shakiba@gmail.com
 

fandak

عضو جدید
ساده
#include <iostream.h>
#include <cstdlib>
#include <iomanip.h>


bool checkWinner( char[][3], char);
bool tieGame ( char[][3] );
void drawTable( char[][3] );
void sortTable( char[][3] );
void playGame( char[][3], char& );
void getMove( char [][3], char );
void changeTurn ( char& );


int main()
{
char turn = 'O';
char answer = 'y';
char number[3][3] = {0};
bool win, tie;

while( toupper( answer ) == 'Y')
{
sortTable( number );
win = false;
tie = false;

while( !win && !tie )
{
playGame( number, turn );
win = checkWinner( number, turn);
tie = tieGame( number );
}

if ( tie && !win )
cout << "Game is tie.Play again? " << endl;
else
cout << "Player " << (turn == 'X' ? '1' : '2') << " wins! " << "\nPlay again?" << endl;

cin >> answer;
}
cout << "Thanks to wasting your time with me!" << (char)2<< endl;

return 0;
}


/* -------------------- drawTable function---------------------*/
void drawTable( char num[][3])
{
char side = (char)179, mid = (char)197;// 179 is | and 197 is +
system("CLS");
cout<< (char)218 << "-----" << (char)194 << "-----" << (char)194 << "-----" << (char)191 << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< side << setw(3) << num[0][0] << setw(3) << side << setw(3) << num[0][1] << setw(3) << side << setw(3) << num[0][2] << setw(3) << side << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< (char)195 << "-----" << mid << "-----" << mid << "-----" << (char)180 << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< side << setw(3) << num[1][0] << setw(3) << side << setw(3) << num[1][1] << setw(3) << side << setw(3) << num[1][2] << setw(3) << side << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< (char)195 << "-----" << mid << "-----" << mid << "-----" << (char)180 << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< side << setw(3) << num[2][0] << setw(3) << side << setw(3) << num[2][1] << setw(3) << side << setw(3) << num[2][2] << setw(3) << side << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< (char)192 << "-----" << (char)193 << "-----" << (char)193 << "-----" << (char)217 << endl;
return;
}
/*====================sortTable function========================*/
void sortTable( char num[][3])
{
int digit = 49;
for ( int i = 0; i < 3; i++ )
for ( int j = 0; j < 3; j++ )
num[j] = digit++;
}
/*====================playGame function=========================*/
void playGame( char number[][3], char &xo )
{
changeTurn( xo );
drawTable( number );
getMove( number, xo );
drawTable( number );
return;
}
/*====================checkWinner function======================*/
bool checkWinner( char num[][3], char xo)
{
if
(( num[0][0] == xo && num [0][1] == xo && num [0][2] == xo ) ||
( num[1][0] == xo && num [1][1] == xo && num [1][2] == xo ) ||
( num[2][0] == xo && num [2][1] == xo && num [2][2] == xo ) ||
( num[0][0] == xo && num [1][0] == xo && num [2][0] == xo ) ||
( num[0][1] == xo && num [1][1] == xo && num [2][1] == xo ) ||
( num[0][2] == xo && num [1][2] == xo && num [2][2] == xo ) ||
( num[0][0] == xo && num [1][1] == xo && num [2][2] == xo ) ||
( num[0][2] == xo && num [1][1] == xo && num [2][0] == xo ))
{
return true;
}

return false;
}
/*==================changeTurn================================*/
void changeTurn ( char &xo )
{
if ( xo == 'X' )
xo = 'O';
else
xo = 'X';
return;
}
/*==================getMove function============================*/
//Add some line to avoid entering number out of range (1-9)
void getMove( char number[][3], char xo )
{
int num, row, col;
cout << "Player " << (xo == 'X' ? '1' : '2') << " move : " << endl;
cin >> num;

row = ( num-1 ) / 3;
col = ( num+2 ) % 3;
//If that cell is full then ...
while ( number[row][col] == 'O' || number[row][col] == 'X' )
{
cout << "This cell is full.Try another cell" << endl;
cin >> num;

row = ( num-1 ) / 3;
col = ( num+2 ) % 3;
}

number[row][col] = xo;

return;
}
/*=================tieGame function==============================*/
bool tieGame ( char number[][3] )
{
int full = 0;
for ( int i = 0; i < 3; i++ )
{
for ( int j = 0; j <3; j++ )
{
if ( number[j] == 'X' || number[j] == 'O' )
full++;
}
}
return ( full == 9 ? true : false );
}
/*=====================End=======================================*/
 

fandak

عضو جدید

سی شارپ c# :
 

پیوست ها

  • TicTacToeWin32Project.zip
    12.4 کیلوبایت · بازدیدها: 0
  • SmartTicTacToe.zip
    26.2 کیلوبایت · بازدیدها: 0

hercool

عضو جدید
ساده
#include <iostream.h>
#include <cstdlib>
#include <iomanip.h>


bool checkWinner( char[][3], char);
bool tieGame ( char[][3] );
void drawTable( char[][3] );
void sortTable( char[][3] );
void playGame( char[][3], char& );
void getMove( char [][3], char );
void changeTurn ( char& );


int main()
{
char turn = 'O';
char answer = 'y';
char number[3][3] = {0};
bool win, tie;

while( toupper( answer ) == 'Y')
{
sortTable( number );
win = false;
tie = false;

while( !win && !tie )
{
playGame( number, turn );
win = checkWinner( number, turn);
tie = tieGame( number );
}

if ( tie && !win )
cout << "Game is tie.Play again? " << endl;
else
cout << "Player " << (turn == 'X' ? '1' : '2') << " wins! " << "\nPlay again?" << endl;

cin >> answer;
}
cout << "Thanks to wasting your time with me!" << (char)2<< endl;

return 0;
}


/* -------------------- drawTable function---------------------*/
void drawTable( char num[][3])
{
char side = (char)179, mid = (char)197;// 179 is | and 197 is +
system("CLS");
cout<< (char)218 << "-----" << (char)194 << "-----" << (char)194 << "-----" << (char)191 << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< side << setw(3) << num[0][0] << setw(3) << side << setw(3) << num[0][1] << setw(3) << side << setw(3) << num[0][2] << setw(3) << side << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< (char)195 << "-----" << mid << "-----" << mid << "-----" << (char)180 << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< side << setw(3) << num[1][0] << setw(3) << side << setw(3) << num[1][1] << setw(3) << side << setw(3) << num[1][2] << setw(3) << side << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< (char)195 << "-----" << mid << "-----" << mid << "-----" << (char)180 << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< side << setw(3) << num[2][0] << setw(3) << side << setw(3) << num[2][1] << setw(3) << side << setw(3) << num[2][2] << setw(3) << side << endl
<< side << setw(6) << side << setw(6) << side << setw(6) << side << endl
<< (char)192 << "-----" << (char)193 << "-----" << (char)193 << "-----" << (char)217 << endl;
return;
}
/*====================sortTable function========================*/
void sortTable( char num[][3])
{
int digit = 49;
for ( int i = 0; i < 3; i++ )
for ( int j = 0; j < 3; j++ )
num[j] = digit++;
}
/*====================playGame function=========================*/
void playGame( char number[][3], char &xo )
{
changeTurn( xo );
drawTable( number );
getMove( number, xo );
drawTable( number );
return;
}
/*====================checkWinner function======================*/
bool checkWinner( char num[][3], char xo)
{
if
(( num[0][0] == xo && num [0][1] == xo && num [0][2] == xo ) ||
( num[1][0] == xo && num [1][1] == xo && num [1][2] == xo ) ||
( num[2][0] == xo && num [2][1] == xo && num [2][2] == xo ) ||
( num[0][0] == xo && num [1][0] == xo && num [2][0] == xo ) ||
( num[0][1] == xo && num [1][1] == xo && num [2][1] == xo ) ||
( num[0][2] == xo && num [1][2] == xo && num [2][2] == xo ) ||
( num[0][0] == xo && num [1][1] == xo && num [2][2] == xo ) ||
( num[0][2] == xo && num [1][1] == xo && num [2][0] == xo ))
{
return true;
}

return false;
}
/*==================changeTurn================================*/
void changeTurn ( char &xo )
{
if ( xo == 'X' )
xo = 'O';
else
xo = 'X';
return;
}
/*==================getMove function============================*/
//Add some line to avoid entering number out of range (1-9)
void getMove( char number[][3], char xo )
{
int num, row, col;
cout << "Player " << (xo == 'X' ? '1' : '2') << " move : " << endl;
cin >> num;

row = ( num-1 ) / 3;
col = ( num+2 ) % 3;
//If that cell is full then ...
while ( number[row][col] == 'O' || number[row][col] == 'X' )
{
cout << "This cell is full.Try another cell" << endl;
cin >> num;

row = ( num-1 ) / 3;
col = ( num+2 ) % 3;
}

number[row][col] = xo;

return;
}
/*=================tieGame function==============================*/
bool tieGame ( char number[][3] )
{
int full = 0;
for ( int i = 0; i < 3; i++ )
{
for ( int j = 0; j <3; j++ )
{
if ( number[j] == 'X' || number[j] == 'O' )
full++;
}
}
return ( full == 9 ? true : false );
}
/*=====================End=======================================*/


مرسي
ميشه اين برناه رو به صورت فايل بزاريد!
اين جوري هر كاري ميكنم اجرا نميشه!!!

بايد چي كار كنم؟
 

یلدا1992

عضو جدید
خیلی خیلی عالی بود من فردا تحویل پروژه داشتم دستم هم خالی خالی بود هیچ برنامه ای نداشتم. fandak عزیز خیلی mr30:)
 

Similar threads

بالا