API > Redstone & Colors

「API/Redstone & Colors」の編集履歴(バックアップ)一覧に戻る
API/Redstone & Colors」を以下のとおり復元します。
このページでは Redstone API と Colors API について解説する。

参考資料:
-[[Redstone API>http://computercraft.info/wiki/index.php?title=Redstone_%28API%29]]
-[[Colors API>http://computercraft.info/wiki/index.php?title=Color_%28API%29]]
執筆時のバージョン:
-ComputerCraft 1.55 for Minecraft 1.6.2

----
#contents
----

*Redstone API
ComputarやTurtleのレッドストーン入出力を制御する。"redstone"は"rs"と省略可能。

名前に"Bundled"が含まれる関数は、RedPowerのInsulated Wire(絶縁ワイヤー)やBundled Cables(ケーブル束)、【1.53-】MineFactoryReloadedのRedNet Cable(レッドネットケーブル)による入出力専用である。逆に、"Bundled"が含まれない関数ではBundled CablesやRedNet Cableの入出力を利用することができない。

名前に"Analog"が含まれる関数は、入出力で0~15の信号の強さを利用できる。なお、イギリス綴りで"Analogue"と表記することもできる。

**getSides
-rs.getSides()
-ComputerやTurtleが利用可能な方向を表す文字列を取得する
-戻り値:テーブル型。利用可能な方向を表す文字列のリスト

例:
 for k,v in pairs(rs.getSides()) do
     print(v)
 end
利用可能な全ての方向を表示する。

**getInput
-rs.getInput( &italic(){side} )
-&italic(){side}(文字列)方向のレッドストーン入力の状態を取得する
-戻り値:ブーリアン型。trueならON、falseならOFF

コンピュータ自身がレッドストーン出力している場合でもtrueを返す。
rs.getInputがtrue かつ rs.getOutputがfalse なら外部からの入力。

&italic(){side} は "left", "right", "top", "bottom", "front", "back" のいずれか(以下同様)。

例:
 print(rs.getInput("back"))
後方向からのレッドストーン入力の状態を表示する。

**setOutput
-rs.setOutput( &italic(){side} , &italic(){state} )
-&italic(){side}(文字列)方向のレッドストーン出力を&italic(){state}(ブーリアン)に設定する(trueならON、falseならOFF)
-戻り値:nil

例:
 rs.setOutput("back", true)
 sleep(1)
 rs.setOutput("back", false)
後方向へのレッドストーン出力をONにして、その一秒後にOFFにする。

**getOutput
-rs.getOutput( &italic(){side} )
-&italic(){side}(文字列)方向の自身のレッドストーン出力の状態を取得する
-戻り値:ブーリアン型。trueならON、falseならOFF

例:
 rs.setOutput("left", true)
 print(rs.getOutput("left"))
左方向へのレッドストーン出力をONにした後、左方向のレッドストーン出力の状態を表示する。
(この例では true と表示される)

**getAnalogInput
【1.51-】
-rs.getAnalogInput( &italic(){side} )
-&italic(){side}(文字列)方向のレッドストーン入力の強さを取得する
-戻り値:数値型。レッドストーン信号の強さ(0~15)

コンピュータ自身がレッドストーン出力している場合、自身の出力を返す可能性がある。

**setAnalogOutput
【1.51-】
-rs.setAnalogOutput( &italic(){side}, &italic(){number} )
-&italic(){side}(文字列)方向のレッドストーン出力を強さ&italic(){number}(数値)に設定する
-戻り値:nil

&italic(){number}は0~15の整数。

**getAnalogOutput
【1.51-】
-rs.getAnalogOutput( &italic(){side} )
-&italic(){side}(文字列)方向の自身のレッドストーン出力の強さを取得する
-戻り値:数値型。レッドストーン信号の強さ(0~15)

**getBundledInput
-rs.getBundledInput( &italic(){side} )
-&italic(){side}(文字列)方向のレッドストーン入力の状態を取得する(RedPower及び【1.53-】MineFactoryReloaded専用)
-戻り値:数値型。ONのワイヤーの色に対応した整数値。数値の内容はColors APIで調べることもできる

例:
 print(colors.test(rs.getBundledInput("back"), colors.blue))
後方向からのレッドストーン入力のうち青ワイヤーがONならtrueを、OFFならfalseを表示する。

**setBundledOutput
-rs.setBundledOutput( &italic(){side} , &italic(){colors} )
-&italic(){side}(文字列)方向のレッドストーン出力を&italic(){colors}(数値)に設定する(RedPower及び【1.53-】MineFactoryReloaded専用)。&italic(){colors}はONにするワイヤーの色に対応した整数値。ONにしなかった色のワイヤーはOFFになる。&italic(){colors}の値はColors APIで作成できる
-戻り値:nil

例:
 while(true) do
     rs.setBundledOutput("back", colors.black)
     sleep(2)
     rs.setBundledOutput("back", colors.white)
     sleep(2)
 end
後方向へ2秒間隔で交互に黒ワイヤーと白ワイヤーからレッドストーン出力をする。
("while(true)"は"while true"と書くこともできる)

**getBundledOutput
-rs.getBundledOutput( &italic(){side} )
-&italic(){side}(文字列)方向の自身のレッドストーン出力の状態を取得する(RedPower及び【1.53-】MineFactoryReloaded専用)
-戻り値:数値型。ONのワイヤーの色に対応した整数値。数値の内容はColors APIで調べることもできる

**testBundledInput
-rs.testBundledInput( &italic(){side} , &italic(){color} )
-side(文字列)方向のレッドストーン入力でcolor(数値)のワイヤーがONかを調べる(RedPower及び【1.53-】MineFactoryReloaded専用)。&italic(){color}には複数の色を表す値を指定することもでき、その場合は&italic(){color}の値に含まれる全ての色がONのときにのみtrueを返す。&italic(){colors}の値はColors APIで作成できる
-戻り値:ブーリアン型。trueならcolorはON、falseならOFF

*Colors API
Redstone APIで使用するRedPowerのワイヤーの色を表す値の使用を補助する。イギリス綴りで"colours"と表記することもできる。

**色定数
RedPowerのInsulated Wire(絶縁ワイヤー)の各色を表す整数値の定数。文字色や背景色を指定する際にも用いられる。

|MIDDLE:CENTER:BGCOLOR(#DDD):&bold(){定数名}|MIDDLE:CENTER:BGCOLOR(#DDD):&bold(){数値(10)}|MIDDLE:CENTER:BGCOLOR(#DDD):&bold(){数値(16)}|MIDDLE:CENTER:BGCOLOR(#DDD):&bold(){文字色&br()【-1.53】}|MIDDLE:CENTER:BGCOLOR(#DDD):&bold(){文字色&br()【1.55-】}|MIDDLE:CENTER:BGCOLOR(#DDD):&bold(){[[Image>API/Paintutils#id_25b992e0]]&br()データ}|
|colors.white|RIGHT:1|RIGHT:0x1|BGCOLOR(#1E1B1B): &color(#F0F0F0){■}&color(#F0F0F0){#F0F0F0}|BGCOLOR(#1D1D1D): &color(#F0F0F0){■}&color(#F0F0F0){#F0F0F0}|CENTER:0|
|colors.orange|RIGHT:2|RIGHT:0x2|BGCOLOR(#1E1B1B): &color(#EB8844){■}&color(#F0F0F0){#EB8844}|BGCOLOR(#1D1D1D): &color(#F2B233){■}&color(#F0F0F0){#F2B233}|CENTER:1|
|colors.magenta|RIGHT:4|RIGHT:0x4|BGCOLOR(#1E1B1B): &color(#C354CD){■}&color(#F0F0F0){#C354CD}|BGCOLOR(#1D1D1D): &color(#E57FD8){■}&color(#F0F0F0){#E57FD8}|CENTER:2|
|colors.lightBlue|RIGHT:8|RIGHT:0x8|BGCOLOR(#1E1B1B): &color(#6689D3){■}&color(#F0F0F0){#6689D3}|BGCOLOR(#1D1D1D): &color(#99B2F2){■}&color(#F0F0F0){#99B2F2}|CENTER:3|
|colors.yellow|RIGHT:16|RIGHT:0x10|BGCOLOR(#1E1B1B): &color(#DEDE6C){■}&color(#F0F0F0){#DEDE6C}|BGCOLOR(#1D1D1D): &color(#DEDE6C){■}&color(#F0F0F0){#DEDE6C}|CENTER:4|
|colors.lime|RIGHT:32|RIGHT:0x20|BGCOLOR(#1E1B1B): &color(#41CD34){■}&color(#F0F0F0){#41CD34}|BGCOLOR(#1D1D1D): &color(#7FCC19){■}&color(#F0F0F0){#7FCC19}|CENTER:5|
|colors.pink|RIGHT:64|RIGHT:0x40|BGCOLOR(#1E1B1B): &color(#D88198){■}&color(#F0F0F0){#D88198}|BGCOLOR(#1D1D1D): &color(#F2B2CC){■}&color(#F0F0F0){#F2B2CC}|CENTER:6|
|colors.gray|RIGHT:128|RIGHT:0x80|BGCOLOR(#1E1B1B): &color(#434343){■}&color(#F0F0F0){#434343}|BGCOLOR(#1D1D1D): &color(#4C4C4C){■}&color(#F0F0F0){#4C4C4C}|CENTER:7|
|colors.lightGray|RIGHT:256|RIGHT:0x100|BGCOLOR(#1E1B1B): &color(#999999){■}&color(#F0F0F0){#999999}|BGCOLOR(#1D1D1D): &color(#999999){■}&color(#F0F0F0){#999999}|CENTER:8|
|colors.cyan|RIGHT:512|RIGHT:0x200|BGCOLOR(#1E1B1B): &color(#287697){■}&color(#F0F0F0){#287697}|BGCOLOR(#1D1D1D): &color(#4C99B2){■}&color(#F0F0F0){#4C99B2}|CENTER:9|
|colors.purple|RIGHT:1024|RIGHT:0x400|BGCOLOR(#1E1B1B): &color(#7B2FBE){■}&color(#F0F0F0){#7B2FBE}|BGCOLOR(#1D1D1D): &color(#B266E5){■}&color(#F0F0F0){#B266E5}|CENTER:a|
|colors.blue|RIGHT:2048|RIGHT:0x800|BGCOLOR(#1E1B1B): &color(#253192){■}&color(#F0F0F0){#253192}|BGCOLOR(#1D1D1D): &color(#253192){■}&color(#F0F0F0){#253192}|CENTER:b|
|colors.brown|RIGHT:4096|RIGHT:0x1000|BGCOLOR(#1E1B1B): &color(#51301A){■}&color(#F0F0F0){#51301A}|BGCOLOR(#1D1D1D): &color(#7F664C){■}&color(#F0F0F0){#7F664C}|CENTER:c|
|colors.green|RIGHT:8192|RIGHT:0x2000|BGCOLOR(#1E1B1B): &color(#3B511A){■}&color(#F0F0F0){#3B511A}|BGCOLOR(#1D1D1D): &color(#57A64E){■}&color(#F0F0F0){#57A64E}|CENTER:d|
|colors.red|RIGHT:16384|RIGHT:0x4000|BGCOLOR(#1E1B1B): &color(#B3312C){■}&color(#F0F0F0){#B3312C}|BGCOLOR(#1D1D1D): &color(#CC4C4C){■}&color(#F0F0F0){#CC4C4C}|CENTER:e|
|colors.black|RIGHT:32768|RIGHT:0x8000|BGCOLOR(#1E1B1B): &color(#1E1B1B){■}&color(#F0F0F0){#1E1B1B}|BGCOLOR(#1D1D1D): &color(#191919){■}&color(#F0F0F0){#191919}|CENTER:f|

全16色のワイヤーの各色を、16ビットのうち特定のビットを1にすることで表現している。これら値の論理和(OR)を取ることにより、複数の色の組み合わせを表現できる。Colors APIの各関数で行っていることは単なるビット演算である(ビット演算を行うには[[Bit API>bit (API)]]を参照)。

**combine
-colors.combine( &italic(){color1} , &italic(){color2} , ... )
-ワイヤーの色をを表す値&italic(){color1}, &italic(){color2}, ...(数値)を合成する。引数は複数指定できる
-戻り値:数値型。合成されたワイヤーの色を表す整数値

例:
 print(colors.combine(colors.white, colors.magenta, colours.lightBlue))
白とマゼンタとライトブルーのワイヤーを表す値(13)を作り、表示する。

**subtract
-colors.subtract( &italic(){colors} , &italic(){color1} , &italic(){color2} , &italic(){...} )
-ワイヤの色を表す値colors(数値)から&italic(){color1}, &italic(){color2}, &italic(){...}(数値)の値の色を取り除く。引数は複数指定できる
-戻り値:数値型。引数で指定した色を取り除いたワイヤーの色を表す値

例:
 print(colors.subtract(colors.combine(colors.white, colors.magenta, colours.lightBlue), colors.magenta))
白とマゼンタとライトブルーのワイヤーを表す値からマゼンタを取り除いた値(9)を表示する。

**test
-colors.test( &italic(){colors} , &italic(){color} )
-ワイヤの色を表す値&italic(){colors}(数値)に&italic(){color}(数値)の値の色が含まれているかを調べる。&italic(){color}にも複数の色を表す値を指定することができ、その場合は&italic(){color}の値に含まれる全ての色が&italic(){colors}に含まれているときにのみtrueを返す
-戻り値:ブーリアン型。含まれているならtrue、いないならfalse

例:
 print(colors.test(colors.combine(colors.white, colors.magenta, colours.lightBlue), colors.lightBlue))
白とマゼンタとライトブルーのワイヤーを表す値にライトブルーが含まれているかを調べて表示する。
(この例では true と表示される)

復元してよろしいですか?