Lernspiel negative
Zahlen (funktioniert unter Xorg aber nicht
unter Wayland)
Die Ausführungen der
vorherigen Seiten über Programmfenster werden hier weitergeführt. Positive Zahlen sind als Anzahl von Objekten leicht zugänglich. Aber die Frage welche Zahl muß man dazuaddieren um von 9 ausgehend als Ergebnis 3 zu bekommen, läßt sich mit positiven Zahlen nicht lösen. Dies ist erst mit negativen Zahlen möglich. Noch im Europa des 16. Jahrhunderts wurden negativen Zahlen als etwas völlig Falsches oder als Teufelswerk angesehen. Hier wird ein Lernspiel zu negativen Zahlen aufgeschrieben. Dazu werden zufällige ganzen Zahlen erzeugt und eine Aufgabenstellung angezeigt. |
Nach einigen Sekunden erscheint die Lösung einer Aufgabe dieses Typs |
Nun kann man entscheiden ob man eine zufällige neue Aufgabe des
gleichen Typs haben will
oder das Spiel beenden will. Bei dem Lösungsfenster wechseln die animierten GIF in zufälliger Reihenfolge in 6 verschiedenen Farbstellungen. Nach dem Aufruf des script kann man festlegen nach wieviel Sekunden die Lösung erscheint. Möglich sind 1 Sekunde bis 5 Sekunden. Es sind 2 Sekunden voreingestellt. Es gibt wahlweise einstellige oder zweistellige Zahlen bei den Aufgaben |
Das script wird wieder in dem Ordner ~/Bla abgelegt: |
nano ~/Bla/negativeZAHLEN.sh |
Eingabe in den Editor |
#!/bin/bash zR=$(yad --scale --geometry=600x90+200+200 --title="Einstellen der Sekunden bis Ergebnis gezeigt wird" --value=2 --min-value=1 --step=1 --max-value=5 --buttons-layout=spread --button=ABBRECHEN:8 --button="einstellige Zahlen":6 --button="zweistellige Zahlen":4) aW=$? if (( aW > 7 )) ; then exit; fi aA=9 while (( $aA == 9 )) do if (( $aW == 6 )) ; then nZa=$(echo " "$(($RANDOM % 8 + 2))) else nZa=$(echo $(($RANDOM % 90 + 10))) fi nZb=$(echo $(($RANDOM % $(( nZa -1 )) + 1))) nZc=$(( nZb - nZa )) nF=$(echo $(($RANDOM % 6 ))) yad --title "kri" --geometry=600x70+200+200 --undecorated --justify=left --no-buttons --borders=0 --text-info --back='#D6FF67' --fore=black --fontname=" Monospace bold 40" <<<$(echo " $nZa + ( ) = $nZb") & sleep 0.1s; yad --title "rea" --picture --geometry=120x70+440+200 --on-top --no-buttons --undecorated --borders=0 --filename=/home/$USER/Bla/dea61-01.gif & sleep $zR\s ; wmctrl -F -c kri; sleep 0.1s; wmctrl -F -c rea yad --title "fri" --geometry=600x70+200+200 --undecorated --justify=left --no-buttons --borders=0 --text-info --back='#D6FF67' --fore=black --fontname=" Monospace bold 40" <<<$(echo " $nZa + ( $nZc ) = $nZb") & sleep 0.1s; yad --title "uny" --picture --geometry=600x100+200+100 --no-buttons --undecorated --borders=0 --filename=/home/$USER/Bla/dea61-4$nF.gif & sleep 0.1s; aT=$(GTK_THEME=Adwaita-dark yad --title "nen" --geometry=600x160+200+270 --on-top --no-buttons --undecorated --columns="1" --form --field='!/home/'"$USER"'/Bla/dea61-07.png!BEENDEN:BTN' ' bash -c "echo 5 ; wmctrl -F -c nen; wmctrl -F -c uny; wmctrl -F -c fri" ' --field='!/home/'"$Uu"'/Bla/dea61-08.png!Aufgabe:BTN' ' bash -c "echo 9 ; wmctrl -F -c nen; wmctrl -F -c uny; wmctrl -F -c fri" ') aX=$(echo $aT) aA=$(echo $aT) done |
Nun muß man das script ausführbar machen. |
chmod +x ~/Bla/negativeZAHLEN.sh |
Die yad-Fenster verwenden die unten gezeigten Bild-Dateien die Sie auf Ihren Computer kopieren müssen. Diese Bild-Dateien müssen in dem Ordner liegen auf den das script verweist. Hier ist es der Ordner ~/Bla. Ansonsten müssen Sie die Pfade anpassen. |
Sollte ein Info-Bild wie unten angezeigt werden so bedeuted dies daß die CPU zuviel zu tun hat. Man kann auf das Info-Fenster klicken und das Yad-Fenster sichtbar machen. Sollte dies öfters vorkommen so kann man die sleep-Zeiten im script vergrößern damit die CPU etwas durchschnaufen kann. |