首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >琐碎游戏设计模式

琐碎游戏设计模式
EN

Stack Overflow用户
提问于 2015-06-28 01:02:04
回答 1查看 722关注 0票数 3

我需要一些设计问题的帮助,在创建一个小测验游戏。在继续之前,如果下面的方法是可以的/可改进的/容易失败/.。这就是我到目前为止想出的:

代码语言:javascript
运行
复制
public class Question {
    private String question;
    private List<Answer> answers;
    private int statisticsCorrectness;
}

public class Answer {
    private String answer;
    private boolean correct;
}

我在持卡人类中创建问题,我可以用来得到一组问题(这是我不确定的地方,把它放在类中似乎是错误的,以前从未见过)。

代码语言:javascript
运行
复制
public class StaticStuff {

    public Module getModuleOne(){
        Module module;


        //Question1
        Answer a = new Answer("Ten", true);
        Answer a1 = new Answer("Five", false);
        Answer a2 = new Answer("Six", false);
        Answer a3 = new Answer("Eight", false);
        Answer a4 = new Answer("10", true);
        Answer[] listOfAn = new Answer[]{a, a1, a2, a3, a4};

        Question q1 = new Question("What is 5 plus 5", Arrays.asList(listOfAn));
        //End Question1

        //Question2
        //....
        //End Question2

        //Add all questions
        Question[] questionsForFirstModule = new Question[]{q1};

        //Create the module that will be returned
        module = new Module("Introduction", Arrays.asList(questionsForFirstLession));

        return module;
    }
}

我计划使用它的方式是在应用程序第一次运行时(使用Json或parcelable)将每个Module对象保存在SharedPreferences中。当我需要一组问题时,我只需从SharedPreferences中获取对象并将其“更新”发送回SharedPreferences。

如果需要指定一个明确的问题,那么它将是:与使用数据库相比,这种方式保存对象是否存在许多缺陷。也许我应该选择一种数据库方法(这是我写完所有这些之后才意识到的)?

我看了google的前三页“琐事游戏java教程”,但并没有得到足够的信息。

EN

回答 1

Stack Overflow用户

发布于 2020-06-17 07:47:02

在这里使用外部数据文件会更好。不久前,我为一个编码挑战编写了一个百万富翁类型的Quizz游戏,我使用了这样的工具:

问题-问题文本-答案(字符串的array4)

这是通过读取一个简单的文本文件来填补的,现在您可以使用JSON或XML来实现它,但是纯文本文件工作得很好,只是它没有那么灵活。

您可以使用Room或类似的东西来处理这些问题,但是请记住,编辑这些问题将是您做了很多的事情,所以让它对您来说尽可能简单。

在我的版本中,data中的第一个答案总是正确的。我在显示顺序时随机化了顺序,主要是为了更容易地将问题写下来,因为这需要大量的工作,而且您想让它更容易对您。

考虑将问题与时间戳结合起来存储多久一次,这样如果可能的话,可以避免重复这些问题。

在android中,创建一个活动来显示问题和可能的答案,然后单击显示选择的结果,然后更改ViewModel数据以显示下一个问题。

Score和其他变量可以通过使用通常的方式来处理状态更改来持久化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31095156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档