基于JavaFX的扫雷游戏实现(四)——排行榜

本文介绍了如何在JavaFX扫雷游戏中实现排行榜功能,包括使用TableView展示成绩,通过文件读写保存历史记录。文章讨论了文件路径处理、数据源设置以及TableView与ObservableList的结合使用。此外,还提到了难度选择和游戏结束时的用时获取,以及在用户未输入昵称时如何改进处理流程。
摘要由CSDN通过智能技术生成

这期看标题已经能猜到了,主要讲的是成绩排行功能,还有对应的文件读写。那么废话不多说,让我们有请今天的主角...的设计稿:

  那么主角是何方神圣呢?当然是图中的大框框——TableView。关于这个控件的选取没有太多讲究,你也可以用文本域,手动换行来显示。我只是觉得使用表格显示看起来更规范些。接下来考虑数据来源,最直接的来源是每局游戏结束后的用时。不过这还不够,想要有排行一条记录可不行,也就是我们还要保存以往的记录,一般来讲10条即可。至于采用何种方式存取,那就具体情况具体分析了。像这个只是我本人制作分享,采用文件存取能够演示功能就行。有些朋友可能是为了课程设计来学习,需要配合数据库使用也可以,下面来看看文件存取的代码实现。

  首先就是文件和目录的创建问题,都开始写代码了就尽量把这些工作交给程序来完成:

static {
    // 每次调用此类都先判断目录和文件是否存在
    try {
        File directory = new File(PREFIX + "/src/ranks");
        if (!directory.exists() || !directory.isDirectory()) {
            // 目录不存在, 自动创建
            directory.mkdirs();
        }
        for (String path : RECORD_PATHS) {
            path = PREFIX + path;
            File file = new File(path);
            if (!file.exists()) {
                // 文件不存在, 自动创建
                if (file.createNewFile()) {
                    // 创建成功, 写入内置数据
                    BufferedWriter writer = new BufferedWriter(new FileWriter(path));
                    for (int i = 0; i < 10; ++i) {
                        writer.write("未命名 999\n");
                    }
                    writer.flush();
                    writer.close();
                }
            }
        }
    } catch (Exception e) {
        System.out.println("Erro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值