Zmiany
[[Category:Scenariusze Scratch]] [[Category:Mistrzowie Kodowania]]'''Materiały stworzone przez Fundację Coder Dojo Polska w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska, objęte licencją CC BY 3.0 PL "Creative Commons Uznanie Autorstwa 3.0 Polska".'''
Link do gry: [http://scratch.mit.edu/projects/26090741/ Sumowanie]
== Cel ==
Stworzenie gry polegającej na obliczaniu przez gracza sumy liczb proponowanych przez duszka
=== wprowadzenie ===
<small>Czas na realizację tej części: ok 15 min</small>
Proponujemy uczniom stworzenie gry według scenariusza:
# duszek - bohater prosi gracza o obliczenie sumy podanych przez niego losowo wybranych liczb,# następnie poczeka na wpisane przez gracza odpowiedzi, sprawdzi ją i poinformuje nas o poprawnej lub błędnej odpowiedzitym, czy odpowiedź jest dobra,czy też gracz popełnił błąd.# w przypadku poprawnej odpowiedzi naliczy graczowi punkt, w przypadku błędnej odpowiedzi punktu nie ma.
# duszek - bohater zada np.: 10 pytań i na koniec zabawy poinformuje nas o ilości zdobytych punktów za poprawne odpowiedzi.
=== tworzenie duszka ===
<small>Czas na realizację tej części: ok 10 min</small>
Nasza gra posiadała tylko jednego duszka. Możemy umieścić go w ciekawej scenerii.
Sposoby tworzenia nowego duszka i sceny są dokładnie opisane w scenariuszu '''Cykl życia motyla'''.
=== instrukcje dla duszka ===
<small>Czas na realizację tej części: ok 65 min</small>
Zaczniemy od stworzenia skryptu, w którym duszek będzie nas witał i zaprosi zaproszał do gry.
[[Plik:Sum5Sum5c.png]]
[[Plik:Sum5d.png|300px|]] ==== wprowadzenie zmiennych ==== W pierwszej kolejności zaprogramujemy wybieranie przez duszka liczb w określonym zakresie. W tym celu musimy najpierw wprowadzić zmienne: '''Liczba a''' i '''Liczba b''', które będą przechowywały wylosowane liczby. Zmienne możemy wytłumaczyć uczniom na zasadzie komody z szufladami. Zmienna '''Liczba a''' - to pierwsza z szuflad, '''Liczba b''' - to druga szuflada. Do każdej szuflady wrzucamy kartoniki z liczbami w ustalonym zakresie np. od 1 do 10. Duszek będzie losował po jednej liczbie z każdej szuflady. Wysuwa szufladę pierwszą '''Liczba a''' i wyciąga kartonik z liczbą, to samo powtarza w przypadku szuflady nazwanej '''Liczba b'''. Po wykonaniu tych czynności duszek prosi nas o podanie sumy wylosowanych na kartonikach liczb. Zmienną wprowadzamy w kategorii klocków '''dane''' poprzez wybranie opcji ''stwórz nową zmienną''. Musimy zaznaczyć odpowiednią opcję przypisania zmiennej o i zatwierdzić przyciskiem OK.
[[Plik:okn1a.png]]
Teraz ustawiamy zakresy losowania naszych zmiennych. Wykorzystamy do tego blok [[Plik:Los1.png|losuje w danym zakresie]].Jeśli suma dwóch liczb ma mieścić się w zakresie 20, to każda z tych liczb musi być wybrana z przedziału od 1 do 10, zatem:
[[Plik:Sum2.png|dopisanie zmiennym ich zakresów losowania]]
==== pytanie i badanie odpowiedzi ==== Następnie tworzymy skrypty odpowiadające za zadawanie pytań pytania i sprawdzanie odpowiedzi. Musimy połączyć w nich wyświetlany tekst, losowane przez program liczby i wyrażenie matematyczne: arytmetyczne- ''dodawanie''. Użyjemy nowego klocka z kategorii wyrażenia:
[[Plik:Sum2a.png|pozwala tworzyć wyrażenie z użyciem zmiennych]]. Dzięki niemu program będzie mógł w wyświetlanym tekście wstawiać losowo wybrane przez siebie liczby:
[[Plik:Sum2b.png|zadaje pytanie i czeka na odpowiedź]]
Teraz zajmijmy się sprawdzaniem odpowiedzi podanej przez gracza. Program musi obliczyć wyrażenie matematyczne i porównać jego wynik z odpowiedzią wpisaną przez gracza. Następnie stwierdzić czy on jest poprawny czy błędny. Do porównania obliczeń programu i gracza użyjemy klocków z kategorii '''wyrażenia''': [[Plik:Sum2c.png]] i [[Plik:Sum2c1.png]] umożliwiających programowanie działań matematycznychoraz klocka '''kontroli''' [[Plik:Sum4c.png|badanie możliwych odpowiedzi]]- pozwalającego zbadać dwa przypadki odpowiedzi. Użycie ich w skrypcie, w przypadku naszego duszka, będzie następujące:
[[Plik:Sum3.png|porównywanie wyników]]
[[Plik:Sum4.png|odpowiedzi pojawiające się po sprawdzeniu wyniku działania]]
'''Wskazówka:''' W powyśzych powyższych odpowiedziach możemy zaprezentować graczowi jeszcze raz postać działania wraz z poprawnym wynikiemcałość rozwiązania np.: '''Super! 8+4=12'''. Wiąże się to jednak z wielokrotnym łączenie klocka łączeniem klocków [[Plik:Sum2a.png]]. Skrypt odpowiedzi z zastosowaniem powyższej możliwości wygląda następująco:
Cały skrypt duszka wygląda następująco:
[[Plik:Mm11pSum6c.png|1100pxcały skrypt duszka]] [[Plik:Sum6d.png|right|przykładowy urywek skryptu na scenie]]
== Co dalej? ==
* animację postaci duszka,
* dodanie zmiennej umożliwiającej graczowi określanie zakresu trudności gry (czyli zwiększania lub zmniejszania zakresu liczb do wyboru)
* dodanie zmiennej umożliwiającej graczowi wybór ilości pytań w grze,
* wyświetlanie w odpowiedziach duszka całego działania z poprawnym wynikiem,
* zmianę gry na wersję nieskończonej ilości pytań.
Grę sumowanie można zmienić na grę mnożenie dokonując niewielkiej modyfikacji skryptów.
http://scratch.mit.edu/projects/25978003/#editor