スクラッチで人狼ゲームの作り方

未分類

今回つくるゲーム

難易度4 out of 5 stars

今回はスクラッチで人狼ゲームを作っていきます。人狼ゲームの中でも簡単に勝負をつけることができるワンナイト人狼をテーマにしていきます。カードゲームですのでアクションはありませんが、今回のプログラミングではリストを駆使します。リストをマスターしたいという人は是非このゲーム作りにチャレンジしてみてください。

まずは実際にゲームをプレイしてみてください。進行役のネコの指示に従ってゲームを進めます。

はじめに

まず、以下をリミックスしてください

【素材】ワンナイト人狼ゲーム

こちらにはゲームを作るのに必要な素材が揃っています。

スクラッチで人狼ゲームの作り方

ゲームのルールの確認

まずはゲームのルールを確認していきましょう。

ワンナイト人狼ゲームのルール
  • プレイヤーは3人〜6人
  • カードの種類は4種類(人狼/占い師/怪盗/村人)
  • カードは人数+2枚使う(人狼*2/占い師*1/怪盗*1/村人*残り)
  • プレイヤーにカードを配り、余ったカードを墓地に置く
  • プレイヤーが一人づつ夜の行動をする
    • 人狼:自分以外に誰が人狼かを知ることができる
    • 占い師:指定した人のカードが見れる。もしくは墓地を見れる
    • 怪盗:指定した人とカードを交換することができる
    • 村人:何もしない
  • みんなで話し合って誰が人狼かを指定して処刑する
    • 処刑された人が人狼→村人チームの勝ち
    • 処刑された人が人狼以外→人狼チームの勝ち

このルールに従って、順番にコードを書いていきます。

まずは全体の流れをつくる

まずは、全体の流れを作っていきます。進行役のコードに移動し、以下のようにコードを書きます。

スクラッチで人狼ゲームの作り方

このようにおおよその流れをつくり、それぞれのコードを書いていくことで、頭の中が整理されますし、後から修正もしやすくなります。

ここからはブロックごとに解説していきます。

プレイヤーの数を決める

まずはプレイヤーの数を決めていきます。
今回はプレイヤーの数をプレイ可能数というリストで管理します。今回は3〜6人ですので、以下のように3〜6のリストを作ります。

スクラッチで人狼ゲームの作り方

そして、進行役のコードに以下のようにプレイヤーの数を決めるのブロック定義を書きます。

スクラッチで人狼ゲームの作り方

以下のような流れになれば成功です。

プレイヤーの名前を入力する

プレイヤーの人数が決まったら次は名前をつけていきます

プレイヤーの名前を入力するというブロック定義を以下のように書いていきます。
”プレイヤー”というリストを作成して、そこに順番に名前を入れていきます。

スクラッチで人狼ゲームの作り方

以下のような流れになれば成功です。

カードの準備をする

次にカードの準備をします。最初に整理したように人数+2枚のカードが準備され、その中身は、

人狼2枚、占い師1枚、怪盗1枚、残りが村人です。

例えば4人でやった場合は、人狼2枚、占い師1枚、怪盗1枚、村人2枚となります。

カードを準備するのブロック定義は以下の通りです。カードを表示すると画面がいっぱいになるので、進行役のネコは小さくなり左上に移動します。

スクラッチで人狼ゲームの作り方

カードを表示のメッセージが送られると、カードが並べられますが、それはカードのコードに書いていきます。カードのスプライトに移動して以下のコードを書きます。これは人数+2枚のカードを並べるためだけのコードですので、大変であればこのステップは省略してもいいかもしれません。

スクラッチで人狼ゲームの作り方

実際にプレイしてみてください。3〜6人で表示されるカードはそれぞれ以下のようになります。

スクラッチで人狼ゲームの作り方
プレイヤー3人
スクラッチで人狼ゲームの作り方
プレイヤー4人
スクラッチで人狼ゲームの作り方
プレイヤー5人
スクラッチで人狼ゲームの作り方
プレイヤー6人

カードを配り夜の行動をする

ここからが実際のゲームになります。例えば4人の場合であれば6枚のカードが表示されますがシャッフルされて4人のプレイヤーに配られ、残り2枚は墓地に行きます。プレイヤーは配られたカードを見て、それぞれの夜の行動をします。

一連の流れ

まずはゲームの一連の流れを整理します。進行役のコードに戻り、カードを配り夜の行動をするのブロック定義を以下のように書きます。

スクラッチで人狼ゲームの作り方

カードをシャッフルする

まず、カードをシャッフルするためにカードのスプライトに移動し、先ほどの章で解説したコードとは別に以下のコードを書きます。

リストをシャッフルするコードはいろいろなところで使うので覚えておくと良いです。あわせて、このときに人狼リストも作っておきます。

スクラッチで人狼ゲームの作り方

カードを配る(カードをめくる)

ここから今回一番難しい部分です。プレイヤー一人一人にカードを配っていきその人のカードを表示させますが、他の人にカードを見られてはなりません。実際のゲームでも裏返ったカードをこっそり自分だけ見ますが、それをできるようにしているのがカードを見るという変数です。幽霊の効果をにこの変数を代入して、バーを動かすことでカードの中身を見れるようにしています。

カードのスプライトに移動して以下のコードを書きます。

スクラッチで人狼ゲームの作り方

また、カードが配られた時に背景も変更します。

ステージのコードに以下のようにコードを書き、背景を管理します。

スクラッチで人狼ゲームの作り方

では、実際にプレイを進めてみましょう。以下のようにバーを左右に動かすことでカードがめくれるのがわかります。

カードを配る(夜の活動)

次にカードが配られた時に夜の活動をしていきます。夜の活動のスプライトに移動して以下のようにコードを書いていきます。先ほどのカードと連動して活動内容も幽霊の効果ではじめは隠れている状態にします。

スクラッチで人狼ゲームの作り方

そして、スプライトが押された時に、それぞれの行動をします。

スクラッチで人狼ゲームの作り方

それぞれの行動のブロック定義は以下の通りです。細かい説明は省略します。

村人の行動

スクラッチで人狼ゲームの作り方

人狼の行動

スクラッチで人狼ゲームの作り方

占い師の行動

スクラッチで人狼ゲームの作り方

怪盗の行動

スクラッチで人狼ゲームの作り方
スクラッチで人狼ゲームの作り方

最後に、カードのコードに戻り、以下のコードを追記します。怪盗が入れ替わったときに、人狼と入れ替わる可能性もあるのでここであらためて人狼リストを作り直すのです。

スクラッチで人狼ゲームの作り方

すべてのコード

すべてのコードはこちらから確認できます。

ワンナイト人狼ゲーム