MST

星途 面试题库

面试题:Kotlin枚举类在状态机中的应用

假设你正在开发一个简单的游戏,游戏角色有三种状态:Idle(空闲)、Running(奔跑)、Jumping(跳跃)。请使用Kotlin枚举类来实现这个状态机,并编写代码实现状态的切换以及根据不同状态执行相应的操作,例如在Idle状态打印'角色处于空闲状态' ,在Running状态打印'角色正在奔跑' ,在Jumping状态打印'角色正在跳跃'。
22.1万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试
enum class CharacterState {
    Idle, Running, Jumping
}

class Character {
    private var currentState: CharacterState = CharacterState.Idle

    fun changeState(state: CharacterState) {
        currentState = state
        performAction()
    }

    private fun performAction() {
        when (currentState) {
            CharacterState.Idle -> println("角色处于空闲状态")
            CharacterState.Running -> println("角色正在奔跑")
            CharacterState.Jumping -> println("角色正在跳跃")
        }
    }
}

你可以使用以下方式测试代码:

fun main() {
    val character = Character()
    character.changeState(CharacterState.Running)
    character.changeState(CharacterState.Idle)
    character.changeState(CharacterState.Jumping)
}