Guess the number/With feedback (player): Difference between revisions
Guess the number/With feedback (player) (view source)
Revision as of 12:33, 10 January 2022
, 2 years ago→{{header|R}}: Improved syntax.
ReeceGoding (talk | contribs) m (→{{header|R}}: Syntax highlighting.) |
ReeceGoding (talk | contribs) (→{{header|R}}: Improved syntax.) |
||
Line 2,669:
=={{header|R}}==
Can be fooled if you lie to it. For example, always reporting "h" for guessANumberPlayer(1, 5) will have it guess 0.
<lang rsplus>guessANumberPlayer <- function(low, high)
{
boundryErrorCheck(low, high)
repeat
{
guess <- floor(mean(c(low, high)))
#Invalid inputs to this switch will simply cause the repeat loop to run again, breaking nothing.
switch(guessResult(guess),
l = low <- guess + 1,
h = high <- guess - 1,
c = return(paste0("Your number is ", guess, ".", " I win!")))
}
}
#Copied from my solution at https://rosettacode.org/wiki/Guess_the_number/With_feedback#R
boundryErrorCheck <- function(low, high)
{
if(!is.numeric(low) || as.integer(low) != low)
if(!is.numeric(high) || as.integer(high) != high)
if(high < low)
if(low == high)
invisible()
}
guessResult <- function(guess) readline(paste0("My guess is ", guess, ". If it is too low, submit l. If it is too high, h. Otherwise, c. "))</lang>▼
▲ readline(paste0("My guess is ",guess,". If it is too low, submit l. If it is too high, h. Otherwise, c. "))
=={{header|Racket}}==
|