
نوشته اصلی توسط
Tiranoid
راه دوم استفاده از یه آرایه س که خودتونم استفاده کردین به این صورت
اول یه پشتیبان از آرایه تهیه میکنیم
بعد آرایه ای رو که میخوایم باش کار کنیم اینطوری میکنیم
1) یه عنصر از آرایه بصورت رندوم انتخاب کن
2) اگر مقدارش -1 نبود، پین رو high کن
3) وقتی پین رو high کردی، حالا تو آرایه، اون عنصر رو مقدارش رو برابر -1 قرار بده تا دفعه بعد انتخاب نشه
به همین راحتی
بار اول مثلا پین ها اینطوری هستن
0 و 1 و 2 و 3 و 4 و 5 و 6 و ...
بعد مثلا بصورت رندوم شماره 4 انتخاب میشه. پین شماره 4 های میشه و بعد عدد 4 میشه -1. میشه
0 و 1 و 2 و 3 و -1 و 5 و 6 و ...
دیگه در بار بعدی که حلقه اجرا میشه، اگر عنصر 5 امی (عنصری که مقدار 4 داشت و الان شده -1) انتخاب بشه، انتخاب اجرا نمیشه
عدد -1 رو همینطوری گذاشتم .
توجه کنید که بسته به نوع کدنویسیتون ممکنه مجبور باشید از foreach بجای for معمولی استفاده کنید.