1
即時通訊試圖讓我的祕密號碼遊戲正常工作。紅寶石 - 祕密號碼遊戲,如何讓遊戲重新啓動?
我在與獲得比賽的時候重新啓動的問題:
你有沒有更多的猜測留下 你贏得比賽
我用了while循環,但有麻煩通過函數訪問它/法..
編輯:
所以基本上玩家都有3次猜測祕密數字。如果他們贏了,他們會被問到他們是否想重新開始遊戲。如果他們輸了,他們也會被問到他們是否想重試。
這裏是代碼:
在此先感謝球員
def get_input
gets.chomp
end
puts "Welcome to the Secret Number Game! Please tell me your name"
player_name = get_input
puts "Welcome #{player_name}!"
puts "Guess a number between 1 - 10. You only have 3 attempts!"
secret_number = 1 + rand(10)
restart = true
while restart
def playAgain (restart)
puts "Would you like to play again? (y/n)"
answer = get_input
if answer == "n"
restart = false
end
end
def guess_check (player_input, secret_number)
if player_input > secret_number
puts "Wrong, sorry! Too high!"
elsif player_input < secret_number
puts "Wrong, sorry! Too low!"
else
puts "Congratulations, you've guessed the secret number! #{[secret_number]}"
playAgain (restart)
end
end
############################## START GAME ###########################################
guesses = []
attempts = 3
while attempts
attempts = attempts - 1
if attempts == -1
puts "Sorry, you have no more tries"
playAgain (restart)
else
puts "Guess the secret number (You have #{attempts} tries left):"
end
player_input = get_input.to_i
guesses.push (player_input)
guess_check(player_input, secret_number)
puts "You've guessed - #{guesses}"
end
playAgain (restart)
end
會給這個時候,我回來了:
然後整個範圍會看起來像下班回家。所以因爲我想在嘗試等於-1時打破嘗試循環,我應該寫「 - while attempts> -1」?這將如何讓我允許玩家在完成所有嘗試之後重新開始遊戲,或者如果他們贏了比賽?例如訪問「while = restart」循環 – giantqtipz
你是否介意用簡單的英文描述你想實現的邏輯?我剛剛看到了「試圖」,導致無限循環並指出了這一點。 – mudasobwa
哈哈抱歉。我應該解釋。所以這些步驟將是1)詢問玩家他們的名字是什麼。 2)告訴玩家從1到10猜數字3)他們只有3次嘗試猜測4)如果他們猜錯了3次,玩家將被問及是否要重新開始遊戲5)如果他們猜對了,他們也會被詢問是否要重新啓動。我的問題是讓「重啓」部分運行。 – giantqtipz