之前的我們學會了增加文字與圖片,今天就學一些讓 app 增加互動性的按鈕吧!
這次我們先從按按鈕擲骰子的來練習練習 。最終成果如下:
在以前我們有使用 kotlin playground 來練習撰寫 kotlin,如果懶得開環境的話,也是可以用 playground 來練習。
一開始我們先試著寫出獲得隨機數字的程式碼,我們會需要一個變數當作骰子數字範圍,範圍是1~6,透過內建的 random 涵式來獲得數字。
fun main(){
val diceRange: IntRange = (1..6)
}
宣告一個類型為 IntRange 的變數 diceRange。 IntRange 是一種數值類型,表示從起始到結束的整數範圍。(1..6) 就是1到6的意思。
這時候還需要另一個變數來存放隨機產生的數字:
fun main() {
val diceRange: IntRange = 1..6
val randomNumber = diceRange.random()
println("隨機數字為:${randomNumber}")
}
這樣就能隨機產生 1~6 的數字,當然你也可以這樣寫:
fun main(){
val randomNumber = (1..6).random()
println("隨機數字為:${randomNumber}")
}
這就是骰子作用的一個小程式,接下來我們要建一個骰子的 class ,來讓程式碼更完整。
先把 main function 清空,並在他的外面新增一個名為 dice 的 Class :
fun main(){
}
class Dice{
val side: Int = 6
}
一個簡單的class 就完成啦,接下來把 roll 函式加進去,並在 main 裡去創建一個實例(instance):
fun main(){
val firstDice = Dice() //創立Instance
println("骰子面數為:${firstDice.side}") //顯示骰子面數
}
class Dice{
val side: Int = 6
}
為類別 Dice 新增他的方法 roll 並在 main 裡去調用 roll 隨機產生數字:
fun main(){
val firstDice = Dice()
println("骰子面數為:${firstDice.side}")
firstDice.roll()
}
class Dice{
val side: Int = 6
fun roll(){
val randomNumber = (1..6).random()
println("隨機數字為:${randomNumber}")
}
}
目前我們將滾動產生的結果放在 roll 這個 function 裡面,有時我們把結果回傳給調用這個函式的對象會更有用喔。
我們會需要在 main 裡面宣告一個變數,這個變數會調用 roll 函式並接收 roll 產生的結果:
fun main() {
val firstDice = Dice()
val diceRoll = firstDice.roll()
}
接下來去 Dice class 調整一下,我們希望 roll 會回傳 Int 的數值:
fun roll(): Int { }
在大括號裡必須 return 一個值,才能讓 roll 順利作用:
fun roll(): Int {
val randomNumber = (1..6).random()
return randomNumber
}
把程式完整一點就是:
fun main() {
val firstDice = Dice()
val diceRoll = firstDice.roll()
println("你的${firstDice.side}面骰子,擲出了:${diceRoll}")
}
class Dice{
val side: Int = 6
fun roll(): Int {
val randomNumber = (1..6).random()
return randomNumber
}
}
//output:你的6面骰子,擲出了:5
恭喜恭喜,你的第一顆骰子程式已經完成啦,明天我們再繼續。
下一篇見寫寫打家打家擺掰。