在看課程範例時,程式碼總好像很自然地「該是那樣」,等到自己要動手練習才發現跟自己想的差太多了(怎麼都跑不起來?)。今天在 Ruby 玩個剪刀石頭布,順便複習基礎運算和流程控制吧!
這次要打造的「剪刀-石頭-布」小遊戲規則為:
- 只有兩位參賽者,一個是玩家,另一個是電腦
- 只比賽一回合
- 玩家要從剪刀 (scissors) ,石頭 (rock) 或布 (paper) 選擇其中之一個
- 玩家先輸入一個選擇,電腦再隨機選擇一個
- 接著電腦來分辨勝負:剪刀贏布、布贏石頭、石頭贏剪刀
- 宣告勝負:玩家贏、電腦贏、或是平手
這是我原本的程式碼 ➫

但是一直跑出詭異的結果,無論輸多少數字進去,都會宣告玩家 Lose,很明顯地在邏輯上有出錯。我最開始是想用 Assign 的 = 把數字跟字串連在一起,輸出後系統顯示 Syntax Error,我的想法是雖然我是想要把電腦隨機丟出來的數字 0, 1, 2 轉換成剪刀石頭布的字串,但因為最開始玩家輸入的內容也是一樣的字串,可能系統會搞錯我的意思。

這是學長姐寫出來的 Code ➫

- 讓使用者輸入字串是 gets.chomp,整數是 gets.to_i
- rand(3) = 0, 1, 2,因為學長姐是請使用者輸 1-3,我擅自多加了 1 (看起來是對的?)
- 學長姐很聰明的是,他們直接先把玩家獲勝的可能性寫完,剩下電腦獲勝的用 else 來解決就好,不用像我一條一條

Follicle- stimulating hormone stimulates the release of eggs, called ovulation priligy where to buy Your doctor may prescribe metformin for PCOS if you don t conceive while taking clomiphene
how to buy generic cytotec no prescription We retrospectively collected clinical data of patients aged 18 65 years with recurrent high grade glioma from 2003 2016
Your article helped me a lot, is there any more related content? Thanks!
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.