Discuss Scratch
- tosiaf
- Scratcher
30 posts
[PORADNIK] Jak zrobić quiz?
A kiedy chcę zrobić taki quiz że np. jaką postacią jesteś? Próbowałam i mi nie wychodzi
Witaj
Pokażę ci jak zrobić dobry quiz.
Robisz 2 listy i dwie zmienne.
W jednej liście piszesz pytania, a w drugiej odpowiedzi
np.
Pytania:
3+5=
7+2=
Odpowiedzi:
8
9
Jedną zmienną nazwij “punkty”, a drugą “runda”.
Teraz podam najlepszy skrypt do zrobienia quizu:kiedy kliknięto zieloną flagę
ustaw [punkty v] na [0]
ustaw [runda v] na [0]
powtórz (długość [pytania v]) razy
zmień [runda v] o (1)
zapytaj (element (runda::variables) z [pytania v]) i czekaj
jeżeli <(odpowiedź) = (element (runda::variables) z [odpowiedzi v])> to
zmień [punkty v] o (1)
powiedz [Twoja odpowiedź jest poprawna!] przez (2) s
w przeciwnym wypadku::cap //category=control
powiedz [Twoja odpowiedź nie jest poprawna!] przez (2) s
powiedz (połącz [Poprawna odpowiedź to: ] i (element (runda::variables) z [odpowiedzi v])) przez (4) s
end
end
powiedz [Brawo!] przez (2) s
powiedz (połącz (połącz [Osiągnąłeś ] i (punkty)) i (połącz [ punktów na ] i (połącz (długość [pytania v]) i [!]))) przez (4) s
powiedz [Dobry wynik!!!] przez (2) s
Tylko jeden krótki skrypt i możemy zrobić nieskończony quiz, zamiast ciągnąć pytania na całą stronę.
Proszę, umieść mnie w podziękowaniach.
when green flag clicked
forever
be yourself
end
- Srebrny
- Scratcher
50 posts
[PORADNIK] Jak zrobić quiz?
to już nie jest quiz, to jest test (psychotest).
ja bym zrobił tak, że tworzę tyle list ile mam pytań, w każdej liście kilka odpowiedzi (np 4 - A,B,C,D), tyle samo zmiennych i w zależności co gracz wybierze to dana zmienna się zwiększa. na koniec których odpowiedzi jest najwięcej to taki wynik wychodzi (chyba też do listy bym dał.)
ja bym zrobił tak, że tworzę tyle list ile mam pytań, w każdej liście kilka odpowiedzi (np 4 - A,B,C,D), tyle samo zmiennych i w zależności co gracz wybierze to dana zmienna się zwiększa. na koniec których odpowiedzi jest najwięcej to taki wynik wychodzi (chyba też do listy bym dał.)
- wojciech-marzec
- Scratcher
100+ posts
[PORADNIK] Jak zrobić quiz?
kiedy kliknięto zieloną flagę
ustaw [punkty v] na [0 ]
ustaw [runda v] na [0 ]
powtórz (długość [pytania v]) razy
zmień [runda v] o (1)
zapytaj (element (runda) z [pytania v]) i czekaj
jeżeli <(odpowiedź) = (element (runda ) z [ odpowiedzi v])> to
zmień [punkty v] o (1)
powiedz [Twoja odpowiedź jest poprawna] przez (2) s
w przeciwnym razie
powiedz [Twoja odpowiedź nie jest poprawna] przez (2) s
powiedz (połącz [Poprawna odpowiedź to ] i (połącz (element (runda ) z [ odpowiedzi v]) i [ !])) przez (4) s
end
end
powiedz [Gratulacje! Skończyłeś test!] przez (2) s
powiedz (połącz [Otrzymałeś] i (połącz (punkty) i (połącz [/] i (połącz (długość [pytania v]) i [punktów])))) przez (2) s
powiedz [Brawo!] przez (2) s
zatrzymaj [wszystko v]
Last edited by wojciech-marzec (Oct. 2, 2017 17:12:37)
when gf clicked
forever
enjoy: (all seasons (spring :: operators stack) (summer :: control stack) (autumn :: list stack) (winter :: sensing stack) :: hat motion) :: #ff0000
end
Profil
- wojciech-marzec
- Scratcher
100+ posts
[PORADNIK] Jak zrobić quiz?
(Niepotrzebne cytat usunięty przez moderatora - proszę zachować to krótka)
Opisek, nie zrobiłeś wszystkiego!
Skrypt końcowy:
Opisek, nie zrobiłeś wszystkiego!
Skrypt końcowy:
jeżeli <(runda) > (długość [pytania v])> to
zatrzymaj [wszystko v]
end
Last edited by Paddle2See (Feb. 2, 2016 12:37:06)
when gf clicked
forever
enjoy: (all seasons (spring :: operators stack) (summer :: control stack) (autumn :: list stack) (winter :: sensing stack) :: hat motion) :: #ff0000
end
Profil
- OpiGames
- Scratcher
100+ posts
[PORADNIK] Jak zrobić quiz?
To nic nie zmienia bo skrzpt powtarza sie tylko tak dlugo az zabraknie pytan.
((Any ideas::operators reporter)::ring obsolete) {what I could::ring sensing} ({put{in{my::events}signature::control}?::list}::variables hat) ::control
- agati88
- Scratcher
28 posts
[PORADNIK] Jak zrobić quiz?
Ja robię inaczej.
kiedy kliknięto zieloną flagęI tak zrobiłam kilka Quizów
powiedz [Coś tam mówi na temat quizu] przez (jakiś tam czas) s
zapytaj [Jakieś pytanie] i czekaj
jeżeli <(odpowiedź) = [Dobra odpowiedź]> to
zmień [Dobre odp.v] o ()
end
jeżeli <nie <(odpowiedź) = [Dobra odp. ]>> to
zmień [złe odp v] o (1)
end
when this sprite clicked
forever
say [Fajne projekty]
ask [Może dam gwiazdeke lub serduszko? Tak, dam!] and wait
end
- OpiGames
- Scratcher
100+ posts
[PORADNIK] Jak zrobić quiz?
To jest to samo, ale musisz cały czas kopiować te same bloki, robiąc skrypt mega długi.
((Any ideas::operators reporter)::ring obsolete) {what I could::ring sensing} ({put{in{my::events}signature::control}?::list}::variables hat) ::control
- ProgrammingMan654
- Scratcher
100+ posts
[PORADNIK] Jak zrobić quiz?
kiedy kliknięto zieloną flagę
zapytaj [Kto był najlepszym królem wszech-szechów?] i czekaj
jeżeli <(odpowiedź) = [Król Julian ]> to
powiedz [Dobrze! Kto idzie na imprezę?] przez (2) s
end
- wojciech-marzec
- Scratcher
100+ posts
[PORADNIK] Jak zrobić quiz?
kiedy kliknięto red-flagę gray :: events hat
podnieś ubikację na ( v) metrów :: grey
turbo uruchomione na poziom ( v) :: motion cap
bądź {(uszczęśliwiony :: pen) :: ring sensing}, albowiem :: motion hat
myślę, że <nauczysz się> [czegoś nowego v] :: variables
chyba zapytasz się, że kto jest [najlepszym scratcherem v] :: control
potwierdzono [Opisek v] :: looks
jeżeli tak, to {puść fajerwerki :: looks} a jeżeli dasz (gwiazdkę :: variables) i (serce :: list){uciesz się :: operators} dalej bądź lubiany :: extension
polub tego, kto dał gwiazdkę :: sound cap
[scratchblocks]
kiedy kliknięto red-flagę gray :: events hat
podnieś ubikację na ( v) metrów :: grey
turbo uruchomione na poziom ( v) :: motion cap
bądź {(uszczęśliwiony :: pen) :: ring sensing}, albowiem :: motion hat
myślę, że <nauczysz się> [czegoś nowego v] :: variables
chyba zapytasz się, że kto jest [najlepszym scratcherem v] :: control
potwierdzono [Opisek v] :: looks
jeżeli tak, to {puść fajerwerki :: looks} a jeżeli dasz (gwiazdkę :: variables) i (serce :: list){uciesz się :: operators} dalej bądź lubiany :: extension
polub tego, kto dał gwiazdkę :: sound cap
[/scratchblocks]
when gf clicked
forever
enjoy: (all seasons (spring :: operators stack) (summer :: control stack) (autumn :: list stack) (winter :: sensing stack) :: hat motion) :: #ff0000
end
Profil
- Apocalypse_Gaming
- Scratcher
23 posts
[PORADNIK] Jak zrobić quiz?
Jeszcze lepsza wersja:
Witaj
Pokażę ci jak zrobić dobry quiz.
Robisz 2 listy i dwie zmienne.
W jednej liście piszesz pytania, a w drugiej odpowiedzi
np.
Pytania:
3+5=
7+2=
Odpowiedzi:
8
9
Jedną zmienną nazwij “punkty”, a drugą “runda”.
Teraz podam najlepszy skrypt do zrobienia quizu:kiedy kliknięto zieloną flagę
ustaw [punkty v] na [0]
ustaw [runda v] na [0]
powtórz (długość [pytania v]) razy
zmień [runda v] o (1)
zapytaj (element (runda::variables) z [pytania v]) i czekaj
jeżeli <(odpowiedź) = (element (runda::variables) z [odpowiedzi v])> to:: control cstart
zmień [punkty v] o (1)
powiedz [Twoja odpowiedź jest poprawna!] przez (2) s
w przeciwnym wypadku::celse control
powiedz [Twoja odpowiedź nie jest poprawna!] przez (2) s
powiedz (połącz [Poprawna odpowiedź to: ] i (element (runda::variables) z [odpowiedzi v])) przez (4) s
end:: cend
end
powiedz [Brawo!] przez (2) s
powiedz (połącz (połącz [Osiągnąłeś ] i (punkty)) i (połącz [ punktów na ] i (połącz (długość [pytania v]) i [!]))) przez (4) s
powiedz [Dobry wynik!!!] przez (2) s
Tylko jeden krótki skrypt i możemy zrobić nieskończony quiz, zamiast ciągnąć pytania na całą stronę.
Proszę, umieść mnie w podziękowaniach.
kiedy kliknięto zieloną flagę
ustaw [punkty v] na [0]
ustaw [runda v] na [0]
ustaw [max v] na [0]
powtórz (długość [pytania v]) razy
zmień [runda v] o (1)
zapytaj (połącz (połącz (połącz (runda) i [. ]) i (element (runda) z [pytania v])) i (połącz (połącz [(] i (element (runda) z [wagi v])) i [ pkt.)])) i czekaj
zmień [max v] o (element (runda) z [wagi v])
jeżeli <(odpowiedź) = (element (runda) z [odpowiedzi v])> to
zmień [punkty v] o (element (runda) z [wagi v])
powiedz [Twoja odpowiedź jest poprawna!] przez (2) s
w przeciwnym razie
powiedz [Twoja odpowiedź nie jest poprawna!] przez (2) s
powiedz (połącz [Poprawna odpowiedź to: ] i (element (runda) z [odpowiedzi v])) przez (4) s
end
jeżeli <<((punkty) / (max)) > [0.3]> lub <((punkty) / (max)) = [0.3]>> to
powiedz [Brawo!] przez (2) s
jeżeli <(punkty) = [1]> to
powiedz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punkt na ] i (połącz (max) i [!]))) przez (4) s
w przeciwnym razie
jeżeli <<((punkty) mod (100)) > [9]> i <((punkty) mod (100)) < [20]>> to
powiedz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punktów na ] i (połącz (max) i [!]))) przez (4) s
w przeciwnym razie
jeżeli <<((punkty) mod (10)) > [1]> i <((punkty) mod (10)) < [5]>> to
powiedz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punkty na ] i (połącz (max) i [!]))) przez (4) s
w przeciwnym razie
jeżeli <((punkty) mod (1)) = [0]> to
powiedz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punktów na ] i (połącz (max) i [!]))) przez (4) s
w przeciwnym razie
powiedz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punktu na ] i (połącz (max) i [!]))) przez (4) s
end
end
end
end
powiedz [Dobry wynik!!!] przez (2) s
w przeciwnym razie
powiedz [Niestety!] przez (2) s
jeżeli <(punkty) = [1]> to
powiedz (połącz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punkt na ] i (połącz (max) i [! Aby zaliczyć, musisz uzyskać ich co najmniej ]))) i (połącz ((max) * (0.3)) i [.]))
w przeciwnym razie
jeżeli <<((punkty) mod (100)) > [9]> i <((punkty) mod (100)) < [20]>> to
powiedz (połącz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punktów na ] i (połącz (max) i [! Aby zaliczyć, musisz uzyskać ich co najmniej ]))) i (połącz ((max) * (0.3)) i [.]))
w przeciwnym razie
jeżeli <<((punkty) mod (10)) > [1]> i <((punkty) mod (10)) < [5]>> to
powiedz (połącz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punkty na ] i (połącz (max) i [! Aby zaliczyć, musisz uzyskać ich co najmniej ]))) i (połącz ((max) * (0.3)) i [.]))
w przeciwnym razie
jeżeli <((punkty) mod (1)) = [0]> to
powiedz (połącz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punktów na ] i (połącz (max) i [! Aby zaliczyć, musisz uzyskać ich co najmniej ]))) i (połącz ((max) * (0.3)) i [.]))
w przeciwnym razie
powiedz (połącz (połącz (połącz [Osiągnąłeś/-aś ] i (punkty)) i (połącz [ punktu na ] i (połącz (max) i [! Aby zaliczyć, musisz uzyskać ich co najmniej ]))) i (połącz ((max) * (0.3)) i [.]))
end
end
end
end
end
Last edited by Apocalypse_Gaming (Sept. 22, 2017 22:54:13)
when green flag clicked
forever
if<not<((((current[year v])*(10000))+((current[month v])*(100)))+(current[date v]))<[20171012]>>then
say [No, it's not the apocalypse.]
- iMarkiztoja
- New Scratcher
2 posts
[PORADNIK] Jak zrobić quiz?
A jak się robi, żeby jak jakaś odpowiedź będzie nie poprawna to można spróbować jeszcze raz?
- MentolMen
- Scratcher
1000+ posts
[PORADNIK] Jak zrobić quiz?
Zależy jaki masz skrypt
Jeżeli już wykryjesz że odpowiedź jest błędna to musisz zapętlić proces pytania o odpowiedź takim sposobem
Jeżeli już wykryjesz że odpowiedź jest błędna to musisz zapętlić proces pytania o odpowiedź takim sposobem
powtórz (ile chcesz razy) razyMożna to zrobić w inny sposób ale nie wyjaśnie bo nie wiem o jaki skrypt ci chodzi Udostępnij projekt to ci zrobię
skrypt który będzie zadawał pytanie
end
- grzegi2
- Scratcher
1 post
[PORADNIK] Jak zrobić quiz?
ja bym zrobił to tak
kiedy kliknięto zieloną flagę
ustaw [pytanie] na [1]
ustaw [ dobre odpowiedzi] na [0]
ustaw [ złe odpowiedzi] na [0]
nadaj [pytanie] i czekaj
kiedy otrzymam [pytanie]
jeżeli (pytanie) = [1] to
zapytaj [ile to 1+1] i czekaj
jeżeli <(odpowiedź) = [2]> to
zmień [dobre odpowiedzi] o (1)
powiedz [dobrze] przez (3) s
zmień [pytanie] o (1)
w przeciwnym razie
zmień [złe odpowiedzi] o (1)
powiedz [źle] przez (3) s
nadaj [pytanie]
end
Last edited by grzegi2 (Dec. 3, 2023 12:51:08)