Rama Shakiba
عضو جدید
سلام. کسی هست بتونه برای نوشتن برنامه دوز سه سطح من رو راهنمایی کنه؟ اگه کمک کنید استارت کار رو بزنم بقیه اش رو خودم می رم . ممنون.در ضمن میل من : rama.shakiba@gmail.com
سی شارپ c# :
ساده
#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=======================================*/
Thread starter | عنوان | تالار | پاسخ ها | تاریخ |
---|---|---|---|---|
دانلود رایگان پروژه بازی ایکس او در C#.Net دوز بازی خودمون | C#.NET | 0 | ||
P | برنامه سی شارپ بازی | C#.NET | 2 | |
M | بازی منچ - تحت شبکه بصورت Client/Server ( Socket Programming )a | C#.NET | 1 | |
دانلود رایگان بازی مار و پله | C#.NET | 3 | ||
سورس بازی شطرنج سی شارپ c# | C#.NET | 12 |