Discuss Scratch

artur32123
Scratcher
100+ posts

Problemy i Pytania

PMJ_MJBCS27 wrote:

artur32123 wrote:

Ma ktoś pomysł jak można zrobić AI dla przechodniów tak żeby chodzili po scrollowanym mieście? Szukam tego dobre 2 dni, i będę bardzo wdzięczny jeśli ktoś poda mi skrypt
Może ci spróbuję pomóc. Nie tu tylko zrobię z tym projekt. Jak zrobię to dam ci link. A masz już coś zrobionego? To byłoby mi łatwiej. Jakieś przesuwanie tła, samo tło.
https://scratch.mit.edu/projects/406854015/ Gra do której pełnej wersji chce dać AI przechodniów.A kiedy mniej więcej byś zrobił ?

Last edited by artur32123 (June 27, 2020 16:19:03)




kiedy [ nuda] > (99)
zawsze
programuj w scratchu aż<[nuda] = [0]>
end
Antek_W
Scratcher
500+ posts

Problemy i Pytania

Najpierw zrób graf dróg po których mogą chodzić.
Potem stwórz kilka klonów, które będą postaciami.
Po tym daj do nich podobny kod:
zawsze{
dostępneDrogi = obliczDostępneDrogi(pozycja)

droga = losuj(dostępneDrogi)

leć przez 1 sekunde do droga[x] droga[y]
}

to tak na szybko. jeśli chcesz to mogę dać kompletny kod w scratchu, albo bardziej to wytłumaczyć.


Podpisano: Antek_W



artur32123
Scratcher
100+ posts

Problemy i Pytania

Antek_W wrote:

Najpierw zrób graf dróg po których mogą chodzić.
Potem stwórz kilka klonów, które będą postaciami.
Po tym daj do nich podobny kod:
zawsze{
dostępneDrogi = obliczDostępneDrogi(pozycja)

droga = losuj(dostępneDrogi)

leć przez 1 sekunde do droga[x] droga[y]
}

to tak na szybko. jeśli chcesz to mogę dać kompletny kod w scratchu, albo bardziej to wytłumaczyć.
pokaż mi w scratchblocks bo niby to też rozumiem ale tak średnio



kiedy [ nuda] > (99)
zawsze
programuj w scratchu aż<[nuda] = [0]>
end
Janinainfa
Scratcher
100+ posts

Problemy i Pytania

Filip_Brajczewski wrote:

zmienne “tylko dla tego duszka”


czym się różni zmienna “tylko dla tego duszka” od zwykłej i jak ją można wytorzystać?
różni się tym, że “widzi” ją tylko ten duszek, w którym ją stworzyłeś i jak pokażesz to zamiast “NAZWA ZMIENNEJ” widzisz "NAZWA DUSZKA: NAZWA ZMIENNEJ

Podpisano Janinainfa
 wolna :: motion
ukraina :: control
Antek_W
Scratcher
500+ posts

Problemy i Pytania

artur, już robie.


Podpisano: Antek_W



PMJ_Studio
Scratcher
100+ posts

Problemy i Pytania

Filip_Brajczewski wrote:

zmienne “tylko dla tego duszka”


czym się różni zmienna “tylko dla tego duszka” od zwykłej i jak ją można wytorzystać?
Są 3 typu zmiennych:
- chmurowe - przechowywane na serwerach Scratcha, ogolnodostępne

- zwykłe - przechowywane w pamięci komputera, dostępne dla wszystkich duszków

- “tylko dla tego duszka” - dostępne normalnie dla danej kopii duszka - każdy klon ma swoją wersję tej zmiennej.
Inne duszki mogą ją odczytać blokiem
([moja zmienna v] z [Sprite1 v])
Przydają się, kiedy:
- jeden duszek potrzebuje bardzo dużo zmiennych (np. 3D, fizyka) - w innych duszkach nie trzeba szukać w kilkudziesięciu zmiennych, dodatkowo powinno to trochę przyspieszyć program
- każdy klon potrzebuje swoją kopię zmiennej, np. żeby przechować swój numer, kiedy nie da się tego zrobić kostiumem/custom blockiem

