你好 Stack Overflow 世界:3 我的名字是 Chris,我有一个小问题。所以我将以这种格式提出问题。 第 1 部分 我将介绍我目前正在使用的材料和代码片段。 . 第 2 部分 我将尽我所能解释我想要实现目标的新方法。 第 3 部分 所以你们认为我没有让你们做所有的工作,我将继续介绍我在上述目标上的尝试,以及研究发现的我不完全理解的可能方式。
第1部分
mobDB.csv 示例:
ID Sprite kName iName LV HP SP EXP JEXP Range1 ATK1 ATK2 DEF MDEF STR AGI VIT INT DEX LUK Range2 Range3 Scale Race Element Mode Speed aDelay aMotion dMotion MEXP ExpPer MVP1id MVP1per MVP2id MVP2per MVP3id MVP3per Drop1id Drop1per Drop2id Drop2per Drop3id Drop3per Drop4id Drop4per Drop5id Drop5per Drop6id Drop6per Drop7id Drop7per Drop8id Drop8per Drop9id Drop9per DropCardid DropCardper
1001 SCORPION Scorpion Scorpion 24 1109 0 287 176 1 80 135 30 0 1 24 24 5 52 5 10 12 0 4 23 12693 200 1564 864 576 0 0 0 0 0 0 0 0 990 70 904 5500 757 57 943 210 7041 100 508 200 625 20 0 0 0 0 4068 1
1002 PORING Poring Poring 1 50 0 2 1 1 7 10 0 5 1 1 1 0 6 30 10 12 1 3 21 131 400 1872 672 480 0 0 0 0 0 0 0 0 909 7000 1202 100 938 400 512 1000 713 1500 512 150 619 20 0 0 0 0 4001 1
1004 HORNET Hornet Hornet 8 169 0 19 15 1 22 27 5 5 6 20 8 10 17 5 10 12 0 4 24 4489 150 1292 792 216 0 0 0 0 0 0 0 0 992 80 939 9000 909 3500 1208 15 511 350 518 150 0 0 0 0 0 0 4019 1
1005 FARMILIAR Familiar Familiar 8 155 0 28 15 1 20 28 0 0 1 12 8 5 28 0 10 12 0 2 27 14469 150 1276 576 384 0 0 0 0 0 0 0 0 913 5500 1105 20 2209 15 601 50 514 100 507 700 645 50 0 0 0 0 4020 1
1007 FABRE Fabre Fabre 2 63 0 3 2 1 8 11 0 0 1 2 4 0 7 5 10 12 0 4 22 385 400 1672 672 480 0 0 0 0 0 0 0 0 914 6500 949 500 1502 80 721 5 511 700 705 1000 1501 200 0 0 0 0 4002 1
1008 PUPA Pupa Pupa 2 427 0 2 4 0 1 2 0 20 1 1 1 0 1 20 10 12 0 4 22 256 1000 1001 1 1 0 0 0 0 0 0 0 0 1010 80 915 5500 938 600 2102 2 935 1000 938 600 1002 200 0 0 0 0 4003 1
1009 CONDOR Condor Condor 5 92 0 6 5 1 11 14 0 0 1 13 5 0 13 10 10 12 1 2 24 4233 150 1148 648 480 0 0 0 0 0 0 0 0 917 9000 1702 150 715 80 1750 5500 517 400 916 2000 582 600 0 0 0 0 4015 1
1010 WILOW Willow Willow 4 95 0 5 4 1 9 12 5 15 1 4 8 30 9 10 10 12 1 3 22 129 200 1672 672 432 0 0 0 0 0 0 0 0 902 9000 1019 100 907 1500 516 700 1068 3500 1067 2000 1066 1000 0 0 0 0 4010 1
1011 CHONCHON Chonchon Chonchon 4 67 0 5 4 1 10 13 10 0 1 10 4 5 12 2 10 12 0 4 24 385 200 1076 576 480 0 0 0 0 0 0 0 0 998 50 935 6500 909 1500 1205 55 601 100 742 5 1002 150 0 0 0 0 4009 1
所以这是我拥有的电子表格的一个例子。这就是我希望在我的理想目标中使用的。不是我现在使用的。它是在 MS Excel 2010 中完成的,使用 A-BF 列和 1-993 行
目前我的工作代码格式,我正在使用手动实现的数组。例如,对于 iName,我有:
char iName[16][25] = {"Scorpion", "Poring", "Hornet", "Familiar", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null"};
现在在头文件(bSystem.h)中定义以应用,可以说他们的健康变量?我必须在同一个 Header 中有另一个具有相应顺序的数组,如下所示:
int HP[16] = {1109, 50, 169, 155, 95, 95, 118, 118, 142, 142, 167, 167, 193, 193, 220, 220};
问题是,有大量数据要硬编码到我需要的各种文件中,用于怪物、物品、法术、技能等。在最初的小规模上,为了得到某些系统,它很好。我一直在头文件中使用各种 Void 在调用时将数据从文件传输到文件。但是当我处理 1,000 多个怪物并且必须使用所有这些变量时。手动将它们放入有点......荒谬?哈哈...
第2部分
现在我的理想系统是能够使用 .CSV 文件来加载数据。我在这个任务中遇到了相当多的各种问题。例如,将从 Names 中提取的数据转换为 Char 数组,实际上是从 CSV 文件中提取数据并将特定部分分配给某些数组......我想到的主要想法是,我似乎无法理解的是这个;
我希望能够找到一种方法来从 CSV 文件中读取这些不同的变量......所以当我调用如下变量时:
cout << name << "(" << health << " health) VS. " << iName[enemy] << "(" << HP[enemy] << " health)";
也就是说,[enemy]
它将是 ID .. 敌人的遭遇在另一个标题 (lSystem.h) 中,它基本上是这样的;
case 0:
enemy = 0;
其中 0 将是涉及怪物的数组中的第一个数据。我讨厌它必须是特定于顺序的。我希望能够说敌人 = 1002;因此,当战斗系统启动时,它可以从 ID 为 1002 的敌人那里提取所需的变量。
我总是遇到一些不同的问题,我无法将数据从文件中提取到程序中。当我可以时,我只能让它将 int 值存储到 int 数组中,我无法让它转换字符串到 char 数组。然后我遇到的下一个问题是回忆它和实际保存的部分......这就是第 3 部分的用武之地:3
第 3 部分
到目前为止,我已经尝试了一些不同的事情,并研究了如何实现这一目标.. 到目前为止我遇到的是..
我可以编写一个函数来从 mobDB 中读取数据,将其记录到数组中,然后将其输出到 .dat?因此,当我需要调用变量时,我可以从 .dat 而不是可修改的 CSV 中做一些事情。就阅读和转换而言,我遇到了同样的问题。
我可以走 SQL 路线,但是我在理解如何从 SQL 中提取数据时遇到了很多问题?我家里有一个 PowerEdge 2003 服务器盒,我在上面存储数据,它确实设置了 NavicatSQL Premium,所以我想我关于 SQL 路由的主要 2 个问题是,是否可以直接连接到 SQLServer 并且当我更新时数据库,当客户端运行时,它只会从数据库中提取变量和数据?或者我会被困在编译 SQL 文件...当它是一个在线游戏时,我知道我将不得不使用一些东西从服务器传输到客户端,这就是为什么我试图在开发早期设置这个,所以我有更多建立起来,我确定我可以使用 SQL 服务器吗?如果有人对它的工作原理有很好的了解,我非常想走 SQL 路线..
我所做的尝试是使用 Boost 来解析来自 CSV 而不是标准库的数据。出现了同样的问题。我确实阅读了关于将字符串转换为字符的内容。但是一旦我拉出问题,问题就出在数据,我无法转换它?...
我也尝试过 ADO C++ 路线..死路一条..
总而言之,我在上周左右花了这个时间。我非常想设置 SQL 服务器来实际更新变量……但我愿意接受任何可以轻松编辑和实施大型的工作想法数据量..
我很感激任何和所有的帮助。如果有人试图帮助获得一个工作代码,如果给你认为应该解释的部分添加注释不是太麻烦?我不希望有人只是给我一个快速修复..我实际上想学习和了解我正在使用什么。非常感谢大家:)
-克里斯