C#问答游戏-同一文件中的问答
本文关键字:问答 文件 游戏 | 更新日期: 2023-09-27 18:00:37
我正在使用Windows窗体在C#中创建一个智力竞赛游戏,我最初的想法是将问题/答案放入一个XML文件中,如下所示:
<?xml version="1.0" ?>
<quiz>
</question>
<question>
<answers>
</question>
// More questions here
</quiz>
我计划使用一个类/对象,如下所示:
class Question
{
var listOfQuestions = new List<Question>();
listOfQuestions.Add(question);
我想知道我该如何使用这些组合,这样我就可以轻松地添加新的问题/答案,然后表单会在标签中显示问题,答案会在四个单独的按钮上?也许有人可以帮我举一个例子,说明我将在表单代码/XML文件中包含什么来实现这一点?
我也想尝试,也许针对不同的难度水平提出不同的问题,但也不确定我会怎么做。
谢谢你抽出时间。
您的XML有点不对劲,因为同一元素中不能有自由文本和子节点。这会更正确一点:
<?xml version="1.0"?>
<quiz>
<question id="1" difficulty="1">
<text>What is the capital city of Australia?</text>
<answers>
<wrongAnswer>Sydney</wrongAnswer>
<correctAnswer>Canberra</correctAnswer>
<wrongAnswer>Melbourne</wrongAnswer>
<wrongAnswer>Adelaide</wrongAnswer>
</answers>
</question>
<!-- More questions here -->
</quiz>
根据你的另一个问题,我还添加了一些你可以使用的属性。
至于将这些问题加载到Forms项目中,您最好创建一个可以将每个问题绑定到的UserControl,尽管这在WPF中要容易得多。我没有这两种ATM的例子,但如果需要的话,我可以想出一些简单的东西。
如果我理解得对,您可以简单地用级别标志扩展Question类,并将类序列化为XML。然后您可以在启动时加载XML文件并对其进行反序列化。