gpt4 book ai didi

java - 问答游戏设计模式

转载 作者:行者123 更新时间:2023-12-05 00:01:24 24 4
gpt4 key购买 nike

我需要帮助解决一些关于创建知识问答游戏的设计问题。在继续之前,如果以下方法可行/可改进/容易失败/..,我可以使用一些建议。这是我到目前为止想出的:

public class Question {
private String question;
private List<Answer> answers;
private int statisticsCorrectness;
}

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

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

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;
}
}

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

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

我查看了 google 上的前三页“Trivia game java tutorial”,但并没有真正从中获得足够的信息。

最佳答案

在这里使用外部数据文件会更好。前段时间我为编码挑战写了一个百万富翁类型的问答游戏,我使用了这样的东西:

问题 - 问题文本 - 答案(字符串数组[4])

这是通过读取一个简单的文本文件来填充的,今天您可以使用 JSON 或 XML,但是纯文本文件效果很好,只是不够灵活。

您可以为此使用 Room 或类似工具,但请记住,编辑这些问题将是您经常做的事情,因此请尽可能简化此操作。

在我的版本中,数据 中的第一个答案总是正确的。我随机顺序显示它们,主要是为了更容易写下问题,因为这需要很多工作,而且你想让它变得容易你。

考虑结合时间戳存储问题的显示频率,以便尽可能避免重复。

在 android 中,创建一个显示问题和可能答案的 Activity ,并在更改 ViewModel 数据以显示下一个问题之前单击显示选择结果。

分数和其他变量可以通过使用处理状态变化的常用方法来持久化。

关于java - 问答游戏设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31095156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com