Discuss Scratch
- Discussion Forums
- » Polski
- » Labirynt inna wersja [Pytanie]
- Przemek20
- Scratcher
100+ posts
Labirynt inna wersja [Pytanie]
Mamy taki labirynt
i jakiegoś duszka. Pytanie jest takie jak zrobić aby ten duszek
losował swoje położenie ale tak jego pozycja x i y była idealnie w środku kratki.
Wiemy że labirynt ma 480/360 pikseli a jedna kratka 40/40 pikseli.
Podpowiedzcie jak to zrobić.
Pozdrawiam Przemek
i jakiegoś duszka. Pytanie jest takie jak zrobić aby ten duszek
losował swoje położenie ale tak jego pozycja x i y była idealnie w środku kratki.
Wiemy że labirynt ma 480/360 pikseli a jedna kratka 40/40 pikseli.
Podpowiedzcie jak to zrobić.
Pozdrawiam Przemek
Last edited by Przemek20 (March 15, 2015 10:11:03)
None
- piotr_bala
- Scratcher
100+ posts
Labirynt inna wersja [Pytanie]
Mamy dwa problemy:
1. Jak umieścić duszka w środku pola (czerwonym lub zielonym)
2. Jak wybrać tylko pola zielone.
Zamiast umieszczać duszka w pikselach możemy ponumerować pola a następnie przeliczyć numer pola na piksele.
Plansza ma 12x9 pól, tak więc pola możemy numerować od 1 do 12 w poziomie i od 1 do 9 w pionie.
Dowolne pole możemy otrzymać losując 2 liczby - od 1 do 12 i od 1 do 9. Na przykład n=4 i m=5.
Teraz musimy to przeliczyć na piksele. Plansza numerowana jest -230 do 230 w poziomie i -180 do 180 w pionie.
Środek pola najbardziej na lewo to -230+20= -210.
Środek pola najbardziej na dole to -180+20= -160.
Środek kolejnego pole to -210 + (n-1)*40 w poziomie i -160+(m-1)*40 w pionie.
Teraz pozostaje sprawdzić czy pole jest zielone (ok) czy czerwone (losujemy jeszcze raz..)
1. Jak umieścić duszka w środku pola (czerwonym lub zielonym)
2. Jak wybrać tylko pola zielone.
Zamiast umieszczać duszka w pikselach możemy ponumerować pola a następnie przeliczyć numer pola na piksele.
Plansza ma 12x9 pól, tak więc pola możemy numerować od 1 do 12 w poziomie i od 1 do 9 w pionie.
Dowolne pole możemy otrzymać losując 2 liczby - od 1 do 12 i od 1 do 9. Na przykład n=4 i m=5.
Teraz musimy to przeliczyć na piksele. Plansza numerowana jest -230 do 230 w poziomie i -180 do 180 w pionie.
Środek pola najbardziej na lewo to -230+20= -210.
Środek pola najbardziej na dole to -180+20= -160.
Środek kolejnego pole to -210 + (n-1)*40 w poziomie i -160+(m-1)*40 w pionie.
Teraz pozostaje sprawdzić czy pole jest zielone (ok) czy czerwone (losujemy jeszcze raz..)
- Przemek20
- Scratcher
100+ posts
Labirynt inna wersja [Pytanie]
Czyli ten skrypt ma wyglądać tak?: (…)Środek kolejnego pole to -210 + (n-1)*40 w poziomie i -160+(m-1)*40 w pionie.
ustaw [n] na (losuj od (1) do (9))
ustaw [m] na (losuj od (1) do (12))
idź do x: (((-210) + ((m) - (1))) * (40)) y: (((-160) + ((n) - (1))) * (40))
Aha plansza nie jest numerowana od -230 do 230 tylko -240 do 240.
Last edited by Przemek20 (March 15, 2015 18:33:50)
None
- Opisek
- Scratcher
1000+ posts
Labirynt inna wersja [Pytanie]
@up Nawet dobrze kombinujesz, ale ja to u siebie zrobiłem tak:
To +5 musisz sobie sam ustalić, bo każdy duszek ma w innym miejscu środek i czasem środek jest np. na krawędzi kratki. Po to jest właśnie +5, żeby duszek miał środek na środku, a nie na krawędzi
Tutaj masz działanie w praktyce (nietoperz losuje kratkę)
P.S.
Ta * po to, bo się blok nie zmieścił.
idź do x: ((([podłoga v] z ((losuj od (-240) do (240)) / (40))) * (40)) + (5)) y: (*::control)Jeden blok zawsze lepszy od trzech Ten blok będzie u cb pasował, ale to grozi umieszczeniem w podziękowaniach :p
(*::control)
(([podłoga v] z ((losuj od (-180) do (180)) / (40))) * (40)
To +5 musisz sobie sam ustalić, bo każdy duszek ma w innym miejscu środek i czasem środek jest np. na krawędzi kratki. Po to jest właśnie +5, żeby duszek miał środek na środku, a nie na krawędzi
Tutaj masz działanie w praktyce (nietoperz losuje kratkę)
P.S.
Ta * po to, bo się blok nie zmieścił.
Last edited by Opisek (March 15, 2015 21:38:33)
- Przemek20
- Scratcher
100+ posts
Labirynt inna wersja [Pytanie]
Dzięki za gotowy skrypt U mnie w duszku musiałem +21 żeby w środku idealnie był .
None
- izis2098
- New to Scratch
1 post
Labirynt inna wersja [Pytanie]
Mam problem ze zrobieniem labiryntu.gra polega na tym że stworek którego prowadzimy ma przejść labirynt i nie dać się dodknąć chodzącym po labiryncie dinozaurom. Niewiem jak zrobić żeby jak stworek dotrze do mety to żeby dinozaury poszły do wyznaczonego miejsca .żeby chodziły dinozaury po labiryncie użyłam klocków:
kiedy kliknięto zieloną flagę
zawsze
leć przez () s do x: (0) y: (0)
leć przez () s do x: (0) y: (0)
leć przez () s do x: (0) y: (0)
leć przez () s do x: (0) y: (0)
end
- Discussion Forums
- » Polski
- » Labirynt inna wersja [Pytanie]