Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >javafx框架tornadofx实战-舒尔特2

javafx框架tornadofx实战-舒尔特2

原创
作者头像
用户6167008
修改于 2020-06-08 10:08:57
修改于 2020-06-08 10:08:57
56200
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 // 刷新网格
    private fun refreshGrid() {
        timeUsed.set(format(0))
        isRun.set(false)
        resultList.clear()
        val n = nproperty.value
        r.clear()
        suerte.clear()
        correctResult.clear()
        isRun.set(false)
        aniTimer.stop()
        if (n * n > content.value.length) {
            information("超出内容长度")
            return
        }
        (1..n * n).map {
            suerte.add(content.value[it - 1].toString())
//            suerte.add("$it")
        }
        correctResult.addAll(suerte)
        suerte.shuffle()
        val iter = suerte.iterator()
        (0 until n).map { i ->
            (0 until n).map { j ->
                r.add(button(iter.next()) {
                    setPrefSize(r.prefHeight / n, r.prefHeight / n)
                    action {
                        if (resultList.size < 2) {//当第一次点击时,开始计时
                            isRun.set(true)
                            startTime.set(System.currentTimeMillis())
                        }
                        if (!resultList.contains(this.text) && correctResult[resultList.size] == this.text) resultList.add(this.text)//将每次点击的数字添加到结果列表中
                        textFill = if (resultList.size > 1 && correctResult[resultList.size - 1] == this.text) {//点击后更改字体颜色
                            Color.BLUE
                        } else {
                            Color.RED
                        }
                        if (resultList.size == n * n) isRun.set(false)

                        if (isRun.value) {
                            aniTimer.start()
                        } else {
                            aniTimer.stop()
                        }
                        style {
                            backgroundColor += c("#99CC00")
                            fontSize = 26.px
                        }
                        if (resultList.joinToString() == correctResult.joinToString()) information("恭喜!成功完成本局")

                    }
                    style {
                        borderColor += box(c("red"))
                        borderWidth += box(1.px)
                        fontSize = 26.px
                    }
                }, i, j)
            }
        }
    }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
