مشاهده نسخه کامل
: میخواستم این برنامه رو به این صورت برام تغییر بدین؟
ClubMilad
14-03-2008, 19:47
ميخواستم وقت گرانبهاتون رو براي مدتي بگيرم تا اين برنامه رو برام به اين نحو تغيير بدين آخه خيلي به اون احتياج دارم:46:
(اين برنامه با CPP نوشته شده و ميشه اون رو با DEV C++ هم کامپايل کرد)
نتونستم مکانهایی که باید تابع textcoloreو printf رو بزارم پیدا کنم؟(اگه راهنمایی هم کردین ممنون میشم)
1-محيط بازي به وسط صفحه بياد و خطوط اون آبي بشن
2-کاراکتر X که براي نفر اول هست به رنگ زرد و کاراکتر O که براي نفر دوم هست به رنگ سبز تغيير کنه؟
3-ميخواميه شرط به اون اضافه بشه که وقتي نفر اول يا دوم عددي بيشتر از 9 وارد کردند پيغام خاصي بده
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
asire-dell
15-03-2008, 21:26
mishe source barname ro bezarid ta bbebinim barnaamatoon chiye?
shayad betoonim komaketoon konim.
ClubMilad
16-03-2008, 09:35
بفرما عزیز :
#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[i][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[i][j] == 'X' || number[i][j] == 'O' )
full++;
}
}
return ( full == 9 ? true : false );
}
/*=====================End========================= ==============*/
asire-dell
16-03-2008, 11:26
بفرما عزیز :
#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[i][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[i][j] == 'X' || number[i][j] == 'O' )
full++;
}
}
return ( full == 9 ? true : false );
}
/*=====================End========================= ==============*/
چه برنامه طويلي.باشه يه ناه مي ندازم تا چند روز ديگه خبر مي دم كه به نتيجه رسيدم يا نه.
ClubMilad
16-03-2008, 19:36
خیلی ممنون دوست عزیز از لطفتون منتظر هستم
ClubMilad
22-03-2008, 21:25
دوست عزیز چه خبر تونستی درستش کنی
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.