Merge pull request #267 from NezumiRonin/patch-21

Create guess.pl
This commit is contained in:
Jeff Atwood
2021-04-06 10:05:53 -07:00
committed by GitHub

52
41 Guess/perl/guess.pl Normal file
View File

@@ -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 = <STDIN>);
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 = <STDIN>);
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;
}