在#C项目中存储对象描述级别的体系结构

问题描述 投票:0回答:1

我正在写一个简单的益智游戏。简化的措辞我有一个类Level具有某些特征(对象的位置,初始配置和一些参数)。我计划做很多级别,例如30.如何聪明地做到这一点?每个级别我都有构造函数参数。

public Level (int a, int to, int s, int d, int e, int af);

当然我可以在每个级别的对象的代码中做,并手动设置Tipo的所有特性

 Level Level 1 = New Level (552531, 552351, 55235531, 53253, 5153, 5151233);
 Level Level 2 = New Level (3641, 346351, 553461, 5334653, 34653, 523462);
 Level Level 3 = new level (6423, 461, 262346, 2346346, 234646, 62546);
...

 Level Level30 = new level (235, 6346, 643654, 34624634, 346346, 534626);

当然,这对我的简单项目很有用,它可以并且看起来很好,但是如果设计师会更困难,并且会采用数组,字符串和其他对象?我听说你可以存储存储在xml和json中的关卡的描述。我应该用吗?它方便吗?简单的例子,或比较易用性。遗憾的是,我发现它不太方便,人们在这种情况下使用它。我也听说过C#中的资源,我可能不适合,因为描述的级别更难。

c# json xml
1个回答
1
投票

你可以使用json文件并用Newtonsoft.Json解析它。

levels.json

[{
"A": 552531,
"To": 552351,
"S": 55235531,
"D": 53253,
"E": 5153,
"AF": 5151233 },
{
"A": 3641,
"To": 346351,
"S": 553461,
"D": 5334653,
"E": 34653,
"AF": 523462
},
{
"A": 6423,
"To": 461,
"S": 262346,
"D": 2346346,
"E": 234646,
"AF": 62546
},
{
"A": 235,
"To": 6346,
"S": 643654,
"D": 34624634,
"E": 346346,
"AF": 534626
}]

使用..

        var path = @"YOUR FILE PATH\levels.json";
        var strJson = System.IO.File.ReadAllText(path);
        List<Level> levels = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Level>>(strJson);

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.