javafx框架tornadofx实战-益智游戏-找出指定的内容1
找到它.gif 布局与上一个案例舒尔特基本相似,来体验一下吧,代码也在同小异,直接上代码: 重要的事情说3遍: 动手敲代码!!!动手敲代码!!!动手敲代码!!! class MainAPP : App(MainView::class) class MainView : View("把指定的图片全都给我找出来") { private val c by inject<MainController>() lateinit var r: GridPane private val sue
用户6167008
2020/08/11
7330
javafx框架tornadofx实战-益智游戏-找出指定的内容1
javafx框架tornadofx实战-舒尔特1
set舒尔特.gif import javafx.animation.AnimationTimer import javafx.application.Platform import javafx.geometry.Orientation import javafx.geometry.Pos import javafx.scene.control.RadioButton import javafx.scene.layout.GridPane import javafx.scene.layout.Prior
用户6167008
2020/06/05
7821
javafx框架tornadofx实战-舒尔特1
javafx框架tornadofx实战-舒尔特5-增加字体大小设置和进度显示功能
标签文本绑定到两个属性变量resultSize(结果长度)和correctSize(总长度)
用户6167008
2020/06/11
9050
javafx框架tornadofx实战-舒尔特5-增加字体大小设置和进度显示功能
javafx框架tornadofx画个心形
[zyv5mi8xkw.gif] import javafx.animation.AnimationTimer import javafx.application.Application import javafx.application.Platform import javafx.geometry.Pos import javafx.scene.canvas.GraphicsContext import javafx.scene.control.RadioButton import javafx.sce
用户6167008
2019/09/03
1.5K0
javafx框架tornadofx画个心形
javafx框架tornadofx实战-舒尔特6-增加导出舒尔特方格功能
本节需要导入以下3个类: import javafx.embed.swing.SwingFXUtils import javafx.scene.SnapshotParameters import ja
用户6167008
2020/06/15
8860
javafx框架tornadofx实战-舒尔特6-增加导出舒尔特方格功能
javafx框架tornadofx入门30_类型安全的样式-使用样式类
style-class.gif image.png class MyStyle : Stylesheet() { companion object { val leftBox by cssclass()// View中通过 addClass(MyStyle.leftBox) 使用此样式 val labelOne by cssid()// View中id为"label-one"的控件使用此样式 val two by cssclass()// View
用户6167008
2020/05/07
8110
javafx框架tornadofx入门30_类型安全的样式-使用样式类
吃鱼小游戏,可以让小朋友练习键盘方向键和鼠标,采用javafx框架tornadofx实现
[ts8aa4beeu.gif] import javafx.application.Application import javafx.stage.Stage import javafx.scene.paint.Color import javafx.scene.text.Font import javafx.scene.text.FontWeight import javafx.animation.AnimationTimer import javafx.beans.Observable import
用户6167008
2019/09/04
1.1K0
吃鱼小游戏,可以让小朋友练习键盘方向键和鼠标,采用javafx框架tornadofx实现
一颗心到一个圆的演变,javafx框架tornadofx动画演示
[or8lllfpxg.gif] import javafx.animation.AnimationTimer import javafx.application.Application import javafx.application.Platform import javafx.geometry.Pos import javafx.scene.canvas.GraphicsContext import javafx.scene.control.RadioButton import javafx.sce
用户6167008
2019/09/04
7920
一颗心到一个圆的演变,javafx框架tornadofx动画演示
一颗心到一个圆的演变,javafx框架tornadofx动画演示
采用runAsync和Thread.sleep(10)实现动画效果 import javafx.geometry.Pos import javafx.scene.canvas.GraphicsContext import javafx.scene.control.RadioButton import javafx.scene.paint.Color import javafx.scene.text.FontWeight import tornadofx.* import java.util.* import
用户6167008
2019/09/16
6770
javafx框架tornadofx入门29_类型安全的样式-内联样式
image.png tornadofx中可以在控件的lambda表达式中通过style {}的方式给控件定义样式 image.png class MainView29 : View("tornadofx入门29_类型安全的样式-内联样式") { override val root = hbox(30) { alignment = Pos.CENTER button("tornadofx button") { style="fx-font-s
用户6167008
2020/04/29
8640
javafx框架tornadofx入门29_类型安全的样式-内联样式
使用javafx框架tornadofx制作诗经查看工具
为了让各位都动起手来一起学习,以后的博客中贴一半代码,另一半代码以图片形式显示。用到的json数据
用户6167008
2019/12/02
6260
使用javafx框架tornadofx制作诗经查看工具
300行代码不到的javafx框架tornadofx拼图游戏
不知道为什么分成9份的时候无法移动,请高手指教 分成36份的时候程序有可能卡住没反应 分成4份的时候有可能无法成功恢复原图 a2.gif heart2circle.zip 附件运行方式:解压后,双击文件:run.bat import javafx.application.Application import javafx.application.Platform import javafx.beans.property.SimpleObjectProperty import javafx.geome
用户6167008
2019/09/05
1.5K0
二维码生成小工具,采用javafx框架tornadofx实现界面开发
[3zqf7zy13o.gif] import javafx.application.Application import javafx.beans.property.SimpleObjectProperty import javafx.embed.swing.SwingFXUtils import javafx.scene.image.Image import javafx.scene.image.WritableImage import tornadofx.* import javax.imageio.
用户6167008
2019/09/11
1.5K0
二维码生成小工具,采用javafx框架tornadofx实现界面开发
javafx框架tornadofx入门实战22_treeview
通过treeview构建文件(夹)树,就像windows文件管理器左侧的一样 treeview.gif import javafx.collections.FXCollections import javafx.collections.ObservableList import javafx.scene.control.TreeItem import javafx.scene.layout.Priority import tornadofx.* import java.io.File import ja
用户6167008
2020/03/25
7960
javafx框架tornadofx入门实战22_treeview
javafx框架tornadofx入门32_制作图标浏览工具
ikonli-viewer.gif 在build.gradle中添加如下依赖,ikonli=11.5.0: implementation("org.kordamp.ikonli:ikonli-javafx:$ikonli") implementation("org.kordamp.ikonli:ikonli-typicons-pack:$ikonli") implementation("org.kordamp.ikonli:ikonli-material-pack:$ikonli") implementa
用户6167008
2020/05/18
1.5K0
javafx框架tornadofx入门32_制作图标浏览工具
来玩玩打地鼠游戏,300行代码不到
所用到的图片: 打地鼠.zip [mzijcqa487.gif] a2.gif 图1代码: import javafx.animation.KeyFrame import javafx.animation.Timeline import javafx.event.ActionEvent import javafx.event.EventHandler import javafx.geometry.Pos import javafx.scene.effect.DropShadow import javaf
用户6167008
2019/09/26
1.9K0
来玩玩打地鼠游戏,300行代码不到
用javafx框架tornadofx做了个天气预报的程序
此实例用到了rest api,tableview,listview,linechart、ItemViewModel等知识,演示了动态加载数据的方法.
用户6167008
2019/10/16
2K1
用javafx框架tornadofx做了个天气预报的程序
javafx框架tornadofx实战-舒尔特4-左侧列表数据构建函数变更
由于改成从外部json文件加载数据到左侧列表,相应的构建函数变更如下: private fun initContent(title: String) { content.value = "" isDIY.value = title == "自定义" when (title) { "数字" -> { (1..nproperty.value * nproperty.value).map {//用英文逗号分隔每个数字
用户6167008
2020/06/10
3730
javafx框架tornadofx实战-舒尔特8-增加统计功能
重要的事情说3遍: 动手敲代码!!!动手敲代码!!!动手敲代码!!! shuerte3.gif 新建StatisticView.kt文件,并添加到主视图的right drawer中: import javafx.scene.chart.* import tornadofx.* class StatisticView : View("统计") { private val c by inject<MainController>()//注入控制器 private var bc by singleA
用户6167008
2020/06/28
5551
javafx框架tornadofx实战-舒尔特8-增加统计功能
javafx框架tornadofx入门26_treeview_增加删除修改
treeview-add-delete-modify.gif 在上一篇的基础上,为treeview添加“增加删除修改”的功能,其中数据类Company,Department,Staff的代码在在上一篇中 import javafx.scene.control.TreeItem import javafx.scene.control.TreeView import javafx.scene.layout.Priority import tornadofx.* class MainView26 : View
用户6167008
2020/04/20
7870
javafx框架tornadofx入门26_treeview_增加删除修改
推荐阅读
相关推荐
javafx框架tornadofx实战-益智游戏-找出指定的内容1
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验