#!/usr/bin/perl use strict; use Tk; require Tk::Dialog; my $msg = <<"EOT"; Herzlich Willkommen ! Der Computer wird nun eine Zahl zwischen 1 und 10000 wählen. Danach müssen Sie diese Zahl erraten. Geben Sie dazu die Zahl in die Textbox und klicken Sie auf Submit. EOT my $num; my $counter; my $random = int(rand(10000))+1; my $mw = MainWindow->new(-background => "#000059",-foreground => "#FFFFFF"); $mw->title("Zahlenspiel"); my $text = $mw->Label(                      -text => $msg,                      -background => "#000059",                      -foreground => "#FFFFFF",                      -font => "Helvetica",                     )->pack(); $mw->Entry(-width => 50, -textvariable => \$num)->pack(); $mw->Button(-text => "Zahl prüfen", -command => \&numhandle)->pack(); MainLoop; sub numhandle {    if($num =~ /\D/ or $num < 1 or $num > 10000) {        showinfo("Dies ist keine gültige Zahl.");    } elsif($num < $random) {        $counter++;        showinfo("Deine Zahl ist zu niedrig.");    } elsif($num > $random) {        $counter++;        showinfo("Deine Zahl ist zu hoch.");    } elsif($num == $random) {        $counter++;        my $win = $mw->Dialog(                              -title => "Gewonnen !",                              -text => "Herzlichen Glückwunsch !\nDie gesuchte Zahl war: $random\nVersuche: $counter",                              -buttons => ["Neues Spiel","Spiel verlassen"]                             )->Show();        if($win eq "Spiel verlassen") {            exit(0);        } else {            undef $num; undef $counter;            $random = int(rand(10000))+1;        }    } } sub showinfo {    my $info = shift;    my $box = $mw->Dialog(                          -title => "Fehler!",                          -text => $info,                          -bitmap => "error"                         )->Show(); }