0

特定の条件でプログラムを実行できるプログラムを作ろうとしています。基本的に、私は Minecraft とタートルで ComputerCraft を使用してアイテムを取得し、開始した場所に戻ります。コードでわかるように、テーブル内のすべての座標を個別に保存しました。しかし、goto プログラムの使用法が正しくないため、実行するたびに機能しません。何が起こるかというと、座標を持つテーブルが正しく呼び出されず、その方法がわかりません。goto コマンドの使用法は次のとおりですgoto <x> <y> <z> [f]。X、Y、Z は座標で、f は方向です。コードへのペーストビンは次のとおりです: http://pastebin.com/i73w0S1m

4

2 に答える 2

1
local tArgs = {...}
if not tArgs[1] then
  print("Usage: request <item name> <amount>")
  return
end
local currentPOS = {gps.locate()}
local im = peripheral.wrap("left")
local all_items = {
  diamond = { -300, 64, -190, 1 },
  cobble = { -300, 65, -190, 1 },
  ...
  brass = { -299, 66, -189, 0 },
  copper = { -299, 67, -189, 0 },
}
shell.run("goto", unpack(all_items[tArgs[1]]))
im.suck(0, tArgs[2])
shell.run("goto", unpack(currentPOS))
于 2013-04-20T16:05:27.450 に答える
0

わかりましたので、これは私にとってはうまくいくでしょう=)まあ、私はプロセッサコードについては知りませんが、使用法コードを修正しました=)

 local tArgs = {...}
    function usage() 
    print("Usage: request <item name> <amount>")
      return
    end
    if #tArgs < 1 then
      usage()
    else
    if #tArgs > 2 then
    usage()
    else 
    local currentPOS = {gps.locate()}
    local im = peripheral.wrap("left")
    local all_items = {
      diamond = { -300, 64, -190, 1 },
      cobble = { -300, 65, -190, 1 },
      ...
      brass = { -299, 66, -189, 0 },
      copper = { -299, 67, -189, 0 },
    }
    shell.run("goto", unpack(all_items[tArgs[1]]))
    im.suck(0, tArgs[2])
    shell.run("goto", unpack(currentPOS))
    end
    end

うまくいくといいのですが =D XD すみません、誤って Egor Skriptunoff コードを編集してしまいました XD

于 2016-12-12T22:47:30.760 に答える