2017-07-15 91 views
-1

錯誤:,石頭,剪刀紅寶石

syntax error, unexpected tIDENTIFIER, expecting end-of-input end whlie continue == "N"

我檢查了所有的代碼,但我還是不明白這一點。

我應該在while continue == "N"之後加上結束碼嗎?

begin 
     puts "|===============================================|" 
     puts "|Welcome to Rock Paper Scissors!!!    |" 
     puts "|===============================================|" 

     begin 
     puts "please choose one of the following: R/P/S" 
     user_input = gets.chomp.upcase 
     end while !["R", "P", "S"].include?(user_input) 


     com_input = ["R", "P", "S"].sample 

     puts "You:#{user_input} Com:#{com_input}" 

     if user_input = "R" && com_input = "S" || user_input = "S" && com_input = "P" || user_input = "P" && com_input = "R" 
     puts "Result:You win" 
     elsif com_input = "R" && user_input = "S" || com_input = "S" && user_input = "P" || com_input = "P" && user_input = "R" 
     puts "Result:You lose" 
     else 
     puts "Result:Draw" 
     end 

     begin 
     puts "Play Again?: Y/N" 
     continue = gets.chomp.upcase 
     end while !["Y", "N"].include?(continue) 

    end whlie continue == "N" 
    puts "Good Bye! Thanks for playing!" 

回答

0

變化whlie對於while

另外,while正在檢查N繼續,我想它必須是Y

begin 
    ... 
end while continue == 'Y' 

puts "Good Bye! Thanks for playing!" 

如果你願意,你可以減少一點的usercom輸入驗證,並申請有點乾的:

begin 
    puts "|===============================================|" 
    puts "|Welcome to Rock Paper Scissors!!!    |" 
    puts "|===============================================|" 

    choices = ['R', 'P', 'S'] 

    begin 
    puts 'please choose one of the following: R/P/S' 
    user_input = gets.chomp.upcase 
    end while !choices.include?(user_input) 

    com_input = choices.sample 

    puts "You: #{user_input} Com: #{com_input}" 

    regex = /rs|sp|pr/i 
    choice = "#{user_input}#{com_input}" 

    if choice =~ regex 
    puts 'Result:You win' 
    elsif choice.reverse =~ regex 
    puts 'Result:You lose' 
    else 
    puts 'Result:Draw' 
    end 

    puts 'Play Again?: Y/N' 
    continue = gets.chomp.upcase 

end while continue == 'Y' 

puts 'Good Bye! Thanks for playing!'