سلام دوستان من يه بازي دوز نوشتم كه به خوبي هم كار ميكنه ولي شرط بردش خيلي طولاني شده چون دوزم 5*5 هستش وبايد شرطهاي زيادي بررسي بشه ايا راهي هست كه اين شرطها در يك حلقه بررسي بشه .زبان برنامه هم c هست.:46:
Printable View
سلام دوستان من يه بازي دوز نوشتم كه به خوبي هم كار ميكنه ولي شرط بردش خيلي طولاني شده چون دوزم 5*5 هستش وبايد شرطهاي زيادي بررسي بشه ايا راهي هست كه اين شرطها در يك حلقه بررسي بشه .زبان برنامه هم c هست.:46:
عجب سوالی . نه از سورس خبر هست و نه از چیری . اون وقت می گین کدی رو که من در ذهن دارم برام خلاصه کنین .
:31:نقل قول:
بيا عزيز دلم اينم كدش البته 5 *5 شو در نظر بگير:کد:void test_win(int a[3][3],int *win)
{
int f=0;
if( a[0][0]==1 && a[0][1]==1 && a[0][2]==1 )f=1;
if( a[1][0]==1 && a[1][1]==1 && a[1][2]==1 )f=1;
if( a[2][0]==1 && a[2][1]==1 && a[2][2]==1 )f=1;
if( a[0][0]==1 && a[1][0]==1 && a[2][0]==1 )f=1;
if( a[0][1]==1 && a[1][1]==1 && a[2][1]==1 )f=1;
if( a[0][2]==1 && a[1][2]==1 && a[2][2]==1 )f=1;
if( a[0][0]==1 && a[1][1]==1 && a[2][2]==1 )f=1;
if( a[2][0]==1 && a[1][1]==1 && a[0][2]==1 )f=1;
if( a[0][0]==2 && a[0][1]==2 && a[0][2]==2 )f=2;
if( a[1][0]==2 && a[1][1]==2 && a[1][2]==2 )f=2;
if( a[2][0]==2 && a[2][1]==2 && a[2][2]==2 )f=2;
if( a[0][0]==2 && a[1][0]==2 && a[2][0]==2 )f=2;
if( a[0][1]==2 && a[1][1]==2 && a[2][1]==2 )f=2;
if( a[0][2]==2 && a[1][2]==2 && a[2][2]==2 )f=2;
if( a[0][0]==2 && a[1][1]==2 && a[2][2]==2 )f=2;
if( a[2][0]==2 && a[1][1]==2 && a[0][2]==2 )f=2;
if( f==1 ) printf("\n PLAYER 1 WIN.");
if( f==2 ) printf("\n PLAYER 2 WIN.");
if(f)
{
printf("\n\n GAME OVER !");
printf("\n\n PRESS ANY KEY TO RESTART GAME.\n");
getch();
*win=1;
}
}
بين اينا ميشه or بزاري و از يه if استفاده كني ولي فرق چنداني ند اره.نقل قول:
از سه حلقۀ for تو در تو استفاده کنید...
__________________
وبلاگ منhttp://www.irancplusplus.co.ccشامل یک pdf دربارۀ «آشنایی با نظریه نسبیت خاص» و ویرایش سوم «با ++C آشنا شویم»:20:
يكم بيشتر توضيح ميدي:31:نقل قول:
بسه ديگه فاتحه كدو خوندي:31: مثلا خلاصش كردي:31:نقل قول:
خب مثلا سه تا if اول رو میشه این جور نوشت:
حالا اگه اندیسا یه خرده منظم تر بود با اضافه کردن یه حلقۀ دیگه همه کامل میشد..کد:for(int i =0; i <=2; i++)
for(int j =0; j <=2; j++)
{
if( a[i][j]==1&& a[i][j]==1&& a[i][j]==1)
f =1;
if( a[i][j]==2 && a[i][j]==2 && a[i][j]==2)
f =2;
}
البته این جا خیلی جمع و جور تر از این نمیشه نوشت مگه آرایه حالت خاصی داشته باشه.
به هر حال ممنون:46:نقل قول:
كدي هست كه بتونم با هاش پنجره ي كنسولو ببندم يعني از برنامه خارج شم