今回つくるゲーム
難易度
今回はスクラッチで人狼ゲームを作っていきます。人狼ゲームの中でも簡単に勝負をつけることができるワンナイト人狼をテーマにしていきます。カードゲームですのでアクションはありませんが、今回のプログラミングではリストを駆使します。リストをマスターしたいという人は是非このゲーム作りにチャレンジしてみてください。
まずは実際にゲームをプレイしてみてください。進行役のネコの指示に従ってゲームを進めます。
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材が揃っています。
ゲームのルールの確認
まずはゲームのルールを確認していきましょう。
このルールに従って、順番にコードを書いていきます。
まずは全体の流れをつくる
まずは、全体の流れを作っていきます。進行役のコードに移動し、以下のようにコードを書きます。
このようにおおよその流れをつくり、それぞれのコードを書いていくことで、頭の中が整理されますし、後から修正もしやすくなります。
ここからはブロックごとに解説していきます。
プレイヤーの数を決める
まずはプレイヤーの数を決めていきます。
今回はプレイヤーの数をプレイ可能数というリストで管理します。今回は3〜6人ですので、以下のように3〜6のリストを作ります。
そして、進行役のコードに以下のようにプレイヤーの数を決めるのブロック定義を書きます。
以下のような流れになれば成功です。
プレイヤーの名前を入力する
プレイヤーの人数が決まったら次は名前をつけていきます
プレイヤーの名前を入力するというブロック定義を以下のように書いていきます。
”プレイヤー”というリストを作成して、そこに順番に名前を入れていきます。
以下のような流れになれば成功です。
カードの準備をする
次にカードの準備をします。最初に整理したように人数+2枚のカードが準備され、その中身は、
人狼2枚、占い師1枚、怪盗1枚、残りが村人です。
例えば4人でやった場合は、人狼2枚、占い師1枚、怪盗1枚、村人2枚となります。
カードを準備するのブロック定義は以下の通りです。カードを表示すると画面がいっぱいになるので、進行役のネコは小さくなり左上に移動します。
カードを表示のメッセージが送られると、カードが並べられますが、それはカードのコードに書いていきます。カードのスプライトに移動して以下のコードを書きます。これは人数+2枚のカードを並べるためだけのコードですので、大変であればこのステップは省略してもいいかもしれません。
実際にプレイしてみてください。3〜6人で表示されるカードはそれぞれ以下のようになります。
カードを配り夜の行動をする
ここからが実際のゲームになります。例えば4人の場合であれば6枚のカードが表示されますがシャッフルされて4人のプレイヤーに配られ、残り2枚は墓地に行きます。プレイヤーは配られたカードを見て、それぞれの夜の行動をします。
一連の流れ
まずはゲームの一連の流れを整理します。進行役のコードに戻り、カードを配り夜の行動をするのブロック定義を以下のように書きます。
カードをシャッフルする
まず、カードをシャッフルするためにカードのスプライトに移動し、先ほどの章で解説したコードとは別に以下のコードを書きます。
リストをシャッフルするコードはいろいろなところで使うので覚えておくと良いです。あわせて、このときに人狼リストも作っておきます。
カードを配る(カードをめくる)
ここから今回一番難しい部分です。プレイヤー一人一人にカードを配っていきその人のカードを表示させますが、他の人にカードを見られてはなりません。実際のゲームでも裏返ったカードをこっそり自分だけ見ますが、それをできるようにしているのがカードを見るという変数です。幽霊の効果をにこの変数を代入して、バーを動かすことでカードの中身を見れるようにしています。
カードのスプライトに移動して以下のコードを書きます。
また、カードが配られた時に背景も変更します。
ステージのコードに以下のようにコードを書き、背景を管理します。
では、実際にプレイを進めてみましょう。以下のようにバーを左右に動かすことでカードがめくれるのがわかります。
カードを配る(夜の活動)
次にカードが配られた時に夜の活動をしていきます。夜の活動のスプライトに移動して以下のようにコードを書いていきます。先ほどのカードと連動して活動内容も幽霊の効果ではじめは隠れている状態にします。
そして、スプライトが押された時に、それぞれの行動をします。
それぞれの行動のブロック定義は以下の通りです。細かい説明は省略します。
村人の行動
人狼の行動
占い師の行動
怪盗の行動
最後に、カードのコードに戻り、以下のコードを追記します。怪盗が入れ替わったときに、人狼と入れ替わる可能性もあるのでここであらためて人狼リストを作り直すのです。
すべてのコード
すべてのコードはこちらから確認できます。