こんにちは
今日はScratchで箱庭ゲームを作ってみましょう。
箱庭ゲームとはSimCityのような世界を見守るゲームのこと。
どんな世界にするのかはあなた次第です。
今回はこちらのゲームを参考にします。
Pixel Town Remaster

見た目はこちらのようにナナメでもいいですし
Pixel Village

こんな感じで横向きでもいいですね。
デザインはお好みで考えてみて下さい。
それでは Pixel Town Remasterのほうを「中を見る」で
スクリプトなどを確認していきましょう。
クローンを使ってもいいし、必要な分だけあらかじめコピーしておいてもOK!
今回のゲームはコピー方式で作っていますね。

中身はすべて同じですので
ひとつ作ったらスプライトを「右クリック→複製」でふやしていきましょう。
スプライトのコスチュームはこのようになっています。

empty(カラの土地)・shop(お店)・food(食べ物屋さん)・・・
のようにコスチュームでいろいろな建物を用意しています。
土地のスプライトのほかに、
お店で買えるたてもの一覧用のスプライトも用意しましょう。

こちらはコスチュームではなく
スプライトでひとつひとつ用意しています。
あとは、街の人、お金アイコンや人数アイコンなどがありますね。
あなたが作るゲームに必要なパーツを準備しましょう。
おおむねこのような流れでスクリプトが進んでいきます。

ではまず、土地がクリックされた部分から見ていきましょう。
spot1のスクリプトがクリックされたとき

「building_on」はどの土地に建てるかを確認するための変数です。
いろんなスクリプトを行ったり来たりするので
今どの土地が建設中かを判断するのにつかっています。
コスチューム1(空いている土地)ならbuildメッセージを送ります。
ほかのコスチュームの場合は、すでに建物がある状態ですので
とりこわし作業をします。
建物の数の変数(shopやfood変数)をマイナスして
その建物にかかったお金を返します。
そしてコスチュームをemptyにして、空いている土地に戻します。
buildメッセージが送られたら
・背景が「build」のコスチュームになります
・背景がbuildのとき、shopアイコンが表示されます
お店アイコンのスクリプトがこちらです。(shopアイコン)

クリックされたときに手持ちのお金をチェックします。
shopなら500円・foodなら1000円というように、好きな金額を設定しましょう。
持ち金があれば、持ち金を減らし、スコアを変えます。
building?変数には、建設中の土地が、 どの建物をたてるかをわかるようにしています。
これはshopアイコンのスクリプトなので、「shop」を入れます。
(ほかの建物アイコンのときは、その建物の名前を入れます)
そして「buildingメッセージ」をおくります。
また「土地のスプライト」に戻りましょう。(spot1)

building(建設中)を受け取ったら「building on:」の変数を確認して
自分の土地が建設中がどうか?をチェックします。
(今はspot1なので、1以外の数字がはいっていたら建設しません)
そしてさきほどお店アイコンクリックで変更された
「building?(何を建てる?)」の中身をチェックします。
shopならコスチュームをshopにする
foodならfoodに・・・というように、変数の中身に応じてコスチュームを変更します。
同時に建物の数をチェックする変数も+1します。
これで、空いた土地に建物をたてられるようになりました!
もうこれだけで、箱庭の要素はバッチリですね。
さきほどshop変数やfood変数に、建物の数をいれていましたね。
この建物の数に応じて、お金がふえていくようにします。

お金がふえるロジックはどこに書いてもいいですが
今回はこのスプライトに入っているようです。

最初は手持ちのお金900からスタートで
建物変数も初期化(ぜんぶ0にする)します。
そのあと、1秒ごとにお金をふやしていきます。
建物によって、もらえるお金がかわります。
shopは1秒間に5円、foodは1秒間に12円・・・ というように
もらえるお金は自由に設定しましょう。
ブロックがかなり長いですが
演算ブロックを組み合わせることで、長い計算もできます。

まずshops×5を作って・・・

つぎに(○+○)の中に、shops×5をつかんで入れます。
右側の○にfood×12のブロックを入れます。

このように、組み合わせたブロックをいくらでも入れることができます。

横に長くなるのがイヤだったら
これでもOK!

スプライトが多いので、ややこしく感じるかもしれませんが
スクリプト自体はカンタンなので、ぜひ色んな箱庭を作って楽しんでください。
街を歩いている人を追加したり、建物の金額が出るようにしたり
あなたのオリジナル箱庭を演出してみて下さいね。
この記事がよかった!という方は「B!」ボタンや
今日はScratchで箱庭ゲームを作ってみましょう。
箱庭ゲームとはSimCityのような世界を見守るゲームのこと。
どんな世界にするのかはあなた次第です。
今回はこちらのゲームを参考にします。
Pixel Town Remaster

