Skip to content

Createで作成した、からくりエレベーターを制御するComputerCraft用のプログラムです。

Notifications You must be signed in to change notification settings

Gakuto1112/ComputerCraft-CreateElevator

Repository files navigation

ComputerCraft-CreateElevator

Createで作成した、からくりエレベーターを制御するComputerCraft用のプログラムです。

特徴

  • Createのからくり装置で作成した、エレベーターを、Createでは複雑で実現の難しい制御を実現しています。
  • クラッチギアシフトのみで制御します。
  • ネットワークケーブルが許す限り、どんな長さ・階層のエレベーターにも対応出来ます。
  • 任意の階まで止まる事なくエレベーターが動きます。
  • 呼び出し機能があります。ボタンを押す事でその階までエレベーターを動かす事が出来ます。
  • 階層表示に対応しています。モニターで今のエレベーターの場所、移動方向を確認出来ます。
  • エレベーター扉の自動開け閉めに対応しています。エレベーターが到着したらその階の扉を開け、エレベーターが出発したら扉を閉めます。
  • 到着音に対応しています。エレベーターが到着したら音が鳴ります。
  • 設定を容易に行えるインストーラーが付属しています。

動作環境

このプログラムを作成した環境です(必要なもののみの記載となります)。しかし、これら以外の環境(バージョン違い等)でも動作する可能性があります。

エレベーターの条件

このプログラムが使用するには以下の条件全てを対象のエレベーターが満たしている必要があります。

エレベーターの構築

このエレベーターシステムは、各階の行き先入力・呼び出しボタン・扉の開け閉め等を制御するフロアコンピューターと、フロアコンピューターを統括し、エレベーターの制御を行うマスターコンピューターの2種類のコンピューターから構成されます。フロアコンピューターは各階に1台ずつ設置し、マスターコンピューターは1つのエレベーターシステムに1台のみ設置します。

フロアコンピューター

フロアコンピューターの構築は各階に対して行います。

フロアコンピューターの構築

  • コンピューターは有線モデムを通じて、マスターコンピューターと接続します(他のフロアコンピューターと共に一本のネットワークケーブルでマスターコンピューターに接続すると良いです)。
  • 上級モニターを使用するとカラー表示になりますが、(下級)モニターでも視認性を落とす事なく使用できます。
  • 呼び出しボタンとエレベーターの扉はコンピューターがレッドストーンを伝達出来る範囲内に設置して下さい。

マスターコンピューター

マスターコンピューターの構築はエレベーターシステム全体に対して1台のみ行います。

マスターコンピューターの構築

  • マスターコンピューターはネットワークケーブルを通じて、エレベーターシステム内の全てのフロアコンピューターと接続します。
  • それぞれ異なる面から、マスターコンピューターとクラッチ・ギアシフトをレッドストーンで接続します。
    • クラッチのレッドストーン信号は反転させて下さい。

エレベーターシステムのインストール

エレベーターの構築で設置したフロアコンピューターとマスターコンピューターにそれぞれの制御プログラムをインストールします。インストール方法には、インストーラーを使用する方法と、手動でインストールする方法があります。

インストーラーでのインストール

  1. このレポジトリにあるluaファイルを全て1つのフロッピーディスクにコピーします。
  2. フロアコンピューター・マスターコンピューターにディスクドライブを接続し、1.のフロッピーディスクを入れ、システムにマウントします。
  3. cd disk/でカレントディレクトリを1.のフロッピーディスクのルートディレクトリにします(マウント名は適宜変更して下さい)。
  4. フロアコンピューターではinstall_floorを、マスターコンピューターではinstall_masterを実行してインストーラーを起動します。
  5. 表示される質問に答えてプログラムの設定をします。設定の際はこちらの表を参考にして下さい。
  6. インストールが完了したらコンピューターを再起動します。

