Erinnerungsspiel (funktioniert unter Xorg aber nicht
unter Wayland)
Die Ausführungen der
vorherigen Seiten über Programmfenster werden hier weitergeführt. Bei diesem Spiel geht es um ein Gedächtnistraining. Zunächst werden auf dem Bildschirm an zufälligen Positionen drei zufällige Zahlen gezeigt |
Danach erscheint ein Eingabefenster in das man die gezeigten Zahlen eintipppen kann |
Nach Klicken auf OK erscheint eine Übersicht über die gezeigten Zahlen und die aus der Erinnerung eingegebenen Zahlen |
Nun kann man entscheiden ob man eine zufällige neue Aufgabe haben will oder das Spiel beenden will. Die Farben der yad-Fenster mit den Zahlen wechseln zufällig in 7 verschiedenen Farben, z.B. |
Nach dem Aufruf des script kann man festlegen wieviele Stellen die angezeigten Zahlen haben sollen . Möglich sind 2-stellige, 3-stellige und 4-stellige Zahlen. Es sind 3-stellige Zahlen voreingestellt |
Nach dem Drücken der Schaltfläche Spiel beginnen erscheint die erste Aufgabe. Das script wird wieder in dem Ordner ~/Bla abgelegt: |
nano ~/Bla/ERINNERUNGzahlen.sh |
Eingabe in den Editor |
#!/bin/bash sS=$(zenity --scale --text "Es werden 3 Zahlen eingeblendet. \n \n Diese soll man sich merken \n \n und anschließend in eine \n \n Eingabebox eintippen. \n \n \n Stellenzahl festlegen:" --value=3 --min-value=2 --max-value=4 --step=1 --title "Erinnerungs-Spiel" --ok-label "Spiel beginnen" --cancel-label "ABBRECHEN") sF=$? if (( sF == 1 )); then exit; fi aA=9 while (( $aA == 9 )) do Peb=$(echo $(($RANDOM % 7 -3)) ) Peh=$(echo $(($RANDOM % 7 -3)) ) Pib=$(echo $(($RANDOM % 7 -3)) ) Pih=$(echo $(($RANDOM % 7 -3)) ) Pub=$(echo $(($RANDOM % 7 -3)) ) Puh=$(echo $(($RANDOM % 7 -3)) ) Za=$(echo $(($RANDOM % 8999 +1000)) | sed -r "s/(.{$sS}).*/\1/") Zb=$(echo $(($RANDOM % 8999 +1000)) | sed -r "s/(.{$sS}).*/\1/") Zc=$(echo $(($RANDOM % 8999 +1000)) | sed -r "s/(.{$sS}).*/\1/") Fy=$(echo $(($RANDOM % 7 + 1)) ) if (( $Fy == 1 )); then Fh='#D3EF61'; fi if (( $Fy == 2 )); then Fh='#81F599'; fi if (( $Fy == 3 )); then Fh='#79EEFE'; fi if (( $Fy == 4 )); then Fh='#C179FE'; fi if (( $Fy == 5 )); then Fh='#FE79D9'; fi if (( $Fy == 6 )); then Fh='#B4FE79'; fi if (( $Fy == 7 )); then Fh='#F7F273'; fi GTK_THEME=Adwaita-dark yad --title "fan" --geometry=500x68+$(( 380+80*Peb ))+$(( 280+50*Peh )) --justify=center --undecorated --no-buttons --borders=4 --text-info --back=$Fh --fore=black --fontname=" Monospace bold 40" <<<$(echo $Za) & sleep 1s ; wmctrl -F -c 'fan'; GTK_THEME=Adwaita-dark yad --title "oon" --geometry=500x68+$(( 380+80*Pib ))+$(( 280+50*Pih )) --justify=center --undecorated --no-buttons --borders=4 --text-info --back=$Fh --fore=black --fontname=" Monospace bold 40" <<<$(echo $Zb) & sleep 1s ; wmctrl -F -c 'oon'; GTK_THEME=Adwaita-dark yad --title "aun" --geometry=500x68+$(( 380+80*Pub ))+$(( 280+50*Puh )) --justify=center --undecorated --no-buttons --borders=4 --text-info --back=$Fh --fore=black --fontname=" Monospace bold 40" <<<$(echo $Zc) & sleep 1s ; wmctrl -F -c 'aun' Ee=$(yad --geometry=600x200+200+250 --title="Zahlen aus der Erinnerung eingeben" --form --field="1.Zahl" --field="2.Zahl" --field="3.Zahl") Ef=$? if ! (( Ef == 0 )); then exit; fi yad --title="sch" --geometry=600x200+200+250 --justify=center --undecorated --button="Spiel beenden":5 --button="Neue Aufgabe":9 --buttons-layout=spread --borders=0 --text-info --back=$Fh --fore=black --fontname=" Monospace bold 26" <<<$(echo -e "\nAufgabe $Za $Zb $Zc \nEingabe $( echo $Ee | sed 's/|/ /g')") aA=$(echo $?) done |
Nun muß man das script ausführbar machen. |
chmod +x ~/Bla/ERINNERUNGzahlen.sh |