Lucky Dice Roll 是一款以 Kotlin 為基礎的骰子遊戲,您可以在其中指定一個幸運數字。只要玩家擲出這個幸運數字,即可獲勝。
學習目標
如何使用if和else陳述式。
如何使用大於(>)、小於(<)和等於(==)等運算子來比較值。
如何使用when陳述式來根據指定值選擇選項。
Boolean資料類型是什麼,以及如何使用true和false值來做出決策。
建立 Lucky Dice Roll 遊戲
設定範例程式碼
參考之前的Dice Roller程式並修改。
1 2 3 4 5 6 7 8 9 10 11 12
fun main() { val myFirstDice = Dice(6) val rollResult = myFirstDice.roll() println("Your ${myFirstDice.numSides} sided dice rolled ${rollResult}!") }
class Dice (val numSides: Int) {
fun roll(): Int { return (1..numSides).random() } }
檢查是否擲出幸運數字
刪除println,並新增名為luckyNumber的val,將其設為4。
1 2 3 4 5
fun main() { val myFirstDice = Dice(6) val rollResult = myFirstDice.roll() val luckyNumber = 4 }
新增if陳述式,用於檢查rollResult是否等於(==)luckyNumber。
1 2 3 4 5 6 7 8
fun main() { val myFirstDice = Dice(6) val rollResult = myFirstDice.roll() val luckyNumber = 4 if (rollResult == luckyNumber) {
} }
在大括號{}內新增println陳述式,以列印"You win!"。
1 2 3 4 5 6 7 8
fun main() { val myFirstDice = Dice(6) val rollResult = myFirstDice.roll() val luckyNumber = 4 if (rollResult == luckyNumber) { println("You win!") } }
在未擲出幸運數字時回應
新增else陳述式以列印"You didn't win, try again!"。
1 2 3 4 5 6 7 8 9 10
fun main() { val myFirstDice = Dice(6) val rollResult = myFirstDice.roll() val luckyNumber = 4 if (rollResult == luckyNumber) { println("You win!") } else { println("You didn't win, try again!") } }
新增else if陳述式,即可針對每次擲骰輸出不同訊息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
fun main() { val myFirstDice = Dice(6) val rollResult = myFirstDice.roll() val luckyNumber = 4
if (rollResult == luckyNumber) { println("You win!") } elseif (rollResult == 1) { println("So sorry! You rolled a 1. Try again!") } elseif (rollResult == 2) { println("Sadly, you rolled a 2. Try again!") } elseif (rollResult == 3) { println("Unfortunately, you rolled a 3. Try again!") } elseif (rollResult == 5) { println("Don't cry! You rolled a 5. Try again!") } else { println("Apologies! You rolled a 6. Try again!") } }
fun main() { val myFirstDice = Dice(6) val rollResult = myFirstDice.roll() val luckyNumber = 4 when (rollResult) { luckyNumber -> println("You win!") 1 -> println("So sorry! You rolled a 1. Try again!") 2 -> println("Sadly, you rolled a 2. Try again!") 3 -> println("Unfortunately, you rolled a 3. Try again!") 5 -> println("Don't cry! You rolled a 5. Try again!") 6 -> println("Apologies! You rolled a 6. Try again!") } }
fun main() { val myFirstDice = Dice(8) val rollResult = myFirstDice.roll() val luckyNumber = 4 when (rollResult) { luckyNumber -> println("You win!") 1 -> println("So sorry! You rolled a 1. Try again!") 2 -> println("Sadly, you rolled a 2. Try again!") 3 -> println("Unfortunately, you rolled a 3. Try again!") 5 -> println("Don't cry! You rolled a 5. Try again!") 6 -> println("Apologies! You rolled a 6. Try again!") else -> println("Sorry! You rolled 7 or 8. Try again!") } }
class Dice (val numSides: Int) {
fun roll(): Int { return (1..numSides).random() } }