3D graphics, advanced physics - sailing, driving, ski jumping; cloud multiplayer and storage, automated map role-play engine
_________________________________
Pro . . . . . . | 3D rendering, code optimisation, high-level physics simulations, custom blocks, all kinds of math, pen
Amateur . . | clones, data storage in variables&lists, UI design, cloud data storage, sound
Beginner . . | animations, graphics, gameplay, cloud multiplayer
Antek_W
Scratcher
500+ posts

Problemy i Pytania

artur, tu


Podpisano: Antek_W



Filip_Brajczewski
Scratcher
100+ posts

Problemy i Pytania

gra “saper”


chcę zrobić grę podobną do sapera, ale zauważyłem, że jak klikam na jakieś pole w normalnym saperze, czasem odsłania mi się tylko to pole, a czasem też niektóre sąsiednie. jaka jest zasada odsłaniania się pól? (nie podawajcie kodu, tylko powiedzcie zasadę)

Last edited by Filip_Brajczewski (July 1, 2020 10:36:39)


░░░░░░░░░░░░░░░░░░░░
░▄▀▄▀▀▀▀▄▀▄░░░░░░░░░
░█░░░░░░░░▀▄░░░░░░▄░
█░░▀░░▀░░░░░▀▄▄░░█░█
█░▄░█▀░▄░░░░░░░▀▀░░█
█░░▀▀▀▀░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░░░░█
░█░░▄▄░░▄▄▄▄░░▄▄░░█░
░█░▄▀█░▄▀░░█░▄▀█░▄▀░
░░▀░░░▀░░░░░▀░░░▀░░░
KamGry
Scratcher
100+ posts

Problemy i Pytania

Filip_Brajczewski wrote:

gra “saper”


chcę zrobić grę podobną do sapera, ale zauważyłem, że jak klikam na jakieś pole w normalnym saperze, czasem odsłania mi się tylko to pole, a czasem też niektóre sąsiednie. jaka jest zasada odsłaniania się pól? (nie podawajcie kodu, tylko powiedzcie zasadę)

