kotlin实现猜数游戏

游戏规则

1.程序随机生成一个1到100的数字,作为MagicNumber

2.用户根据提示输入数据,只有三次机会输入数据

代码

代码很简单,使用了let内置函数

java 复制代码
fun main() {
    //生成随机数可以使用java的方法
    //val magicNumber = Random().nextInt(11)
    val magicNumber = (0..100).random()
    //也可以使用这种方法,生成的数字在0到100(包含0和100)
    println("magicNumber = ${magicNumber}")
    gussMagicNumber(magicNumber)
}

fun gussMagicNumber(magicNumber:Int){
    var flag = false
    for (i in 1.. 3){
        print("请输入数字:")
        var num = readLine()
        var str = (num?.toInt()?: 0)?.let {
            if(it > magicNumber){
                "您的数字${it} 大于magicnumber,您还有${3-i} 次机会"
            }else if(it < magicNumber){
                "您的数字小于magicinumber,您还有${3-i} 次机会"
            }else{
                flag = true
                "恭喜您,答对啦!magicnumber为${magicNumber}"
            }
        }
        if(flag){
            println(str)
            break
        }else{
            if(i == 3){
                print("游戏结束,您已经没有机会了,正确的magicNumber为${magicNumber}")
            }else{
                print(str)
            }
        }
    }
}
  

运行结果

相关推荐
alexhilton19 分钟前
Jetpack ViewModel内幕:内部机制与跨平台设计
android·kotlin·android jetpack
QING6189 小时前
Kotlin Flow 的 emit 和 tryEmit 有什么区别 ?
android·kotlin·android jetpack
Kapaseker12 小时前
面试官最爱问的 Android 数据传递问题
android·kotlin
I'm Jie1 天前
Gradle 多模块依赖集中管理方案,Version Catalogs 详解(Kotlin DSL)
android·java·spring boot·kotlin·gradle·maven
zhangphil1 天前
Kotlin管道Channel融合flow流,协程实现Android废弃的AsyncTaskLoader(A)
kotlin
tangweiguo030519871 天前
Android 插件化开发完全指南(Kotlin DSL/Gradle KTS 配置)
android·kotlin
モンキー・D・小菜鸡儿2 天前
Android BottomSheetBehavior 使用详解
android·kotlin
sinat_384241092 天前
从零开始打造一个 Android 音乐播放器(Kotlin + Jetpack Compose)
android·开发语言·kotlin
消失的旧时光-19432 天前
Android(Kotlin) ↔ Flutter(Dart) 的“1:1 对应表”:架构分层来对照(MVVM/MVI 都适用)
android·flutter·kotlin
zhangphil2 天前
Kotlin协程flow缓冲buffer任务流,批次任务中选取优先级最高任务最先运行(二)
kotlin