Mam więc wysokość mapy i jako część mojego algorytmu generowania rzeki chcę wybrać dwa punkty, o ile są częścią jednej z krawędzi tablicy. Wydaje się to być prostym zadaniem, ale nie mogę wymyślić rozwiązania, które nie wymaga zbyt wiele instrukcji. Czy istnieje sposób wybierania z krawędzi tablicy 2d? (IE, x = 0
lub x = max
lub y = 0
lub y = max
)Jak wybierać punkty tylko na krawędziach tablicy 2d
5
A
Odpowiedz
2
Można zrobić tablicę z wszystkich indeksów krawędziowych jak (0,10) i umieścić je wszystkie w jednej tablicy, teraz można po prostu wybrać jeden lub więcej im.
+0
Jedna rzecz, która nie jest związana z pytaniem: Zapisujesz lepsze wyniki losowo, jeśli rozciągasz losowy zakres do N razy długości tablicy i używasz modulo, aby uzyskać punkt w zakresie. Normalnie używam 7 jako multipikatora. –
2
Tylko nowości, oto sposób z tym, który nie wymaga przechowywania wszystkich indeksów lub jakiekolwiek if() blokuje:
static void randPoint(int width, int height, out int x, out int y, Random r)
{
int[] dim = {width,height};
int[] res = new int[2];
res[0] = r.Next(0, 2) * (width - 1);
res[1] = r.Next(0, 2) * (height - 1);
int hv = r.Next(0, 2);
res[hv] = r.Next(0,dim[hv]);
x = res[0];
y = res[1];
}
Powiązane problemy
- 1. Cięcie tablicy 2d na mniejsze tablice 2d
- 2. Android - Jak skanować punkty dostępu i wybierać najsilniejszy sygnał?
- 3. jak mapować punkty siatki 2d (x, y) na kuli jako punkty 3d (x, y, z)
- 4. Jak usunąć podzbiór tablicy 2d?
- 5. Scala - Najłatwiejsza grafika 2D do pisania na ekranie tablicy 2D?
- 6. sortuj punkty kalibracji 2d z numpy
- 7. Ograniczenie rozmycia Gaussa na krawędziach
- 8. Java Arrays.sort 2d tablicy
- 9. Wskaźnik w tablicy 2D
- 10. Seria plasterek 2D tablicy 3D w numpy
- 11. MySQL - Jak wybierać wiersze, w których wartość jest w tablicy?
- 12. numpy 3D obraz tablicy 2D
- 13. Znajdź długość tablicy 2D Python
- 14. Najprostszym sposobem na usunięcie klawiszy z tablicy 2D?
- 15. Drukowanie tablicy 2D w C
- 16. Jak ustawić wskaźnik na dowolny element tablicy 2D?
- 17. Jak uzyskać kolumnę z tablicy 2D java?
- 18. jak znaleźć rozmiar tablicy 2d w C++
- 19. Pisanie tablicy 2D do Excela
- 20. Siła narożników kwadratowych na krawędziach z grafviz
- 21. Numpy powtórz dla 2d tablicy
- 22. 2d array vs struktury tablicy
- 23. skopiować 2d tablicy w java
- 24. Jawnie przypisywanie wartości do tablicy 2D?
- 25. 2D tablicę wszystkich przesunięć cyklicznych 1D tablicy
- 26. sprawdzić, czy wartość istnieje w tablicy 2D
- 27. skopiować jedną tablicę 2D do innego tablicy 2D
- 28. Jak umieścić etykiety na krawędziach w przykładzie Dendrogram?
- 29. Identyfikacja sąsiednich regionów w tablicy numpy 2D
- 30. Android ścieżka do tablicy - przeczytaj punkty na ścieżce?
Chcesz losowy punkt? – JasonD
Ile jest za dużo? –
Dowolny losowy punkt, o ile jest na jednej z krawędzi. EDYCJA: Wybieram dwa punkty, jeśli to jest istotne. – user1938413