私は Java を初めて使用します。Java を使用して、レゴ NXT ロボットに迷路から抜け出す方法を教えています。アルゴリズムのパラメーターは外注してコードにロードする必要があるため、JSON を使用します。MY JSON ファイルは非常に単純です (左側のアルゴリズム):
{"algorithm":
{
"onGapLeft": "moveLeft",
"onGapFront": "moveForward",
"onGapRight": "moveRight",
"default": "moveBackward"
}
}
このファイルを順番に読むことが非常に重要です。つまり、Left と Right を変更すると、アルゴリズムは Right Hand Algorithm になります。これはこれまでのJavaコードです。私がやろうとしていることを理解していただければ幸いです。ところで:私はJSON.simpleを使用しています!
private static void loadAlgorithm() throws InterruptedException {
JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader("lefthand.json"));
JSONObject jsonObject = (JSONObject) obj;
JSONArray algorithm = (JSONArray) jsonObject.get("algorithm");
int length = algorithm.size();
for(int i = 0; i < length; i++)
{
switch (algorithm[i].key)
{
case "onGapLeft" : leftPos = i; break;
case "onGapFront": frontPos = i; break;
case "onGapRight": rightPos = i; break;
default: break;
}
switch (algorithm[i].value)
{
case "moveLeft" : directionAlgorithm[i] = direction.Left; break;
case "moveFront" : directionAlgorithm[i] = direction.Forward; break;
case "moveRight" : directionAlgorithm[i] = direction.Right; break;
case "moveBackward": directionAlgorithm[3] = direction.Backward; break;
default: break;
}
}
}
キー文字列 (algorithm[i].key を実際に使用した場所) と値文字列 (algorithm[i].value) を取得できるかどうかを知る必要があります。
ご助力ありがとうございます!