Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Use radio noise to make (non-critical) decisions...

by jdporter (Canon)
on Jan 08, 2003 at 15:46 UTC ( #225277=note: print w/replies, xml ) Need Help??


in reply to Use radio noise to make (non-critical) decisions...

That inspired me to try something similiar.....
# Magic 8 Ball program. use LWP::Simple; my @answers = <DATA>; chomp @answers; my $i = get( "http://www.random.org/cgi-bin/randnum?num=1&min=0&max=$# +answers&col=1" ); defined $i or die "Unable to decide!\n"; print "$answers[$i]\n"; # answers horked from http://www.fiendation.com/people/chris/eight.htm __DATA__ Outlook Good Outlook Not So Good My Reply Is No Don't Count On It You May Rely On It Ask Again Later Most Likely Cannot Predict Now Yes Yes, Definitely Better Not Tell You Now It Is Certain Very Doubtful It Is Decidedly So Concentrate and Ask Again Signs Point to Yes My Sources Say No Without a Doubt Reply Hazy, Try Again As I See It, Yes

jdporter
The 6th Rule of Perl Club is -- There is no Rule #6.

Replies are listed 'Best First'.
Re: Re: Use radio noise to make (non-critical) decisions...
by dbush (Deacon) on Jan 08, 2003 at 20:02 UTC

    Very neat indeed. In the spirit of TIMTOWTDI...

    #!/usr/bin/perl -w use strict; use warnings; use Tk; use LWP::Simple; #Read the predictions my @answers = <DATA>; chomp @answers; my $szURL = "http://www.random.org/cgi-bin/randnum?num=1&min=0&max=$#a +nswers&co+l=1"; #Initialise state my $szState = 'Starting...'; #Create main window with a canas and bind the mouse event my $main = new MainWindow; my $canvas = $main->Canvas( -height=>300, -width=>300); $canvas->pack( -expand, -fill ); $main->bind('<Button1-ButtonRelease>', \&Display); #Create the fonts my $fontLarge = $canvas->fontCreate( -family=>'arial', -size=>100, -weight=>'bold' ); my $fontSmall = $canvas->fontCreate( -family=>'arial', -size=>10, -weight=>'bold' ); #First time in do the display Display(); MainLoop; sub Display { my ($myFont, $szText, $iPrediction); #Depending on the state do the "right thing" tm. if ($szState eq 'Starting...' or $szState eq 'Prediction') { $szState = 'Displaying 8'; $myFont = $fontLarge; $szText = '8'; } else { $szState = 'Prediction'; $myFont = $fontSmall; $iPrediction = get( $szURL); $szText = $iPrediction ? $answers[$iPrediction] : 'Error!'; } #Over write anything $canvas->createOval( 10, 10, 290, 290, -fill=>'black', -outline =>'black' ); $canvas->createOval( 70, 70, 230, 230, -fill=>'white', -outline =>'white' ); #Put up the message $canvas->createText( 150, 150, -justify=>'center', -text=>$szText, -font=>$myFont, -width=>80 ); } __DATA__ Outlook Good Outlook Not So Good My Reply Is No Don't Count On It You May Rely On It Ask Again Later Most Likely Cannot Predict Now Yes Yes, Definitely Better Not Tell You Now It Is Certain Very Doubtful It Is Decidedly So Concentrate and Ask Again Signs Point to Yes My Sources Say No Without a Doubt Reply Hazy, Try Again As I See It, Yes

    Cheers,
    Dom.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://225277]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2020-03-29 22:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    To "Disagree to disagree" means to:









    Results (171 votes). Check out past polls.

    Notices?