この記事ではマインクラフトとコードコネクションを用いて、プログラミングによってアスレチックのクリアタイムを計測する方法を紹介します。マインクラフトでプログラミングができるようになる環境構築については過去記事を参考にしてください。
コードコネクションを開き、新しいプロジェクトを作ります。適当に名前を付けましょう。私はathletic
という名前にしました。
コードと実行例
コードと実行例は以下のようになります。
start
コマンドを入力するとプレイヤーをアスレチックのスタート位置までテレポートさせ、サバイバルモードにします。さらに、クリア条件をささやきで表示させ、ゲーム時間を記録しておきます。
check
コマンドを入力すると、クリア条件を満たしていない場合には、「クリア条件を満たしていません。」と表示し、クリア条件を満たしている場合には「おめでとう!クリアタイムは...」と表示したのちにクリアタイムの数値を表示します。加えて、クリエイティブモードに戻しています。
アスレチックを作る
まずアスレチックを作りましょう。私は以下のように単純なアスレチックを作りました。緑のカーペットがスタート地点で、ジャンプして落ちないように黄色いカーペットを目指します。
時間を確認するコマンドのモード
時間を確認するコマンドには以下4つのモードがあります。
- ゲーム時間
- 日中 (daytime)
- 日中 (day)
- 実際の時刻
一つ目ゲーム時間です。ゲームの世界が作られてからの総時間を表します。今回のように時間計測をするならこれでしょう。
二つ目と三つ目が両方日中となっていますが、二つ目が昼夜サイクルの時間です。一日(24時間)を12000としたときの現在時刻の値です。
三つめは経過日数です。
四つ目は実際の時刻(現実世界の時刻)を二つ目の昼夜サイクル時刻に換算したものが表示されます。分単位で更新されます。これを使うと、ゲーム内の時間と現在の時間をシンクロさせることができます。
アレンジ
タイトル、サブタイトル表示を使うことでアレンジすることができます。
タイトル表示の部分には文字列しか入力することができず、clear_time
のような数値を入れることができません。そういう時は文字列をつなげる
というコマンドブロックを使うと表示することができます。文字列をつなげたくない場合は、片方を空にして置きましょう。