-
[PHP]public bool IsMov(List<Mohre> x, int tas)[/PHP]
این تابع از کلاس مهره رو توضیح بدم
یهاین تابع یه لیستی از مهره ها رو می گیره + عدد تاس و به ما میگه که این مهره آیا می تونه حرکت کنه یا خیر
روش کارش هم اینجوریه
[PHP]public bool IsMov(List<Mohre> x, int tas)
{
1 if ((point < 10 && point + tas >= 10) || (point < 20 && point + tas >= 20)
2 || (point < 30 && point + tas >= 30))
3 tas++;
4 if (point >= 44 || point + tas >= 44) return false;
5 foreach (Mohre a in x)
6 {
7 if (point <= 0)
8 {
9 if (0 < a.point && a.point < 40)
10 if ((a.point + a.Start) % 40 == (Start + tas) % 40)
11 return false;
12 }
13 else if (point < 40)
14 {
15 if (point + tas >= 40)
16 {
17 if (a.Start == Start && a.point == point + tas)
18 return false;
19 }
20 else
21 {
22 if (0 < a.point && a.point < 40)
23 if ((Start + point + tas) % 40 == (a.point + a.Start) % 40)
24 return false;
25 }
26 }
27 else if (point >= 40)
28 {
29 if (tas + point == a.point && Start == a.Start)
30 return false;
31 }
32 }
33 return true;
34 }[/PHP]
-
خط اول میگه و دوم یه شرطی دارن که میگن اگه مهره ای قبل از خونه صفر یه مهره دیگه باشه و بعد از حرکت به اندازه tas به خونه صفر یا یا خونه های بعدیش باشه
خط سوم یک واحد به تاس اضافه می کنه تا اون خونه 0 حساب نشه
خط چهارم میگه اگر مهره تو خونه 44 یا بالاتر بودو یا با جمع point و tas یه خونه ای بالاتر یا مساوی 44 باشه
انتهای خط چهارم میگه که نمی تونه حرکت کنه و تابع از همینجا به اتمام میرسه
اما اگه شرط خط چهارم درست نبود
میره به خط های بعد
خط 5 یه حلقه است که می خواد تمام مهره ها رو بررسی کنه واسه همین در هر دور حقله یکی از مهره ها رو به درون a قرار میده و حلقه رو اجرا می منه
الان این مهره ( this)
1- می تونه تو خونه های -3 یا -2 یا -1 یا 0 باشه
2- می تونه تو خونه های 1 یا 2 یا 3 یا ... یا 38 یا 39 باشه
3- می تونه تو خونه های 40 یا 41 یا 42 یا 43 باشه
خط 7 میگه اگه شرط 1 درست بود
آنگاه خط 9 میگه اگر a تو بازی باشد ( a,point بین 0 و 40)
آنگاه خط 10 اجرا میشه
-
سلام
من عضو جدید تاپیک هستم
میخوام برنامه منج رو از اول برام توضیح بدبن!!