
نوشته شده توسط
ali_sed
در پایین همان قسمت توضیح دادم: با توجه به اینکه در هر مرحله یک v ساخته می شود برای اینکه بین چند تا یکی را رندوم انتخاب کنیم تا زمانی که همه ساخته نشده اند نمیتوان رندوم انتخاب کرد پس باید همه را در یک آرایه ذخیره کنید و در پایان یکی را بصورت رندوم انتخاب کنید. اما یک راه دیگر انتخاب دو به دو است فرض کنید 3 تا v یکسان داریم. اول بین v1 , v2 یکی را رندوم انتخاب می کنیم بعد بین v3 و نتیجه قبلی یکی را بصورت رندوم انتخاب می کنیم. (فقط اینکه در روش دوم احتمال 3 اومدن 50 درصد و احتمال 1 اومدن 25 درصد و احتمال 2 اومدن نیز 25 درصد است بنابراین اگر رندوم بودن با احتمال برابر مهم است بهتر است از همان روش اول استفاده کنید (فعلا می توانید از این قسمت گذر کنید و از همین روش ساده که گفتم استفاده کنید.))
بله حق با شماست
ولی میخواستم دوباره بپرسم تا مطمین بشم ببخشید شرمنده
بی نهایت ازتون ممنونم کدی که نوشتین را اجرا کردم کاملا درست کار میکنه
فقط باید به جای عدد 1 عدد 2 بزاریم
چون اعداد 2(ممهره قرمز) خونه سطر بعد و ستون بعد دارن که مشکل از کد اولی بود که خودم نوشتم
فقط یه چیزی وقتی دایم f5 میزنم و مقادیر آرایه move به صورت رندوم عوض میشه بین همه حالت ها یه حالتی انتخاب میشه که آرایه move خالی میشه و آرایه a تغییر نمیکند
در واقع هیچ حرکتی نمیتونه انجام بده
چطوری میتونیم بگیم حتما یه حرکتی انجام بده
ممنون میشم جواب بدین
خودم اینو امتحان کردم ولی باز هم احتمال داره آرایه move خالی باشه
$move = [$i, $j, $i+1, $j+1];
if(empty($move))
{
$move = [$i, $j, $i+1, $j+1];
}