Discuss Scratch

Helpur
New Scratcher
5 posts

Zadanie losowanie liczb

Otwórz program Scratch i zbuduj skrypt, w którym:
a) duszek kot prosi gracza o podanie dowolnej liczby z przedziału od 1 do 10 i zostają
nadane odpowiednie komunikaty;
b) następnie, po odebraniu komunikatu, losowana jest dowolna liczba z tego przedziału
i zostaje nadany kolejny komunikat – po jego otrzymaniu skrypt sprawdza, czy liczba
podana przez gracza jest równa liczbie wylosowanej; jeśli tak, dostaje on punkt, jeśli
nie – traci punkt;
c) gra kończy się, kiedy gracz zdobędzie 5 punktów (wtedy wygrywa) lub –3 (wtedy
przegrywa); duszek powinien wówczas poinformować gracza o wygranej lub
przegranej;
d) pracę zapisz jako zgaduj_zgadula_jan_kowalski_8a (to jest przykład, podaj własne
dane)

Proszę o pomoc
MentolMen
Scratcher
1000+ posts

Zadanie losowanie liczb

a co już masz?
Helpur
New Scratcher
5 posts

Zadanie losowanie liczb

MentolMen wrote:

a co już masz?
Nic
Helpur
New Scratcher
5 posts

Zadanie losowanie liczb

http://imagizer.imageshack.com/img924/3820/0EjO7g.png

Mam coś takiego ale nie działa jak należy
paczekwmasle
Scratcher
500+ posts

Zadanie losowanie liczb

Helpur wrote:

http://imagizer.imageshack.com/img924/3820/0EjO7g.png

Mam coś takiego ale nie działa jak należy
A możesz udostępnić projekt w scrachu i podać link? Tak będzie nam dużo łatwiej pomóc
Helpur
New Scratcher
5 posts

Zadanie losowanie liczb

paczekwmasle
Scratcher
500+ posts

Zadanie losowanie liczb

Popraw następujące rzeczy:
  • na początku ustaw punkty na zero
  • zmień w skrypcie, gdzie kot mówi wygrana blok punkty<5 na punkty>5
  • Skrypt, w którym kot pyta o odpowiedź wsadź do pętli (spróbuj sam wymyśleć jaka to powinna być pętla
jak już to zrobisz to napisz, czy działa
AANNTTOONNII
Scratcher
1000+ posts

Zadanie losowanie liczb

Helpur wrote:

https://scratch.mit.edu/projects/386988345/

Proszę
Uh.. Brzydki ten skrypt… Właściwie to mógłbyć w ogóle ominąć implementację wygranej. Gdyby trzeba było zebrać 5 punktów pod rząd to szansa wynosiłaby 1 do 100000. Teraz jest nieznacznie większa, ale dokładnie ci nie policzę…

Błędów jest tak dużo, że ciężko byłoby je wymienić. Zrobiłem dla ciebie działający projekt (jeżeli dobrze zrozumiałem treść) Mimo wszystko postarałem się napisać tutaj co źle zrobiłeś:
  • Skrypty sprawdzające, czy gracz już wygrał ( albo przegrał ) powinny być w tej samej pętli co zadawanie pytania
  • Zadawanie pytania nie jest w pętli więc wykonuje się tylko raz
  • Ponieważ modyfikujesz zmienne z, których korzystaja późniejszy kod w innych skryptach powinieneś czekać aż zostaną zmodyfikowane. Zamiast bloku
    nadaj [komunikat v]
    powinieneś użyć
    nadaj [komunikat v] i czekaj
  • ogólnie wiele skryptów, które nie są w pętli musi być w pętli ( wystarczy do tego jeden skrypt )
  • powinieneś zerować zmienne bez warunków ( wywal te if-y)
  • masz złe warunki wygranej i przegranej, zamiast
    <<(punkty) = [5]> lub <(punkty) < [5]>>
    użyj po prostu
    <(punkty) = [5]>


Last edited by AANNTTOONNII (April 20, 2020 11:08:18)

Helpur
New Scratcher
5 posts

Zadanie losowanie liczb

AANNTTOONNII wrote:

Helpur wrote:

https://scratch.mit.edu/projects/386988345/

Proszę
Uh.. Brzydki ten skrypt… Właściwie to mógłbyć w ogóle ominąć implementację wygranej. Gdyby trzeba było zebrać 5 punktów pod rząd to szansa wynosiłaby 1 do 100000. Teraz jest nieznacznie większa, ale dokładnie ci nie policzę…

Błędów jest tak dużo, że ciężko byłoby je wymienić. Zrobiłem dla ciebie działający projekt (jeżeli dobrze zrozumiałem treść) Mimo wszystko postarałem się napisać tutaj co źle zrobiłeś:
  • Skrypty sprawdzające, czy gracz już wygrał ( albo przegrał ) powinny być w tej samej pętli co zadawanie pytania
  • Zadawanie pytania nie jest w pętli więc wykonuje się tylko raz
  • Ponieważ modyfikujesz zmienne z, których korzystaja późniejszy kod w innych skryptach powinieneś czekać aż zostaną zmodyfikowane. Zamiast bloku
    nadaj [komunikat v]
    powinieneś użyć
    nadaj [komunikat v] i czekaj
  • ogólnie wiele skryptów, które nie są w pętli musi być w pętli ( wystarczy do tego jeden skrypt )
  • powinieneś zerować zmienne bez warunków ( wywal te if-y)
  • masz złe warunki wygranej i przegranej, zamiast
    <<(punkty) = [5]> lub <(punkty) < [5]>>
    użyj po prostu
    <(punkty) = [5]>


O to właśnie chodziło, DZIEKUJĘ !

Powered by DjangoBB