From eefd487fd882f29a4fefed324050485de6d18b23 Mon Sep 17 00:00:00 2001 From: Nezumi Ronin Date: Tue, 6 Apr 2021 02:58:37 -0500 Subject: [PATCH] Create guess.pl Made with Perl! --- 41 Guess/perl/guess.pl | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 41 Guess/perl/guess.pl diff --git a/41 Guess/perl/guess.pl b/41 Guess/perl/guess.pl new file mode 100644 index 00000000..f16a3e84 --- /dev/null +++ b/41 Guess/perl/guess.pl @@ -0,0 +1,52 @@ +#!/usr/bin/perl +use strict; + +my $L1; +while (1) { + print ' 'x 33 . "GUESS\n"; + print ' 'x 15 . "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n"; + print "\n"; print "\n"; print "\n"; + print "THIS IS A NUMBER GUESSING GAME. I'LL THINK\n"; + print "OF A NUMBER BETWEEN 1 AND ANY LIMIT YOU WANT.\n"; + print "THEN YOU HAVE TO GUESS WHAT IT IS.\n"; + print "\n"; + print "WHAT LIMIT DO YOU WANT"; + print "? "; chomp(my $L = ); + print "\n"; + $L1= int(log($L)/log(2))+1; + + while (1) { + print "I'M THINKING OF A NUMBER BETWEEN 1 AND $L\n"; + my $G=0; + print "NOW YOU TRY TO GUESS WHAT IT IS.\n"; + my $M=int($L*rand(1)+1); + my $N=0; + while (1) { + while (1) { + print "? "; chomp($N = ); + if ($N>0) { last; } + } + $G=$G+1; + if ($N==$M) { last; } + if ($N>$M) { print "TOO HIGH. TRY A SMALLER ANSWER.\n"; } + else { print "TOO LOW. TRY A BIGGER ANSWER.\n"; } + } + print "THAT'S IT! YOU GOT IT IN $G TRIES.\n"; + if ($G<$L1) { print "VERY "; } + if ($G<=$L1) { print "GOOD.\n"; } + if ($G>$L1) { print "YOU SHOULD HAVE BEEN ABLE TO GET IT IN ONLY $L1\n"; } + &ENTERS(); + } + } + +exit; + + +sub ENTERS { #GOSUB 70 + for (my $H=1; $H<=5; $H++) { + print "\n"; + } + return; + } + +