見た目はこちらのようにナナメでもいいですし
Pixel Village

こんな感じで横向きでもいいですね。
デザインはお好みで考えてみて下さい。
それでは Pixel Town Remasterのほうを「中を見る」で
スクリプトなどを確認していきましょう。
スプライトを用意しよう
まずは、たてものを建てるためのスプライトを用意しましょう。クローンを使ってもいいし、必要な分だけあらかじめコピーしておいてもOK!
今回のゲームはコピー方式で作っていますね。

中身はすべて同じですので
ひとつ作ったらスプライトを「右クリック→複製」でふやしていきましょう。
スプライトのコスチュームはこのようになっています。

empty(カラの土地)・shop(お店)・food(食べ物屋さん)・・・
のようにコスチュームでいろいろな建物を用意しています。
土地のスプライトのほかに、
お店で買えるたてもの一覧用のスプライトも用意しましょう。

こちらはコスチュームではなく
スプライトでひとつひとつ用意しています。
あとは、街の人、お金アイコンや人数アイコンなどがありますね。
あなたが作るゲームに必要なパーツを準備しましょう。
メッセージでシーン切り替え
色々なメッセージがでていて、スクリプトをまたぐことが多いのですがおおむねこのような流れでスクリプトが進んでいきます。

ではまず、土地がクリックされた部分から見ていきましょう。
spot1のスクリプトがクリックされたとき

「building_on」はどの土地に建てるかを確認するための変数です。
いろんなスクリプトを行ったり来たりするので
今どの土地が建設中かを判断するのにつかっています。
コスチューム1(空いている土地)ならbuildメッセージを送ります。
ほかのコスチュームの場合は、すでに建物がある状態ですので
とりこわし作業をします。
建物の数の変数(shopやfood変数)をマイナスして
その建物にかかったお金を返します。
そしてコスチュームをemptyにして、空いている土地に戻します。
buildメッセージが送られたら
・背景が「build」のコスチュームになります
・背景がbuildのとき、shopアイコンが表示されます
お店アイコンのスクリプトがこちらです。(shopアイコン)

クリックされたときに手持ちのお金をチェックします。
shopなら500円・foodなら1000円というように、好きな金額を設定しましょう。
持ち金があれば、持ち金を減らし、スコアを変えます。
building?変数には、建設中の土地が、 どの建物をたてるかをわかるようにしています。
これはshopアイコンのスクリプトなので、「shop」を入れます。
(ほかの建物アイコンのときは、その建物の名前を入れます)
そして「buildingメッセージ」をおくります。
また「土地のスプライト」に戻りましょう。(spot1)

building(建設中)を受け取ったら「building on:」の変数を確認して
自分の土地が建設中がどうか?をチェックします。
(今はspot1なので、1以外の数字がはいっていたら建設しません)
そしてさきほどお店アイコンクリックで変更された
「building?(何を建てる?)」の中身をチェックします。
shopならコスチュームをshopにする
foodならfoodに・・・というように、変数の中身に応じてコスチュームを変更します。
同時に建物の数をチェックする変数も+1します。
これで、空いた土地に建物をたてられるようになりました!
もうこれだけで、箱庭の要素はバッチリですね。
お金をふやすロジック
せっかくなのでお金も増えるようにしてお買い物感を出しましょう。さきほどshop変数やfood変数に、建物の数をいれていましたね。
この建物の数に応じて、お金がふえていくようにします。

お金がふえるロジックはどこに書いてもいいですが
今回はこのスプライトに入っているようです。

最初は手持ちのお金900からスタートで
建物変数も初期化(ぜんぶ0にする)します。
そのあと、1秒ごとにお金をふやしていきます。
建物によって、もらえるお金がかわります。
shopは1秒間に5円、foodは1秒間に12円・・・ というように
もらえるお金は自由に設定しましょう。
ブロックがかなり長いですが
演算ブロックを組み合わせることで、長い計算もできます。

まずshops×5を作って・・・

つぎに(○+○)の中に、shops×5をつかんで入れます。
右側の○にfood×12のブロックを入れます。

このように、組み合わせたブロックをいくらでも入れることができます。

横に長くなるのがイヤだったら
これでもOK!

さいごに
箱庭ベース部分はこれで完成です。スプライトが多いので、ややこしく感じるかもしれませんが
スクリプト自体はカンタンなので、ぜひ色んな箱庭を作って楽しんでください。
街を歩いている人を追加したり、建物の金額が出るようにしたり
あなたのオリジナル箱庭を演出してみて下さいね。
この記事がよかった!という方は「B!」ボタンや
コメント