数字猜谜游戏就是在给定的机会内猜出计算机随机选择的数字。
null
要使用的功能:
- 兰德n: 此函数用于生成0到n之间的随机数。此函数始终返回浮点数。因此,它的结果被显式转换为整数值。
- Chomp(): 此函数用于从用户输入中删除换行符。
说明: 在程序中,while循环一直运行,直到用户猜测的次数等于生成的次数,或者尝试次数小于最大机会数。如果尝试次数大于游戏停止的几率,用户将输掉游戏。如果用户在给定的机会数内猜到正确的数字,那么他或她将获胜。用户每次猜测后,程序都会通知用户猜测的数字是否小于或大于实际生成的数字。 在这段代码中,最初, 兰德函数 选择一个随机数作为x。函数(rand k)查找0到k之间的随机数。由于该随机数是一个浮点数,所以 “int” 用于将其显式转换为整数。x存储整数。如果机会超过了用户的猜测,那么用户将有一定的机会猜测该数字。
以下是实施情况:
# Number Guessing Game implementation # using Perl Programming print "Number guessing game" ; # rand function to generate the # random number b/w 0 to 10 # which is converted to integer # and store to the variable "x" $x = int rand 10; # variable to count the correct # number of chances $correct = 0; # number of chances to be given # to the user to guess number # the number or it is the of # inputs given by user into # input box here number of # chances are 4 $chances = 4; $n = 0; print "Guess a number (between 0 and 10): " ; # while loop containing variable n # which is used as counter value # variable chance while ( $n < $chances ) { # Enter a number between 0 to 10 # Extract the number from input # and remove newline character chomp ( $userinput = <STDIN>); # To check whether user provide # any input or not if ( $userinput != "blank" ) { # Compare the user entered number # with the number to be guessed if ( $x == $userinput ) { # if number entered by user # is same as the generated # number by rand function then # break from loop using loop # control statement "last" $correct = 1; last ; } # Check if the user entered # number is smaller than # the generated number elsif ( $x > $userinput ) { print "Your guess was too low," ; print " guess a higher number than ${userinput}" ; } # The user entered number is # greater than the generated # number else { print "Your guess was too high," ; print " guess a lower number than ${userinput}" ; } # Number of chances given # to user increases by one $n ++; } else { $chances --; } } # Check whether the user # guessed the correct number if ( $correct == 1) { print "You Guessed Correct!" ; print " The number was $x" ; } else { print "It was actually ${x}." ; } |
输入:
5 6 8 9
输出:
Number guessing game Guess a number (between 0 and 10): Your guess was too low, guess a higher number than 5 Your guess was too low, guess a higher number than 6 Your guess was too low, guess a higher number than 8 You Guessed Correct! The number was 9
注: 在上面的程序中,用户可以修改 兰德 函数来增加游戏中的数字范围,用户也可以通过增加机会变量的值来增加机会数。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END