Unikalne losowanie liczb

0

Witam
Mam problem z losowaniem liczb.
Mam szachownice 5x5 i 25 pionków. Każdy pionek posiada swoje ID.
Co zrobić, aby każdy pionek przed każdorazowym uruchomieniem aplikacji otrzymywał losową pozycję?
Początkowo robiłam, warunki, że jeżeli jakieś ID zostało już wylosowane to niech losuje jeszcze raz, ale nie dość, że warunek był kolosalnie długi w kodzie, to aplikacja z powodu miliardów obliczeń nie uruchamiała się.
Proszę o pomoc

0

Może wylosować, a jeśli pozycja jest zajęta, zacząć szukać najbliższego wolnego miejsca.

0

lista 25 pol
losowanie z przedzialu <0; dlugosc listy>
usuniecie wylosowanego elementu z listy.

1

Tworzysz listę/tablicę z wszystkimi pozycjami. Permutujesz tę listę/tablicę (seed np. jako czas systemowy). Przypisujesz pionkom pozycje, tak jak leci (taki jaki jest wynik permutacji).

0

najprościej to wypełnić regularnie planszę, a następnie iterować po wszystkich polach i losować pole, z którym masz zrobić zamianę pionków.
Tak działa np random_shuffle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1