odsłaniają się wszystkie pola, na których byłaby liczba 0 (sąsiadujące bezpośrednio z klikniętym lub pośrednio poprzez inne 0
profesor_orange
Scratcher
5 posts

Problemy i Pytania

siema mam taki problem: zrobiłem multiplayer z filmiku griffpatcha tutaj możecie zobaczyć: https://scratch.mit.edu/projects/399174714/.
no i on działa ale mam zamiar zrobić multiplayera shootera czyli żeby można było strzelać, a dobrze wiecie, że pociski to klony więc jak zrobić żeby klony były nie tylko u ciebie ale u reszty grających też?

ps mam nadzieję że zrozumieliście
HappyCat460
Scratcher
500+ posts

Problemy i Pytania

profesor_orange wrote:

siema mam taki problem: zrobiłem multiplayer z filmiku griffpatcha tutaj możecie zobaczyć: https://scratch.mit.edu/projects/399174714/.
no i on działa ale mam zamiar zrobić multiplayera shootera czyli żeby można było strzelać, a dobrze wiecie, że pociski to klony więc jak zrobić żeby klony były nie tylko u ciebie ale u reszty grających też?

ps mam nadzieję że zrozumieliście
Rozumiem.
Stwórz zmienne:
(☁  pocisk1 - X)
i
(☁ pocisk1 Y)
kiedy zaczynam jako klon
zawsze

ustaw [☁ pocisk1 X v] na (współrzędna x)
ustaw [☁ pocisk1 Y v] na (współrzędna y)
end

Last edited by HappyCat460 (July 2, 2020 08:20:19)

PMJ_Studio
Scratcher
100+ posts

Problemy i Pytania

HappyCat460 wrote:

profesor_orange wrote:

siema mam taki problem: zrobiłem multiplayer z filmiku griffpatcha tutaj możecie zobaczyć: https://scratch.mit.edu/projects/399174714/.
no i on działa ale mam zamiar zrobić multiplayera shootera czyli żeby można było strzelać, a dobrze wiecie, że pociski to klony więc jak zrobić żeby klony były nie tylko u ciebie ale u reszty grających też?

ps mam nadzieję że zrozumieliście
Rozumiem.
Stwórz zmienne:
(☁  pocisk1 - X)
i
(☁ pocisk1 Y)
kiedy zaczynam jako klon
zawsze

ustaw [☁ pocisk1 X v] na (współrzędna x)
ustaw [☁ pocisk1 Y v] na (współrzędna y)
end
To bardzo nieefektywne rozwiązanie.
Po pierwsze X i Y trzeba zakodować do jednej zmiennej.
Po drugie dużo lepsze rozwiązanie to:

kiedy duszek strzela:
zakoduj X i Y duszka, kierunek wystrzelonego pocisku i (jeżeli trzeba) rodzaj pocisku
zapisz do zmiennej chmurowej, tam gdzie normalnie X i Y

U innego gracza (odczytującego):

jeżeli zmienna zawiera oprócz X i Y także kierunek i rodzaj pocisku:
wystrzel pocisk z (X, Y) w kierunku (kierunek) z prędkością (rodzaj pocisku)

Ponieważ pocisk porusza się po linii prostej, wystarczy podać jego pozycję i kierunek w dowolnym momencie strzału.

3D graphics, advanced physics - sailing, driving, ski jumping; cloud multiplayer and storage, automated map role-play engine
_________________________________
Pro . . . . . . | 3D rendering, code optimisation, high-level physics simulations, custom blocks, all kinds of math, pen
Amateur . . | clones, data storage in variables&lists, UI design, cloud data storage, sound
Beginner . . | animations, graphics, gameplay, cloud multiplayer
ColdestRage
Scratcher
39 posts

Problemy i Pytania

chyba mnie nie bardzo zrozumieliście bo chodzi mi o taką platformówkę przewijaną w prawo/lewo
profesor_orange
Scratcher
5 posts

Problemy i Pytania

super dzięki za rozwiązania
PL_DkD_PL-test
Scratcher
30 posts

Problemy i Pytania

ColdestRage wrote:

chyba mnie nie bardzo zrozumieliście bo chodzi mi o taką platformówkę przewijaną w prawo/lewo
To możesz dać przykład takiej platformówki?
PL_DkD_PL-test
Scratcher
30 posts

Problemy i Pytania

ColdestRage wrote:

chyba mnie nie bardzo zrozumieliście bo chodzi mi o taką platformówkę przewijaną w prawo/lewo
https://scratch.mit.edu/projects/406623544/fullscreen/

Coś takiego? (z najbardziej lubianych)
ColdestRage
Scratcher
39 posts

Problemy i Pytania

PL_DkD_PL-test wrote:

ColdestRage wrote:

chyba mnie nie bardzo zrozumieliście bo chodzi mi o taką platformówkę przewijaną w prawo/lewo
https://scratch.mit.edu/projects/406623544/fullscreen/

Coś takiego? (z najbardziej lubianych)
coś w tym stylu
PL_DkD_PL-test
Scratcher
30 posts

Problemy i Pytania

ColdestRage wrote:

PL_DkD_PL-test wrote:

ColdestRage wrote:

chyba mnie nie bardzo zrozumieliście bo chodzi mi o taką platformówkę przewijaną w prawo/lewo
https://scratch.mit.edu/projects/406623544/fullscreen/

Coś takiego? (z najbardziej lubianych)
coś w tym stylu
Scrolling…

Najpierw musisz zrobić tło większe od sceny. Ja jak chciałem na prawo/lewo to:
-Przekształcałem duszka w bitmapę i wypełniłem jednym kolorem
-Konwertowałem na wektor i rozsuwałem na boki
-Robiłem przeszkody/lód (akurat przeszkody i lód były w mojej najnowszej grze - wszystko z niej biorę) a żeby przesunąć to:
=zaznaczałem wszystko Ctrl+A
=nacisnąłem na jakąś widoczną rzecz
=przytrzymując klawisz myszy przytrzymywałem Shift
=przesuwałem
=powtarzałem tak aż było ułożone tak jak chcę.

Jak chcesz platformówkę to zrób kilka teł, z “kolcami” czy innymi rzeczami jak chociażby trampoliny.

Teraz zrób głównego duszka i weź normalny skrypt platformówki zastępując bloki
zmień x o ()
ustaw x na ()
blokami
zmień [x v] o ()
ustaw [x v] na []
. Jeśli chcesz zrobić by tło się ruszało jak podskakujesz to również zastąp bloki z “y” zmiennymi.
Skrypt dla tła:
kiedy kliknięto zieloną flagę
zawsze
ustaw x na ((główne x) - (x)) // główne x to środek duszka z tłem, ja używałem 0
ustaw y na ((główne y) - (y)) // usuń to jeśli chcesz bez y
end
Tło raczej jest największe i nie wyjdzie z pola widzenia. Ale jeśli masz takie rzeczy które mogą wyjść z pola widzenia to zrób te 3 kroki:
-Skopiuj ten skrypt co jest powyżej
-Zmieniaj x (i ewentualnie y) tak, by teoretycznie znikły z pola widzenia.
-Jak robisz z y: zmień “wx” na wynik z x, “-wx” na wynik, ale na minusie, “wy” na wynik z y i “-wy” na wynik z y ale na minusie w tym skrypcie:
kiedy kliknięto zieloną flagę
jeżeli <<<((główne x) - (x)) > [wx]> lub <((główne x) - (x)) < [-wx]>> lub <<((główne y) - (y)) > [wy]> lub <((główne y) - (y)) < [-wy]>>> to
ukryj
w przeciwnym razie
pokaż
wcześniejszy skrypt :: #000000
end
wiem że to w jeżeli się ucięło, więc:
Do bloku
<<> lub <>>
włóż
<<((główne x) - (x)) > [wx]> lub <((główne x) - (x)) < [-wx]>>
i
<<((główne y) - (y)) > [wy]> lub <((główne y) - (y)) < [-wy]>>
Jak chcesz bez “y” to:
jeżeli <<((główne x) - (x)) > [wx]> lub <((główne x) - (x)) < [-wx]>> to 
ukryj
w przeciwnym razie
pokaż
wcześniejszy skrypt :: #000000
end

Mam nadzieję, że to się przyda. PROSZĘ TEGO NIE CYTOWAĆ TYLKO NAPISAĆ @PL_DkD_PL LUB @PL_DkD_PL-test.

Last edited by PL_DkD_PL-test (July 2, 2020 17:18:24)

PMJ_Studio
Scratcher
100+ posts

Problemy i Pytania

Aktualny dzień tygodnia
Teraz ja mam pytanie, czy ktoś wie na pewno jak działa
(aktualna [dzień tygodnia v])
?
Jest środa, a blok zwraca 4 a nie 3. To dlatego że w USA pierwszy dzień tygodnia to niedziela?

3D graphics, advanced physics - sailing, driving, ski jumping; cloud multiplayer and storage, automated map role-play engine
_________________________________
Pro . . . . . . | 3D rendering, code optimisation, high-level physics simulations, custom blocks, all kinds of math, pen
Amateur . . | clones, data storage in variables&lists, UI design, cloud data storage, sound
Beginner . . | animations, graphics, gameplay, cloud multiplayer
Antek_W
Scratcher
500+ posts

Problemy i Pytania

PMJ_Studio wrote:

Aktualny dzień tygodnia
Teraz ja mam pytanie, czy ktoś wie na pewno jak działa
(aktualna [dzień tygodnia v])
?
Jest środa, a blok zwraca 4 a nie 3. To dlatego że w USA pierwszy dzień tygodnia to niedziela?
Tak. w Ameryce Sunday (niedziela) to oficjalnie pierwszy dzień tygodnia.


Podpisano: Antek_W



Powered by DjangoBB