量子プログラミング入門→量子コンピューティングサービス構築入門

量子コンピューター初心者の筆者が日々学びながら、量子コンピュータ上で量子プログラミングできるようなるまでの学習日記を記録していきます。 内容は量子コンピューター入門者向けで、専門家の方からするとおかしな内容があるかもしれません。その際はコメント等でお知らせください!

May 2020

30分でシューティングゲームをお手軽作成

コードはこちらで公開しています。


game_screen_shot


Scratchで簡単なシューティングゲームを作成していきます。まずは簡単な部分から作成し徐々に機能を追加していきたいと思います。Youtubeでも動画を公開しているのでご参照ください。




Step 1) Spriteを準備する

prepare_sprite

今回はRocket, Rock, Ballの3種類のスプライトを使用します。
右下のスプライト選択ボタンからRocket, Rock, Ballを選択します。


Step 2) Rocketの動きを作成する

次にRocketの動きを作成します。
緑の旗を押されたらゲームスタート、大きさを設定し、初期位置に持っていきます
右向き矢印が押されたら右に動かす
左向き矢印が押されたら左に動かす
rocket_1st

Step 3) Rockの動きを作成する

次に敵となる岩の動きを作っていきます。
岩は上からランダムに降ってくるようにします。
緑の旗が押されたらゲームスタート、Scoreという変数を作成し、0に初期化します。
岩を6個クローンするようにし、それぞれのクローンの動きを作っていきます。
岩の初期設定を"init"というブロック定義を作って作成します。
ポイントは、乱数を使った待ち時間と、x座標を乱数を使ってランダムな位置に設定します。
初期化をしたらあとは、y座標を-10ずつ変化させ下に落下させます。一番下まで落ちたら"init"を呼び初期位置に戻します。


Rock_1st


Step 4) Ballの動きを作成

次にボールの動きを作ります。ボールはシューティングゲームの弾になるスプライトです。
スペースキーが押されたら弾を発射するようにします。
弾はクローンで作成します。スペースキーが押されたらクローンし、クローンされたらRocketの位置に持っていき、そこからy座標を10ずつ動かすことで上方向に発射します。


ball



Step 5) ゲーム要素を作成

それぞれのスプライトの基本的な動きを作成することができたので、次にゲーム要素を追加していきます。
まず、Rocketが岩に触れたらGame Overとする動きを作成します。Rocketのスプライトで下記の処理を追加します。
Rocket_2nd

次にRockのスプライトに移動しRockとBallが触れたときの動きを作成します。
RockにBallが触れたらScoreを1加算し、Rockを消します(初期位置に戻します)
rock_2nd


BallがRockに触れたときの動きも作成します。Ballのスプライトに移動し下記の処理を追加します。

ball_2nd




背景を設定

右下の背景選択画面から背景を作成します。Starの画面を選択し、Game Overの画面は文字を挿入して作成します。

background



rocket_3rd








Scratcherとは


Scratcher_Invitation

こちらに解説がありますが、Scratchを始めてすぐは"New Scratcher"というユーザー権限が与えられいくつかの制限があります。New Scratcherができた背景は下記のようです。
New Scratcherができた目的として、スパムを防止することがあげられる。そのため、New Scratcherはスパム行為になりかねないことが制限されている。

晴れてScratcherに認められるといくつかの制限が解除されます。解除される制限は下記で中でもクラウド変数を使えるようになることが大きいのではないでしょうか。クラウド変数が使えるようになれば大戦ゲームなどを作成可能になります。

- クラウド変数を作れない・使えない
- フォーラムのトピックを閉じる機能が使えない
- フォーラムでの投稿後、再投稿までに120秒待つ必要がある
- フォーラムでの画像投稿ができない
- コメント後に30秒待たなければならない
- フォーラムで外部リンクができない
- フォーラムで編集のためのURLが出ない


こちらScratcher昇格の瞬間です。

↑このページのトップヘ