【学習kotlinシリーズ】オブジェクトを作る

オブジェクトを作るって

文字列やリスト、マップなどKotlinにははじめから用意されているオブジェクトがたくさんある。が、オブジェクトを自分で作ることもできる。
しかもとても簡単に。object{}の中に変数や関数を入れてあげればいいだけ。

実際に作ってみる

RPGオブジェクトを作ってみた。HPとMPがあり、ダメージを受けるとHPが減ったり、回復魔法を使うとHPが増える代わりにMPが減ったりする。

fun main(args: Array<String>){

    val rpg = object {

        // HP
        var hp = 100

        // MP
        var mp = 10

        // 回復魔法
        fun cure() {
            mp -= 2
            hp += 10
            status()
        }

        // ダメージを食らう
        fun damage(){
            hp -= 20
            status()
        }

        // 宿屋に泊まる
        fun inn(){
            hp = 100
            mp = 10
            status()
        }

        // ステータスを表示
        fun status(){
            println("HP: ${hp}")
            println("MP: ${mp}")
            println("--------")
        }
    }
    
    // ダメージを受ける
    rpg.damage()
    rpg.damage()
    // 回復する
    rpg.cure()
    // ダメージを受ける
    rpg.damage()
    // 宿屋に泊まる
    rpg.inn()
}

実行結果

HP: 80
MP: 10
--------
HP: 60
MP: 10
--------
HP: 70
MP: 8
--------
HP: 50
MP: 8
--------
HP: 100
MP: 10
--------

ダメージ受ける一方の主人公。