Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Losowanie
Przemek19
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 1.02.2017
Skąd: Polska

Ostrzeżenie: (0%)
-----


Witam. Mam pewien problem, który wydaje się banalny. Otóż chciałbym stworzyć taką zmienną $zmienna["x"]["y"] 5 razy, tak, aby za każdym razem nie była taka sama. Np.

Kod
<?php

$ilosc = 5;

for($i = 0; $i < $ilosc; $i++)
{

    $rand_x = rand(0,10);
    $rand_y = rand(0,10);

    $zmienna[$rand_x][$rand_y] = true;

}

?>


To tworzy 5 razy zmienną, ale czasami jest ona taka sama jak wcześniej. Dałoby się zrobić to tak, aby za każdym razem była inna?

PS przepraszam za niejasny język, ale jestem niewyspany i cały dzień myślałem nad poprawnością powyższego kodu.

Ten post edytował Przemek19 24.04.2017, 22:12:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Przemek19
post
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 1.02.2017
Skąd: Polska

Ostrzeżenie: (0%)
-----


Tak, robię coś w stylu sapera. Wszystko działa, tylko zostało mi losowanie bomb. W ustawieniach mam taką zmienną jak $sets['bombs'], która pokazuje ile bomb ma się znaleźć na planszy. Jest jeszcze zmienna $pole['szerokosc'] i $pole['wysokosc'], które tworzą rozmiar planszy, jako X jest oznaczona wysokość, a jako Y szerokość. Jak mówiłem, niby takie proste, ale nie chce działać. Zrobiłem takie coś dla losowania, ale nadal nie działa:

Kod
for($i = 0; $i < $ilosc; $i++)
{

    $rand_x = rand(0,10);
    $rand_y = rand(0,10);

    $zmienna[$rand_x][$rand_y] = true;

    if(isset($zmienna[$rand_x][$rand_y]))
    {

        $i--;

    }

}


Spróbuję coś zrobić z funkcją shuffle, Chociaż wydaje mi się, że wtedy np. X, skoro będzie musiał być inny za każdym razem, to na jedną wysokość, będzie tylko jedna bomba. Ma ktoś może jakiś pomysł jak to zastosować? Będę bardzo wdzięczny (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował Przemek19 25.04.2017, 15:56:20
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 10:58