Zmiany

Skocz do: nawigacji, wyszukiwania

Sumowanie

Dodane 3765 bajtów, 11:10, 7 lis 2014
[[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]
Link do gry: [http://scratch.mit.edu/projects/25439415/ Sumowanie]
== Cel ==
Stworzenie gry polegającej na obliczaniu przez gracza sumy liczb proponowanych przez duszka
'''Edukacja plastyczna'''
* # wypowiada się w wybranych technikach plastycznych na płaszczyźnie i w przestrzeni; posługuje się takimi środkami wyrazu plastycznego, jak: kształt, barwa, faktura;
'''Edukacja matematyczna'''
# w zakresie liczenia i sprawności rachunkowych:#* sprawnie liczy obiekty (dostrzega regularności dziesiątkowego systemu liczenia) zakres do 20.#* wyznacza sumy (dodaje) i różnice (odejmuje), manipulując obiektami lub rachując na zbiorach zastępczych, np.... czekam na punktypalcach; sprawnie dodaje i odejmuje w zakresie do 10, poprawnie zapisuje te działania,
'''Zajęcia komputerowe'''
=== 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:Sum5.png]]
Następnie zaprogramujemy wybieranie przez duszka liczb w narzuconym zakresie. W tym celu musimy najpierw wprowadzić zmienne[[Plik: '''PierwszaLiczba''' i '''DrugaLiczba''', które będą przechowywały wylosowane liczby. Zmienne te mogą być widziane tylko przez tego duszka, więc odhaczamy zaznaczenia przy nazwach po ich utworzeniu.Zmienną wprowadzamy w kategorii klocków '''dane''' poprzez wybranie opcji ''stwórz nową zmienną''. Musimy zaznaczyć odpowiednią opcję przypisania zmiennej o zatwierdzić przyciskiem OKSum5c. png]]
[[PlikWidok na scenie:mm1c.png]]
Każdą zmienną wprowadzamy oddzielnie[[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 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 klocka klocków z kategorii '''wyrażenia''': [[Plik:Sum2c.png]]i [[Plik:Sum2c1.png]] umożliwiających programowanie działań matematycznych oraz klocka '''kontroli''' [[Plik:Sum4c.png|badanie możliwych odpowiedzi]]- pozwalającego zbadać dwa przypadki odpowiedzi.W Użycie ich w skrypcie, w przypadku naszego dodawania duszka, będzie on wyglądałnastępujące:
[[Plik:Sum3.png|porównywanie wyników]]
i dołączamy do niego Dołączamy reakcję duszka na możliwe odpowiedzi. Jeśli odpowiedź jest poprawna to np.: duszek powie '''super!''', w przypadku błędnej np.: zaproponuje przejście do kolejnego działania, może również zakomunikować błąd jakimś dźwiękiem:
[[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:
[[Plik:Sum4a.png|==== odgraniczenie ilości pytań w tekście pojawia się wyrażenie z poprawnym wynikiem]]grze ====
Wkładając Jeżeli przyjmiemy, że w grze będzie ograniczona ilość pytań, np.: 10, to wszystkie omówione omawiane skrypty powinniśmy umieścić w pętlę bloku [[Plik:Ok9cSum4e.png|zapętla grępowtarzanie skryptów]] powstanie nam nie kończąca się gra, sprawdzająca umiejętność dodawania liczb z zakresu podanego w skrypcie duszka (w przypadku tego scenariusza jest to zakres od 1 do 20). Cały skrypt duszka wygląda Skrypt będzie wyglądał następująco: [[Plik:Mm11p.png|1000px|]]
== Co dalej? ==[[Plik:Sum5a.png]]
Podstawową grę można zmodyfikować poprzez:==== naliczanie punktów ====* animację postaci duszka* dodanie zmiennej umożliwiającej graczowi określanie zakresu trudności Do gry możemy wprowadzić licznik punktowania poprawnych odpowiedzi. W tym celu musimy utworzyć nową zmienną '''punkty''' - czyli kolejną szufladę, z której duszek będzie wyjmował punkty za poprawną odpowiedź. Postępujemy analogicznie jak w przypadku tworzenia zmiennych '''Liczba a''' i '''Liczba b'''. Z tą różnicą, że zmienną punkty zostawiamy widoczną na scenie (czyli zwiększanie lub zmniejszanie zakresu liczb do wyborunie odhaczamy zaznaczenia przy nowo powstałej zmiennej).
[[Plik:Okn1b.png]]
Żeby punkty przy każdorazowym uruchomieniu gry naliczały się od początku - po uruchomieniu gry muszą się zerować, blok
[[Plik:Sum6.png|zeruje licznik punktów]]. Aby po każdorazowej poprawnej odpowiedzi naliczały się - muszą zwiększać się o 1, blok
[[Plik:Sum6a.png|zwiększa licznik punktów o 1]]. Wykorzystując te klocki można dokonać następującej modyfikacji:
==== Do wyrzucenia ====[[Plik:Sum5b.png|naliczanie punktów w grze]]Teraz zrobimy żeby można było z trakcie Po skończonej rundzie dziesięciu pytań nasz duszek - bohater może poinformować o końcu gry zwiększać trudnośćoraz ilości zdobytych punktów.Zaczniemy od stworzenia zmiennejNastępnie zakończyć działanie gry. Kolejny raz pomocny będzie blok [[Plik:Sum2a.png]] umożliwiający połączenie wyświetlanego tekstu ze zmienną '''punkty''':
[[Plik:mm1dSum6b.png|wyświetla tekst i zapamiętaną wartość zmiennej]] Cały skrypt duszka wygląda następująco: [[Plik:Sum6c.png|cały skrypt duszka]] [[Plik:Sum6d.png|right|przykładowy urywek skryptu na scenie]]
Teraz możemy ustawić przedział.== Co dalej? ==
[[PlikPodstawową grę można zmodyfikować poprzez:mm1e.png]][[Plik:mm1f* 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ń.png]]
[[Plik:Mm1pGrę sumowanie można zmienić na grę mnożenie dokonując niewielkiej modyfikacji skryptów.png]]
To jest cały kod kota.[[Plikhttp:mm1//scratch.mit.png]]edu/projects/25978003/#editor