手動でのインストール

  1. フロアコンピューターではlogger.luafloor.luaを、マスターコンピューターではlogger.luamaster.luaをルートディレクトリにコピーします。

  2. floor.luamaster.luastartup.luaに名前変更します。

  3. startup.luaeditで開いて、Config = { ... }の{ }内を編集してプログラムの設定をします。

    フロアコンピューター

    項目 説明 有効な型 初期値
    buttonFace 呼び出しボタンのレッドストーン入力を受けるコンピューターの面 stringtopfrontleftbackrightbottom "back"
    doorFace エレベーターの扉を制御する為にレッドストーン信号を出力するコンピューターの面 stringtopfrontleftbackrightbottom "left"
    floor このフロアコンピューターがある階数。同じエレベーターシステム内の他のフロアコンピューターとの重複は許されません。 number 1
    roofFloor 最上階を屋上表示「R」とするかどうか boolean true

    マスターコンピューター

    項目 説明 有効な型 初期値
    clutchFace クラッチを制御する為にレッドストーン信号を出力するコンピューターの面 stringtopfrontleftbackrightbottom "left"
    gearShiftFace ギアシフトを制御する為にレッドストーン信号を出力するコンピューターの面 stringtopfrontleftbackrightbottom "right"
    minFloor このエレベーターシステムの最下階のフロア number 1
    maxFloor このエレベーターシステムの最上階のフロア number 10
    timeBetweenFloors エレベーターが1階層分移動するのに要する時間(参考までに、ローププーリーが64RPMで6m移動するのに要する時間は2.4です、移動時間の測定にはこちらを参考にして下さい。) number 2.4
  4. コンピューターを再起動します。

使用方法

  1. フロアコンピューターが起動すると、モニターに「?」と表示され、マスターコンピューターの検出を試みます。マスターコンピューターを検出するとモニターにエレベーターの位置と移動方向が表示されます。マスターコンピューターが検出出来ないと、5秒おきに再検出を試みます。

  2. マスターコンピューター検出後、フロアコンピューターのターミナルには、

    This is floor **.
    Enter the floor which you want to go (**-**).
    >_

    と表示れます。ここに行きたい階を入力するとエレベーターがその階に移動します。

  3. また、呼び出しボタンを押す事でエレベーターをその階に呼ぶ事が出来ます。

  4. エレベーターが移動中はフロアコンピューターのターミナルに、

    The elevator is moving. Please wait.

    と表示され、階層入力や呼び出しボタンを受け付けません。暫くお待ち下さい。

エレベーターの移動時間の測り方

チートコマンドが使用可能な環境での測定です。

  1. /scoreboard objectives add test dummyでテスト用のスコアボードを作成します。

  2. 以下の装置を組み立てます。この装置は6mの移動時間の測定を行います。レッドストーンコンタクトの間隔は希望する移動距離に応じて変更して下さい。尚、リピートコマンドブロックは/give @p minecraft:repeating_command_blockで入手します。

    移動時間測定装置

  3. 2.の装置のリピートコマンドブロックに/scoreboard players add #dummy test 1と入力します。

  4. からくり動力機会を動かして、2つのレッドストーンコンタクトを通過する時間を測定します。

  5. /scoreboard players get #dummy testと入力して結果を得ます。

  6. 実際にマスターコンピューターに設定する際は5.で得られた結果を20で割って設定します。

注意事項

  • エレベーターが動いている時にエレベーターがあるチャンクがアンロードされる、ゲームを終了する等でプログラムが停止しないようにして下さい。再ロード時にシステムのエレベーターの位置と実際のエレベーターの位置に差異が出ます。
    • エレベーターの位置に差異が出た場合は、一度エレベーターを最下階又は最上階に移動させて下さい。
  • このエレベーターシステムはシングルプレイ又は少人数プレイ向けのものであり、現実のエレベーターシステムと比べて簡易的なものになっています(行き先予約機能がありません)。大人数プレイ(エレベーターの利用頻度が高い)には向いていません。

About

Createで作成した、からくりエレベーターを制御するComputerCraft用のプログラムです。

Topics

Resources

Stars

Watchers

Forks

Languages