Minecraft【ミニゲーム】 スロットマシンv1.1。

Java版1.19.4、統合版はv1.19.83で動作確認。
「Coin」でデジタルリールを回して絵柄を揃える!スコアボードを使ったスロットマシンを作成。
スロットマシンv1.1。
スコアボードで作る通貨「Coin」で遊べる、3リール1ラインのスロットマシンです。「Coin」を消費して絵柄を回転し、ボーナスを狙ってボタンで停止。絵柄が揃うと「Coin」が増えるミニゲームです。 スロットマシンv1.1では、絵柄やリール配列の数を減らし、回路をシンプルにしました。
演出部分を無くせば、さらに簡単に作ることが出来ます。スコアボード「Coin」、「当たり判定回路」の全てを使わない。「プレイエリア」景品スイッチの①〜⑧、開始レバーと停止ボタンの①③のコマンドを無くしても動作します。
◻︎装置の特徴
・tick(ティック)を使ったループ式抽選装置。
・execute if blocksを使った判定回路。
完成動画(旧式)
1.作成準備
・フラットワールド。
・チャットコマンド。
2.コマンドブロックの設置
3.装置全体図
・アイテムショップの装置全体図。
4.デジタルリール
・ディスプレイ。・スコアボードの作成。・ループコマンド。
5.スロット装置
・リール配列。・クローン元座標の確認。・左リール出力。・中リール出力。・右リール出力。
6.当たり判定回路
・リプレイとチェリー。・BIGとBAR。
7.プレイエリア
・景品スイッチ。・開始レバーと停止ボタン。・仕上げ。
8.操作方法
9.ワールドデータとスキン
・完成データのダウンロード。・スロットマシンv1.1スキン
更新履歴
2023-2-4/新設計!回路を簡単にして、統合版の新コマンドにも対応しました。
作成準備
フラットワールド。
マインクラフトのバージョンも上がり、フラットワールドの作成が簡単になりました。 詳しくは、下記の関連記事を参考に作成してください。
- フラットワールドの作り方はこちら→ 新規フラットワールド作成。
チャットコマンド。
チャットに大量のコマンドログが流れ、装置作成の邪魔になるのでログを非表示にしておきます。 ※Java版では、新規ワールド作成時にも非表示に出来ます。
◻︎コマンドログの非表示 ※表示する場合 「false」を「true」に変更。
/gamerule commandBlockOutput false |
装置作成に必要なコマンドブロックを手に入れます。
◻︎コマンドブロックの入手
/give @s command_block |
コマンドブロックの設置
Java版と統合版では、コマンドやブロックの名称など違いがあります。
装置の解説はJava版の名称で統一しています。
コマンドブロックは画像に合わせて配置。「ブロックの種類」「レッドストーン」を変更します。変更がある場合は、個別に解説していきます。
配置したコマンドブロックの状態/すべて無条件
※()内は統合版の名称。
コマンドブロックの色 | ブロックの種類 | レッドストーン |
黄色 | インパルス (衝撃) |
動力が必要 (レッドストーンが必要) |
青色 | チェーン | 常時実行 (常にアクティブ) |
紫色 | リピート (反復) |
常時実行 (常にアクティブ) |
装置全体図
スロットマシンv1.1の装置全体図。
フラットワールドを作成したら、座標(0 -60 0)へ移動して開花したツツジの葉を設置。装置は開始点座標(0 -60 0)を基準に、南が正面がになるよう設置にしています。座標を合わせてブロックを設置していくと、コマンドはコピー&ペーストで作れます。
開始点は座標(0 -60 0)。防具立ての座標「L」(5 -60 7)、「C」(9 -60 7)、「R」(12 -60 7)。 ※プレイエリアとスロット装置は重なっています。
❶プレイエリア ❷スロット装置 ❸当たり判定回路
◻︎南向きを確認するには
ストラクチャーブロックを設置して、境界線の青い線が伸びる方が南。※赤い線は東。
/give @s structure_block
防具立ての設置。
チャットコマンドを使って、名前を付けた防具立てを3つ設置します。左リール「L」、中リール「C」、右リール「R」。
【Java版】
/summon armor_stand 5 -60 7 {CustomName:"\"L\""} /summon armor_stand 9 -60 7 {CustomName:"\"C\""} /summon armor_stand 12 -60 7 {CustomName:"\"R\""} |
【統合版】
/summon armor_stand L 5 -60 7 /summon armor_stand C 9 -60 7 /summon armor_stand R 12 -60 7 |
デジタルリール
ディスプレイ。
ディスプレイを3つ作ります。
「あ」は座標(2 -57 12)、「A」は座標(6 -57 9)、「B」は座標(8 -55 9)、「C」は座標(2 -57 11)、「D」は座標(6 -57 11)、「E」は座標(10 -57 11)。※カラーコンクリートは目安。
ボーナス画像を参考に3×3ブロックの絵柄を作り、番号順にレッドストーンブロックを設置。 ①BIG(7)、②BAR(クリーパーの顔)、③Apple(リンゴ)、④Cherry(チェリー)、⑤Replay(リプレイ)、⑥Note(音符)。
「あ」の座標から3×3ブロックのレッドストーンランプを設置。1ブロック間を空けて中リール、右リールも作ります。①〜⑥のレッドストーンブロックをクローンして、各種ランプを光らせます。
①の絵柄「A」から「B」の範囲座標を確認(クローン元)。左リールは「C」、中リールは「D」、右リールは「E」の座標を確認(クローン先)。
スコアボードの作成。
2種類のスコアボードを作成。「reel」は、防具立てに数字持たせループします。「Coin」はスコアボード通貨として使用。装置が完成するまで「reel」をサイドバーに表示しておきます。※確認用
【Java版/統合版 共通】
/scoreboard objectives add reel dummy /scoreboard objectives add Coin dummy /scoreboard objectives setdisplay sidebar reel |
◻︎削除する場合。
/scoreboard objectives remove reel
/scoreboard objectives remove Coin
ループコマンド。
tick(ティック)を使ったループ式抽選装置を3つ作ります。※ディスプレイは非表示にしてあります。
「い」は座標(5 -60 12)、「う」は座標(7 -60 12)、「え」は座標(9 -60 12)。「お」は範囲座標(5 -60 14)、(9 -60 14)。①④⑧は動力が必要(レッドストーンが必要)に変更。①〜⑨のコマンドブロックは地面下に設置。
【Java版/統合版 共通】
①scoreboard players add @e[name=L] reel 1 ②scoreboard players set @e[name=L,scores={reel=6..}] reel 1 ③setblock 5 -60 15 air ④scoreboard players add @e[name=C] reel 1 ⑤scoreboard players set @e[name=C,scores={reel=6..}] reel 1 ⑥setblock 7 -60 15 air ⑦scoreboard players add @e[name=R] reel 1 ⑧scoreboard players set @e[name=R,scores={reel=6..}] reel 1 ⑨setblock 9 -60 15 air |
防具立て「L、C、R」に「reel」を追加し、1〜5の数字をループします。「reel」が6以上になったら1に戻します。②⑤⑦はコマンド入力後、カラーコンクリート向きにレッドストーンコンパレーターを設置。③⑥⑨は1ブロック上の座標を入力。信号がある時、空気ブロックに置き換えます。
スロット装置
リール配列。
4つのボーナスと2つのはずれ絵柄組み合わせ、デジタルリールを作成。絵柄は合計で6つありますが、コマンドに合わせて5つの絵柄をループします。※ボーナス以外の絵柄が揃わないように注意。
◻︎デジタルリール、ボーナス画像を参考。
【BIG】数字の7を3つ揃えたらビッグ当たり。
【BAR】数字の7が2つと右リールがクリーパーの顔でレギュラー当たり。
【Cherry】チェリーは1個出れば小当たり。
【Replay】Rが1個出れば、Coinを使わず絵柄が回転。
【Apple/Note】はずれ絵柄。
クローン元座標の確認。
リール配列表に合わせて、レッドストーンブロックをランプの後ろにクローンします。クローン元の座標を確認しておきます。
◻︎デジタルリール、ディスプレイ画像を参考。
クローン元のレッドストーンブロックは「A」から「B」の範囲座標が分かれば、Z座標を1減らすだけ作れます。 「~ ~ ~」には、クローン先の座標をリールに合わせて入力します。
【Java版/統合版 共通】クローン元の座標。
①clone 6 -57 9 8 -55 9 ~ ~ ~ ②clone 6 -57 8 8 -55 8 ~ ~ ~ ③clone 6 -57 7 8 -55 7 ~ ~ ~ ④clone 6 -57 6 8 -55 6 ~ ~ ~ ⑤clone 6 -57 5 8 -55 5 ~ ~ ~ ⑥clone 6 -57 4 8 -55 4 ~ ~ ~ |
①BIG(7)②BAR ③Apple ④Cherry ⑤Replay ⑥Note
左リール出力。
カラーコンクリートに信号がある時、ホッパークロックで信号を遅らせ、デジタルリールに絵柄を出力。信号がオフになった時、絵柄がズレないように①にもう一度信号を送ります。※ディスプレイは非表示にしてあります。
「い」は座標(5 -60 12)。①は動力が必要(レッドストーンが必要)に変更。ホッパーにはアイテムを1個入れておきます。矢印はホッパーの向き。
【Java版/統合版 共通】左リール。
①execute if entity @e[name=L,scores={reel=1..1}] run clone 6 -57 8 8 -55 8 2 -57 11 ②execute if entity @e[name=L,scores={reel=2..2}] run clone 6 -57 5 8 -55 5 2 -57 11 ③execute if entity @e[name=L,scores={reel=3..3}] run clone 6 -57 9 8 -55 9 2 -57 11 ④execute if entity @e[name=L,scores={reel=4..4}] run clone 6 -57 8 8 -55 8 2 -57 11 ⑤execute if entity @e[name=L,scores={reel=5..5}] run clone 6 -57 4 8 -55 4 2 -57 11 |
①BAR ②Replay ③BIG(7)④BAR ⑤Note
防具立て「L」の「reel」の数字(1〜5)に合わせて、クローンコマンドを実行。※クローン元の座標はリール配列表に合わせて変わります。
中リール出力。
「う」は座標(7 -60 12)。①は動力が必要(レッドストーンが必要)に変更。ホッパーにはアイテムを1個入れておきます。矢印はホッパーの向き。
【Java版/統合版 共通】中リール。
①execute if entity @e[name=C,scores={reel=1..1}] run clone 6 -57 4 8 -55 4 6 -57 11 ②execute if entity @e[name=C,scores={reel=2..2}] run clone 6 -57 9 8 -55 9 6 -57 11 ③execute if entity @e[name=C,scores={reel=3..3}] run clone 6 -57 7 8 -55 7 6 -57 11 ④execute if entity @e[name=C,scores={reel=4..4}] run clone 6 -57 6 8 -55 6 6 -57 11 ⑤execute if entity @e[name=C,scores={reel=5..5}] run clone 6 -57 9 8 -55 9 6 -57 11 |
①Note ②BIG(7)③Apple ④Cherry ⑤BIG(7)
防具立て「C」の「reel」の数字(1〜5)に合わせて、クローンコマンドを実行。※クローン元の座標はリール配列表に合わせて変わります。
右リール出力。
「え」は座標(9 -60 12)。①は動力が必要(レッドストーンが必要)に変更。ホッパーにはアイテムを1個入れておきます。矢印はホッパーの向き。
【Java版/統合版 共通】右リール。
①execute if entity @e[name=R,scores={reel=1..1}] run clone 6 -57 7 8 -55 7 10 -57 11 ②execute if entity @e[name=R,scores={reel=2..2}] run clone 6 -57 8 8 -55 8 10 -57 11 ③execute if entity @e[name=R,scores={reel=3..3}] run clone 6 -57 5 8 -55 5 10 -57 11 ④execute if entity @e[name=R,scores={reel=4..4}] run clone 6 -57 9 8 -55 9 10 -57 11 ⑤execute if entity @e[name=R,scores={reel=5..5}] run clone 6 -57 7 8 -55 7 10 -57 11 |
①Apple ②BAR ③Replay ④BIG(7)⑤Apple
防具立て「R」の「reel」の数字(1〜5)に合わせて、クローンコマンドを実行。※クローン元の座標はリール配列表に合わせて変わります。
当たり判定回路
リプレイとチェリー。
レッドストーンブロックが置かれた時、コマンドを実行します。
「F」は座標(1 -60 5)。「G」は座標(13 -60 5)。「か」は範囲座標(1 -60 5)、(13 -60 5)。「G」横のレッドストーンリピーター(反復装置)は3回クリック。
【Java版】
①playsound entity.dolphin.play player @a 7 -59 16 ②scoreboard players add @p Coin 10 ③fill 5 -60 14 9 -60 14 air ④fill 1 -60 5 13 -60 5 air ⑤fill 5 -60 14 9 -60 14 redstone_block |
【統合版】②③④⑤はJava版と同じ。
①playsound mob.dolphin.play @a 7 -59 16 |
【チェリー】
①プレイエリアで、イルカの鳴き声を再生。
②プレイヤーに「Coin」を10追加。
【リプレイ】◻︎デジタルリール、ループコマンド画像を参照。
③「お」の範囲座標に空気ブロックを設置。
④「か」の範囲座標に空気ブロックを設置。
⑤「お」の範囲座標にレッドストーンブロックを設置。
BIGとBAR。
execute if blocksを使って、AND回路のような装置を作ります。「H、I、J、K、L」に置いてあるレッドストーンブロックと「右、中、左、匠」に置かれたレッドストーンブロックを比較して、同じだったら信号を出します。※「K、L」は共有。
「左」は座標(3 -60 5)、「中」は座標(4 -60 5)、「右」は座標(5 -60 5)、「匠」は座標(7 -60 5)。「H、I、J、K、L」の範囲座標は省略。※下記コマンドに記入あり。
【Java版】
①execute if blocks 9 -60 0 11 -60 0 3 -60 5 all ②execute if blocks 9 -60 1 11 -60 1 3 -60 5 all ③execute if blocks 9 -60 2 11 -60 2 3 -60 5 all ④title @a title {"text":"リーチ!","bold":true} ⑤execute if blocks 9 -60 3 11 -60 3 3 -60 5 all ⑥playsound entity.firework_rocket.twinkle player @a 7 -59 16 ⑦scoreboard players add @p Coin 30 ⑧execute if blocks 9 -60 0 13 -60 0 3 -60 5 all ⑨playsound entity.cat.ambient player @a 7 -59 16 ⑩scoreboard players add @p Coin 20 |
【統合版】①②③⑤⑦⑧はJava版と同じ。
④title @a title リーチ! ⑥playsound firework.twinkle @a 7 -59 16 ⑨playsound mob.cat.meow @a 7 -59 16 |
【リーチ】
①「K」の範囲座標と比較先「左」〜のブロックが同じなら信号を出す。
②「J」の範囲座標と比較先「左」〜のブロックが同じなら信号を出す。
③「I」の範囲座標と比較先「左」〜のブロックが同じなら信号を出す。
④タイトルに「リーチ!」と表示。
【BIG】
⑤「H」の範囲座標と比較先「左」〜のブロックが同じなら信号を出す。
⑥プレイエリアで、花火の音を再生。
⑦プレイヤーに「Coin」を30追加。
【BAR】
⑤「L」の範囲座標と比較先「左」〜のブロックが同じなら信号を出す。
⑥プレイエリアで、猫の鳴き声を再生。
⑦プレイヤーに「Coin」を20追加。
プレイエリア
景品スイッチ。
防具立て「L、C、R」の「reel」が当たりのスコアになった時、当たり判定回路にレッドストーンブロックを置きます。ループコマンド装置にコマンドブロックを追加します。
①〜⑧のコマンドブロックは地面下。①③⑥には矢印の方向に粘着(吸着)ピストンを設置。「き、く」には音符ブロックを設置。「く」の音符ブロックは3回クリック。
【Java版/統合版 共通】
①execute if entity @e[name=L,scores={reel=2..2}] run setblock 13 -60 5 redstone_block ②execute if entity @e[name=L,scores={reel=3..3}] run setblock 3 -60 5 redstone_block ③execute if entity @e[name=C,scores={reel=2..2}] run setblock 4 -60 5 redstone_block ④execute if entity @e[name=C,scores={reel=4..4}] run setblock 1 -60 5 redstone_block ⑤execute if entity @e[name=C,scores={reel=5..5}] run setblock 4 -60 5 redstone_block ⑥execute if entity @e[name=R,scores={reel=2..2}] run setblock 7 -60 5 redstone_block ⑦execute if entity @e[name=R,scores={reel=3..3}] run setblock 13 -60 5 redstone_block ⑧execute if entity @e[name=R,scores={reel=4..4}] run setblock 5 -60 5 redstone_block |
◻︎スロット装置のリール配列表、当たり判定回路のリプレイとチェリー、BIGとBAR画像を参考。
【左リール】
①防具立て「L」の「reel」が2の時、「G」にレッドストーンブロックを設置。
②防具立て「L」の「reel」が3の時、「左」にレッドストーンブロックを設置。
【中リール】
③防具立て「C」の「reel」が2の時、「中」にレッドストーンブロックを設置。
④防具立て「C」の「reel」が4の時、「F」にレッドストーンブロックを設置。
⑤防具立て「C」の「reel」が5の時、「中」にレッドストーンブロックを設置。
【右リール】
⑥防具立て「R」の「reel」が2の時、「匠」にレッドストーンブロックを設置。
⑦防具立て「R」の「reel」が3の時、「G」にレッドストーンブロックを設置。
⑧防具立て「R」の「reel」が4の時、「右」にレッドストーンブロックを設置。
開始レバーと停止ボタン。
「Coin」を消費して、デジタルリールを回転するレバーと、ボタンで止めるスイッチを作ります。
①の上に金ブロックとレバーを設置。②は条件付きに変更。粘着(吸着)ピストンの上に銅ブロックとボタンを設置。
【Java版/統合版 共通】
①execute if entity @p[scores={Coin=5..}] run scoreboard players remove @p Coin 5 ②fill 5 -60 14 9 -60 14 redstone_block ③fill 1 -60 5 13 -60 5 air |
◻︎当たり判定回路、リプレイとチェリー画像を参考。
①プレイヤーの「Coin」が5以上の時、「Coin」を5引く。
②①が実行された時「お」の範囲座標にレッドストーンブロックを設置。
③「か」の範囲座標に空気ブロックを設置。
仕上げ。
デジタルリールをブロックで囲い、スロットマシンを仕上げます。
操作方法
「Coin」が5以上ある時、レバーを下げるとデジタルリールが回転。銅ブロックに付いたボタンでリールを止め絵柄を揃えます。※「Coin」が5以下の時、ルーレットは動きません。
【Java版/統合版 共通】サイドバー表示と「Coin」の入手コマンド。
/scoreboard objectives setdisplay sidebar Coin /scoreboard players add @p Coin 30 |
ワールドデータとスキン
完成データのダウンロード。
完成データでは、座標(0 -60 9)にリセットボタンを設置してあります。また座標(14 -69 16)には「Coin」の追加ボタンを設置。スコアボードも作成されます。
【統合版】 v1.19.83 アプリで開くから、Minecraftを選びます。
ダウンロード/スロットマシンv1.1.mcworld
【Java版】 1.19.4 zipを解凍して、フォルダを「saves」に入れて起動します。
ダウンロード/スロットマシンv1.1.zip
※二次配布は禁止です。
スロットマシンv1.1スキン。
スティーブタイプ 64×64px Skin
ダウンロード/
slot_s0ch