このページでは、動画に関連して以下のAPIを解説する。(動画と表記が異なっている部分もあります)
※解説は Minecraft 1.2.5、ComputerCraft 1.33 時点のものです。
参考資料
このページの内容は、基本的に以下の資料の和訳である。
Redstone API
ComputarやTurtleのレッドストーン入出力を制御する。"redstone"は"rs"と省略可能。
- redstone.getSides()
- redstone.getInput( side )
- redstone.setOutput( side , state )
- redstone.getOutput( side )
- redstone.getBundledInput( side )
- redstone.setBundledOutput( side , colors )
- redstone.getBundledOutput( side )
- redstone.testBundledInput( side , color )
名前に"Bundled"が含まれる関数は、RedPower2のInsulated Wire(絶縁ワイヤー)やBundled Cables(ケーブル束)による入出力専用である。逆に、"Bundled"が含まれない関数ではBundled Cablesの入出力を利用することができない。
getSides
例:
利用可能な全ての方向を表示する。
getInput
例:
後方向からのレッドストーン入力の状態を表示する。
setOutput
- redstone.setOutput( side , state )
- side(文字列)方向のレッドストーン出力をstate(ブーリアン)に設定する(trueならON、falseならOFF)。
- 戻り値:nil
例:
redstone.setOutput("back", true)
sleep(1)
redstone.setOutput("back", false)
後方向へのレッドストーン出力をONにして、その一秒後にOFFにする。
getOutput
例:
redstone.setOutput("left", true)
print(redstone.getOutput("left"))
左方向へのレッドストーン出力をONにした後、左方向のレッドストーン出力の状態を表示する。
(この例では true と表示される)
getBundledInput
- redstone.getBundledInput( side )
- side(文字列)方向のレッドストーン入力の状態を取得する(RedPower2専用)
- 戻り値:数値型。ONのワイヤーの色に対応した整数値。数値の内容はColors APIで調べることもできる
例:
print(colors.test(redstone.getBundledInput("back"), colors.blue))
後方向からのレッドストーン入力のうち青ワイヤーがONならtrueを、OFFならfalseを表示する。
setBundledOutput
- redstone.setBundledOutput( side , colors )
- side(文字列)方向のレッドストーン出力をcolors(数値)に設定する(RedPower2専用)
colorsはONにするワイヤーの色に対応した整数値。ONにしなかった色のワイヤーはOFFになる。colorsの値はColors APIで作成できる - 戻り値:nil
例:
while(true) do
redstone.setBundledOutput("back", colors.black)
sleep(2)
redstone.setBundledOutput("back", colors.white)
sleep(2)
end
後方向へ2秒間隔で交互に黒ワイヤーと白ワイヤーからレッドストーン出力をする。
("while(true)"は"while true"と書くこともできる)
getBundledOutput
- redstone.getBundledOutput( side )
- side(文字列)方向の自身のレッドストーン出力の状態を取得する(RedPower2専用)
- 戻り値:数値型。ONのワイヤーの色に対応した整数値。数値の内容はColors APIで調べることもできる
testBundledInput
- redstone.testBundledInput( side , color )
- side(文字列)方向のレッドストーン入力でcolor(数値)のワイヤーがONかを調べる(RedPower2専用)
- 戻り値:ブーリアン型。trueならcolorはON、falseならOFF。
colorには複数の色を指定することができ、その場合はcolorに含まれる全ての色がONのときにのみtrueを返す。colorsの値はColors APIで作成できる
Colors API
Redstone APIで使用するRedPower2のワイヤーの色を表す値の使用を補助する。イギリス綴りで"colours"と表記することもできる。
- colors.combine( color1 , color2 , ... )
- colors.subtract( colors , color1 , color2 , ... )
- colors.test( colors , color )
色定数
RedPower2のInsulated Wire(絶縁ワイヤー)の各色を表す整数値の定数。
| ╋ ╋ ╋ ╋ ╋ ╋ ╋ ╋ ╋ ╋ ╋ ╋ ╋ ╋ ╋ ╋ |
colors.white = 1 colors.orange = 2 colors.magenta = 4 colors.lightBlue = 8 colors.yellow = 16 colors.lime = 32 colors.pink = 64 colors.gray = 128 colors.lightGray = 256 colors.cyan = 512 colors.purple = 1024 colors.blue = 2048 colors.brown = 4096 colors.green = 8192 colors.red = 16384 colors.black = 32768 |
全16色のワイヤーの各色を、16ビットのうち特定のビットを1にすることで表現している(よく分からない場合は、二進数を勉強するとよい)。これら値の論理和(OR)を取ることにより、複数の色の組み合わせを表現できる。Colors APIの各関数で行っていることは単なるビット演算である(ビット演算を行うにはBit API
を参照)。
combine
- colors.combine( color1 , color2 , ... )
- ワイヤーの色をを表す値color1, color2, ...(数値)を合成する。引数は複数指定できる
- 戻り値:数値型。合成されたワイヤーの色を表す整数値
例:
print(colors.combine(colors.white, colors.magenta, colours.lightBlue))
白とマゼンタとライトブルーのワイヤーを表す値(13)を作り、表示する。
subtract
- colors.subtract( colors , color1 , color2 , ... )
- ワイヤの色を表す値colors(数値)からcolor1, color2, ...(数値)の値の色を取り除く。引数は複数指定できる
- 戻り値:数値型。引数で指定した色を取り除いたワイヤーの色を表す値。
例:
print(colors.subtract(colors.combine(colors.white, colors.magenta, colours.lightBlue), colors.magenta))
白とマゼンタとライトブルーのワイヤーを表す値からマゼンタを取り除いた値(9)を表示する。
test
- colors.test( colors , color )
- ワイヤの色を表す値colors(数値)にcolor(数値)の値の色が含まれているかを調べる
- 戻り値:ブーリアン型。含まれているならtrue、いないならfalse。
colorには複数の色を指定することができ、その場合はcolorに含まれる全ての色がONのときにのみtrueを返す
例:
print(colors.test(colors.combine(colors.white, colors.magenta, colours.lightBlue), colors.lightBlue))
白とマゼンタとライトブルーのワイヤーを表す値にライトブルーが含まれているかを調べて表示する。
(この例では true と表示される)
関連項目
- 0
- 0pt
