先日は、
にて地下の作業を行いました。ニンジンがあったので、
のようにカボチャを回収してコンポスターで骨粉を作り、
この骨粉を散布することで
の状態から収穫できる状態まで育て
改修後に植え直して更に育てて
植え直しておきました。
今後は地下に降りていくので、その準備として中継地点での食料確保をする必要があるので、
のような畑を作り、ここに
のようにニンジンを植えて
のように周辺を拡張しておきました。
前回は、
のように鉄鉱石が見つかったのですが、レッドストーンや
このワールドで初となるダイヤモンドも見つけました。
前回の作業で
のような形で地下を拡張することができました。
今回のマイクラ
マイクラを見てみると
のようなアップデートが行われており、
のように1.21.1になっていました。
スプラッシュもトライアルチャンバーになっており、今回のアップデートで地下に追加される新しいバイオームに変更されていました。スタートすると
のようになり、ゲームが当たり前に立ち上がりました。
ちなみに、1.2.1の変更については、
で詳細を確認できます。
いつ頃のバージョンからなのかは解らないのですが、現在のバージョンではログインなしにゲームのスタートができない使用になっているので、オフラインでワールドを開いてプレイすることができなくなっています。これを行うとワールドが消えるのですが、ログインをしてプレイするとその問題は出ないようです。
とりあえず、
の場所からスタートとなりますが、今回はクラフトを行うことにしました。
直近で鉄が結構確保できたので、今回のアップデートから追加される 【 自動作業台 】 のクラフターを作ることにしました。
クラフターは元々MODに存在ていたものになりますが、ついにバニラに標準実装されることになりました。
この作業台はアイテムを流し込んでその後アイテムのスロットが埋まった後にレッドストーン信号を送るとクラフトしたアイテムをドロッパーのように射出する仕組みになっています。
スロットは9つあり、不要な部分のスロットは閉じることが出来るようになっています。これはベータ版で来ていたので、
のようなものを作っていますが、
■ アイテムの流入
■ アイテムスロットの指定
■ アイテムスロットが埋まる
■ 検知後に射出
という処理の工程を用意することになります。アイテムの完成を検知する場合、コンパレーターが必要になるので、ネザークォーツが必要になりますが、コンパレーターを製造するとアイテムの数に比例してレッドストーン信号が出るようになっています。コンパレーターには比較を行う能力があるので、15の信号で動くようにしておけば、その状態になった時に信号が出るようになっています。
この判定の仕組みはアイテム仕分け機の判定でも使用されていますが、
のような判定を入れると単一の数値のみを指定できる装置を作ることができます。
これも入力した値を比較をしているわけですが、マイクラのコンパレーターも電気工作のコンパレーターと考え方は同じなので、入力と側面からの信号の比較で動作するような仕組みになっています。この動画だと額縁の回転で得られる信号強度と同じものを側面の信号で取得してその比較で信号が出る仕組みになっていますが、この時に、
■ 以上
■ 未満
の信号を出してANDゲートで判定を行っているので、結果的に指定した数のみを取得できるようになっています。
この回路だと最大と最小だと動作しないのでそれを廃城した状態での装置になりますが、このようなものを作ることができます。こうした回路はマルチプレクサーを使うと良さそうな気がしますがレッドストーン信号を出すブロックの場合、コンパレーターを使うことで状態に応じたレッドストーン信号の信号鏡ロを取得できるようになっています。
クラフタも同様にそれが行えるようになっていますが、クラフトに必要なアイテムを移送する仕組みさえ作ってボタンを設置すれば、手動でアイテムを射出することができます。
レッドストーン関連のものを作る場合、
のように鉄とレッドストーンが思ったよりも多く必要になりますが、作業台を開くと
のように現在の所持品で作れるものの一覧が表示されるようになっています。
回収装置を作る際にはアイテムをチェストに送る必要があるので、ホッパーを作る必要があります。ホッパーも
のように結構鉄を消費するので、大型の回収装置を作る際には鉄を対象費消費することになります。
鉄が集まっていたので、
のように装備を整え全身を鉄の装備にしておきました。
現在のバージョンでは、コウモリさんのモデルが可愛らしくなっています。
今回は、地下の拡張を行うので、
のように天井を掘って拡張をしていると功績が出てきました。
とりあえず、掘り進めて
のようにしたのですが、
のように高い場所に鉄鉱石があったので、回収することにしました。とりあえず、上も掘ることになりそうなので、
のように階段を作り、上をほってみると、
のように鉱石が出てきました。とりあえず、鉱石を回収し他後に精錬しておきました。
作業をしていたら木座がなくなったので上の階層の植林場に行き
伐採後に植え替えておきました。
過去のバージョンから葉の適合ツールがクワになったので、クワで回収するとドロップ率が高くなっていますが、幸運を付けるとダークオークのようにドロップ率の低い苗木の回収確率を上げることができます。
地下に戻ると畑の作物も実っていたので回収し、
しっかりと植え替えておきました。
鉄も増えたので、今後の石の過去のために石切台を作っておきました。
周辺の拡張をこなっていると
のように鉄鉱石が出てきたので回収し、畑の後ろに
のような区画を作り、この場所に植樹を行うことにしました。
これで、この階層で木炭の製造をすることが出来るようになりました。
統合版もTNTでの爆破によるロスがなくなったので、JAVA版のような自動原木回収装置を作れるようになりましたが、現在はクラフターもあるので、ここから様々なブロックを生成できるようになりました。
諸靴の場所の横を拡張していると鉄鉱石が合ったのですが、
拡張してみると天井付近に鉱石が集まっていました。
鉱石を回収していると、
のように樹木も育っていたのですが、鉄鉱石が結構集まったので精錬しておきました。
今回の作業で植樹を行ったので
のような感じになりました。
マイクラ単体で作れるもの
マイクラでは、
■ サバイバルモード
■ クリエイティブモード
がありますが、通常のプレイで至要するのはサバイバルモードになります。
サバイバルモードでは、ブロックを使って建築などを行えますが、自分だけのセカイを作ることが出来るので、景観を作ったり、壁画やオブジェを作ったり、地上絵を作って地図を作ることができます。
JAVA版は統合版とは異なり、
【 高低差で色の階調が変わる 】
ので、同じブロックでも高低差を付けるだけで階調の再現が出来るようになっています。
これを地図に記録することで、
■ 壁
■ 天井
■ 床
に貼り付けることが出来るようになっていますが、地上絵を作って地図に収めることで存在しない絵を追加することができます。
マシンスペックが高い場合には色々なことができますが、マシンスペックが低い場合には、一箇所に集めると重くなるので拠点を分けて役割分担を刷る必要が出てきます。
マイクラの場合、エンティティの数が増えると重くなるので、マシンスペックに合わせた区画の構築を行うことになります。
これがブロックだけを使った作業になりますが、これとは別に自然生成されないものを作ることもができます。これが、自動や手動で動作する装置になりますが、このとき異使用するのがレッドストーンになります。
レッドストーンは、
になりますが、これだけだと信号を送る配線にしかなりませんから、作業台でブロックをクラフトすることで動的なものを作ることができます。ブロックは
のようなものがありますが、マインクラフトは軸移動歯科存在しないので、アクチュエーターとして動作するのはピストンになります。
レッドストーン回路は
■ 入力のブロック
■ 出力のブロック
を用意して目的の動作になるように刷ることからスタートしますが、その真Mで動作するブロックだと
■ 入力 : ボタン
■ 出力 : 使用するブロック
になります。これで操作を刷ることで動く仕組みを作ることができますが、この時の出力のブロックを何にするのかで挙動が変わります。例えば、ドロッパーにすればアイテムが射出されますが、ピストンだとブロックをしだす挙動になるので目的が違ってきます。また、ドロッパーとディスペンサーは形が似ていますが挙動が全く違います。
このように最初は
【 ブロックを動かしてみる 】
ことからスタートすると用途の理解が出来るので、この目的部ブロックが 【 何をしたら動くのか? 】 を考えることになります。
マインクラフトでは、
■ 操作
■ 検知
が可能なので、操作するブロックと検知をするブロックが存在します。
操作を刷るブロックは板材からつくれるので ゲームの序盤から生成できますが、
■ レバー : トグルスイッチ
■ 感知板 : タクトスイッチ
と同じ使用になっています。ボタンは持続時間が決まったパルス信号を出しているのでパルサー回路になりますが、マイクラでは序盤からこのようなブロックを至要することができます。
これらは、
■ レバー : 状態の固定
■ 感知板 : 接触中だけ動作
■ ボタン : パルス信号の発信
という違いがあるので、目的によって使い分けることになります。
基本的な仕様として
信号発進時に信号を送っても動作しない
ので、レバーで信号を出した状態だと他の入力を受け付けなくなります。
これで動作を行うことになりますが、この構造を距離の離れた場所に配置する際にレッドストーンを至要することになります。ただし、この信号強度は15しかないので、延長を刷る場合にはレッドストーンリピターを至要することになります。
これで、一つの処理を実行するための構造を作ることができますが、レッドストーンも回路なので、
■ 直列回路
■ 並列回路
を組むことができます。この回路の仕組みは中学校二年生の理科の物理のカリキュラムで登場しますが、オームの法則と組み合わせて使用するこの回路は
■ 直列回路 : 順番に処理を刷る
■ 並列回路 : 同時進行
なので、プログラミング言語だと
■ 直列回路 : 逐次処理
■ 並列回路 : プロセスを使った処理
のような違いがあります。レッドストーン信号の場合も距離による遅延は生じますが1ブロック開けて分岐させることで、1つの信号から複数の装置への信号の伝達を行うことができます。
回路を作る際には処理の順番を考えることになりますがJ並列回路の場合、遅延を入れて処理の実行が出来るので、統合版だと
のようなものや
のようなトロッコの停車と射出を行う装置を作ることができます。並列回路は併設と同じなので、
のようになりますが、これは回収装置と同じなので、降雨した装置はモジュールの開発後にへいせつすることでくみたてることになります。
その時に回路のパフォーマンスを確認する必要があるので、
のように考案したモジュールのパフォーマンスの比較検証をすることになります。
直列回路の場合だと音ブロックを使った音楽が該当しますが、
のような単一パートの音楽だと直列回路になります。これに学期のパートが増えたり、音の効果を追加すると分岐が発生しますから並列回路になります。
この装置ではタイミングを使って音を鳴らしていますが、これを花火に置きかえると打ち上げる順番を自動で制御することができます。
基本的となる回路は直列なので、どの順番で物が動くのかを考えることになりますが、それが単独動作なのか同時進行で動くのかで回路の作りが変わってきます。
また、その際に遅延を入れると同時進行の処理の順番を変化させることが出来るので直列回路では対応できない特殊な挙動を実装することができます。
ここまでが義務教育の直列と並列に 【 遅延 】 の概念を加えたものになりますが、この処理では
一つの入力で単一や複数の処理が生じる
と言う構造なので、 【 内部処理による判定 】 が存在しません。この概念ですが、教育制度改革前までだと高校の数学Iで集合と論理を扱っていたので高校一年生にあんると必然的に命題や集合やブール代数を学習するようになっていましたが、現在は、数ベクトルの基本となる行列と幾何ベクトルなどと一緒に数学Cで学習することになっています。
判定を実装する場合には、
■ 一致・不一致
■ 大・小
などを扱いますが、プログラミング言語だと
■ ==と!=
■ >と<
で判定を行います。これは以外と言う条件を除けば等式・不等式での判定になりますし、不等式で使用する不等号については小学校の算数で学習するので、一致のみが結果が確定しており、不一致や不等号での指定は範囲で示すことが出来るものになっています。
この条件を条件Aと条件Bで考えた場合、
■ A==B
■ A!=B
■ A>B
■ A<B
になりますから、一つの判定を扱う際の方法になります。ちなみに、これらは比較演算子になりますが、小学校でも登場した以上と以下は、以外のように左側の=の部分が変化するので、
■ 以上 : A>=B
■ 以下 : A<=B
のようになります。この条件だと、一つの判定になりますが、ゲームのフラグのように複数の判定が必要になる場合がありますが、こうした
【 複数の結果を組み合わせたもので判定を行う 】
時に論理演算を使用します。プログラミング言語では、論理演算子になりますが、これが集合と論理で出てくる判定になります。この構造も実際には直列回路と並列回路の構造なので、中学校2年制の物理のオームの法則で登場する閉回路の構造を
閉回路に電池と豆電球を配置して抵抗の部分に
スイッチを配置したもの
に置き換えると、小学校の理科で登場した直流と交流のカリキュラムの中の
■ 2つの電池の有無の状態
■ 豆電球の点灯の有無
の関係性と全く同じ状態になりますから、前述の回路の心理値表を見ると
■ 直列回路 : 論理積(AND)
■ 並列回路 : 論理和(OR)
と同じものになります。これらは、Scratchのブロックの
■ かつ : 論理積(AND)
■ または : 論理和(OR)
になりますが、この判定の入力と出力を反転させると異なる結果を作ることができます。この時に至要するのが
■ 論理否定 : NOT
になります。マインクラフトでは、
■ 論理和 : 他入力1出力の構造
■ 論理否定 : レッドストーントーチ
になりますから、ブロックにレッドストーントーチを差した構造と論理和の構造を組み合わせるだけで論理ゲートを作ることが出来る仕様になっています。
その為、
■ 結果1 : 成立
■ 結果2 : 成立
と言う条件でなければ無理な場合だと直列回路と同じなので論理積で判定を刷ることになり、いずれかの信号が出ていれば大丈夫と言う条件であれば論理和を使うことになります。
こうした判定を組み合わせると複雑な物を作れますが、この判定で至要するのがレッドストーン信号になります。
マインクラフトでは信号強度を使えますが、それとは別にアイテム仕分け機のように 【 アイテムの判定 】 が出来るものもあります。この仕様が存在するので、ドロッパーの乱数を使ってアイテムを射出して、そのアイテムの格納で信号を送って結果を取得することで1〜9までの乱数を取得することが出来るようになています。ということは
■ 二値の判定
■ 1〜9の判定
を用意して、最初に0かそれ以外の判定を行い、
1 ∧ 1〜9
と言う判定を行うことで数値を取得することができます。
このように判定を考える際には論理演算やブール代数が生じますが、符号号の以上や以下も
■ 以下 : = ∪ <
■ 以下 : = ∪ >
のような構造になっています。こうした判定を実装するバイアに論理ゲートを使用しますが、先程のパスワードの指定の装置も
値以上 ∧ 値+1未満
と言う判定で動かしています。これを使用すると、
のような物を作ることもできます。
これが論理ゲートを使った判定になりますが、複数の条件から判定を行うことになりますが、こうした方法で回路を作ることで日論理で判定を此方装置を作ることができます。
クリエイティブモード
マイクラではワールド生成時に
■ サバイバルモード
■ クリエイティブモード
の選択ができますが、回路のテストやサバイバルで作ると聖地が大変そうなものだとクリエイティブで作ることになります。
サバイバルモードではレッドストーン回路で動くものを作ることができますが、クリエイティブモードでは、コマンドブロックを至要することが出来るので 【 ゲームシステムの実装 】 を行うことができます。
マイクラでは機能を実装したコマンドが用意されているので、ゲーム内で用意されたコマンドを使用することで様々な機能を追加することができますが、このコマンドをコマンドブロックに格納することで自動処理を行うことが出来るようになります。
コマンドはチャット欄から打ち込むことができますが、サバイバルモードではチートコマンドはオフになっているのでコマンドを使うことはできません。
チャット欄にはアイコンがありますが一番左のアイコンをクリックすると、
のように回路のテストなどで使用しそうな機能が格納されています。
コマンドは、
のように 【 / 】 を入力すると入力できますが、入力後には候補が表示されます。
/だけでも関連するコマンドが表示され、どのように動くのかが表示されます。
また、頭文字を入れるとコードエディタのように候補の絞り込みが出来るので、
と入力すると
のようにgで始まるコマンドのみが表示されます。また、コマンドは、
のような項目が並んでおり、
■ 処理(コマンド)
■ 対象(セレクター)
■ 追加機能(プロパティ)
と言う構成になっています。例えば、giveコマンドを打ち込むと
とユーザー名で対象を選択できますが、
のようにアイテム名を選択することになります。これは、何を得るのか?の選択になるので、giveコマンドでは、
■ コマンド
■ 受け取る対象
■ 対象となるアイテム
を指定することになります。セレクター引数を指定するとアイテムが表示されますが、今回はコマンドブロクを得るので
のようにするとコマンドブロックのみが選出されます。
の中の一番上のコマンドブロックが追加されるので、
をクリックして確定します。すると、インベントリにコマンドブロックが追加されます。
コマンドはチャット欄で学習すると記述方法も含めて理解を深めることができますが、使ってみてかからない部分をネットで調べると、個別のコマンドの基本的な使い方を覚えることができます。
コマンドブロック
コマンドブロックが追加されると
のようになりますが、移動を行うtpコマンドなどを使う際には座標が必要になります。コマンドでは位置情報を使うものが多いので、座標は見えていたほうが便利です。これはオプションだけでなくコマンドでも表示・非表示ができるので作る際には表示にしておいて、プレイ中には非表示にすることもできます。
コマンドブロックは配置して至要することになるので、
のように設置した後に作業台のように右クリックでメニューを出すことができます。メニューは
のようになっており、の部分にコマンドを書くことになります。
下にはセレクター引数が書かれていますが、アイコンをクリックすると
のように指定するコマンドの部分を拡大してコマンド全体を表示して編集することができます。
左のペインの上部には、コマンドブロックの種類の指定が出来るようになっており、
で選択すると
から選択できます。コマンドは、
のように条件の有無で実行を指定できるようになっており、レッドストーン信号の使用の有無の指定もできます。
この他にも実行のタイミングや実行時の遅延もコマンドブロックだけで実装できるようになっています。
コマンドブロクには
のように矢印の向きがあるので、
のように繋ますが、五角形の頂点の方向に処理が進行する仕組みになっています。
そして、
■ インパルス : 一度だけ
■ リピート : 繰り替えず
が出発点になり、チェーンで処理を繋いでいくことになります。
この構造はマイコンのスケッチを書く時の
■ set()
■ loop()
に似ていますが、考え方としてはこれと同じ構造が包含する形ではなく、直列回路のように直結された状態でつながっていく構造になっています。
また、レッドストーン信号で動く設定にすると、
のようにボタンで動作する仕組みにもできますが、コマンドには条件分岐や変数の利用や演算処理などもあるので、コマンドブロックだけで内部処理を実装することが出来ることができます。
クリエイティブモードではコマンドブロックを使うことでシステムを構築できるので、様々な仕掛けやシステムを作ることが出来るようになっています。また、この機能はレッドストーン回路では対応できない 【 空間の検知 】 なども用意されているので、様々なことが行えるようになっています。