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 tym, czy odpowiedź jest dobra, czy też gracz popełnił błąd.# w przypadku poprawnej lub błędnej odpowiedzinaliczy 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.
Ustalamy co jest nam potrzebne:
# skrypty dla duszka pozwalające mu:
#* wybierać liczby z wskazanego przez nas przedziału liczbowego,
#* sprawdzać podane przez nas wyniki,#* pozwalający naliczać punkty za poprawne odpowiedzi,#* informujący o końcu gry i jej wyniku.
=== 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:mm1cSum5d.png|300px|]]
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 i zatwierdzić przyciskiem OK. [[Plik:okn1a.png]] '''Uwaga!:''' Każdą zmienną wprowadzamy oddzielnie. Zmienne te mogą być widziane tylko przez tego duszka, więc odhaczamy zaznaczenia przy nazwach po ich utworzeniu. 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