スクラッチでトランポリンゲームの作り方

中級

今回つくるゲーム

難易度3 out of 5 stars

今回はスクラッチでトランポリンゲームを作っていきます。60秒間の中でより多くの技を決めてそのスコアを競います。トランポリンはタイミングよくジャンプすれば、どんどん高く飛べます。これをどのようにプログラミングで再現するかが一番のポイントとなります。またジャンプ中にくりだす様々な技を簡潔なコードで書くために引数入りのブロック定義を使います。これも初心者の方にはなかなか理解が難しいかもしれませんが慣れれば同じようなコードを何回も書く手間が省けますので是非マスターしてくだい。

まずは実際にゲームをプレイしてみてください。操作方法は以下のとおりです。

スペースキー:ジャンプ
下矢印キー:開脚跳び 30ポイント
右矢印キー:ひざかかえ宙返り(右回り)40ポイント
左矢印キー:ひざかかえ宙返り(左回り)40ポイント
dキー:伸身宙返り(右回り)50ポイント
aキー:伸身宙返り(左回り)50ポイント
連続で技を決めるとコンボ +10ポイント
違う技を連続で決めるとスーパーコンボ +20ポイント
3種類の技を連続で決めるとハイパーコンボ +30ポイント

はじめに

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

トランポリンゲーム_素材

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

スクラッチでトランポリンゲームの作り方

トランポリンでジャンプする

プレイヤー(ネコ)のスプライトに以下のコードを書きます。
このコードを書くことで、トランポリンの上でタイミングよくスペースキーを押すと1つ前のジャンプより少し高く飛び上がることができます。

スクラッチでトランポリンゲームの作り方

ジャンプの基本

ジャンプをした時や物を上に投げた時はスピードがだんだんゆっくりになって、一番高い時に、スピードがゼロになりそのあとマイナスになりだんだん早くなります。
そのスピードを上向きの勢いという変数で表現します。

以下のコードを書いて、上向きの勢いの値の変化を見ると理解できると思います。(数値の移り変わりがわかりやすいようにわざとカタカタさせています。)

スクラッチでトランポリンゲームの作り方

コードが書けたら実際に🏴を押してプレイしてみましょう。
わざとジャンプに失敗してみて、どのように動くかも確認するようにしましょう。

技を繰り出す

ではここから、ジャンプ中に技を繰り出せるようにしていきます。

かかえこみ宙返り

まずは、右回りのかかえこみ宙返りを作っていきます。先ほど書いたプレイヤーのコードに以下のコードを追加していきます。宙返りは1回転つまり360度まわらなければならないので今回は30度×12回としています。例えば15度×24回とするとゆっくり回ります。

スクラッチでトランポリンゲームの作り方
スクラッチでトランポリンゲームの作り方

ここまで書けたら実際にプレイして、宙返りをしてみてください。

ブロック定義を使ってコードを書き直す

他の技のコードも、先ほどのかかえこみ宙返りと同様にコードを書いていけば作れますが、かなり煩雑になってしまうので、ブロック定義を使って簡潔にかけるようにします。

まずブロック定義の追加で回転のブロックを作成します。
その時に、引数として角度・回転・コスチュームの3つを追加します。

スクラッチでトランポリンゲームの作り方

そしてそのブロック定義を使って以下のようにコードを書き直します。
この場合30度12回回転させて、コスチューム番号を4番にするということになります。
この3つの引数を使って、いろいろな技を作っていきます。

スクラッチでトランポリンゲームの作り方

いろいろな技をつくる。

では3つの引数を使って以下5種類の技をつくっていきます

右矢印キー:ひざかかえ宙返り(右回り) 30度/12回転/コスチューム4
左矢印キー:ひざかかえ宙返り(左回り) -30度/12回転/コスチューム4
dキー:伸身宙返り(右回り) 15度/24回転/コスチューム5
aキー:伸身宙返り(左回り)-15度/24回転/コスチューム5
下矢印キー:開脚跳び 0度/24回転/コスチューム3

コードにすると以下のとおりです。かなり簡潔にコードが書けました。

スクラッチでトランポリンゲームの作り方

実際に🏴を押していろいろな技をくりだしてみましょう。
以下のように技が出せれば成功です。

ポイントをつける

次に、技が決まったらポイントが入るようにしていきます。

技を決めたらポイントが入る

先ほどの回転ブロック定義に以下のようにポイント計算ブロックを追加していきます。
技が決まると、以下のように技ごとに違うポイントが入るようにします。

スクラッチでトランポリンゲームの作り方

🏴を押した時にポイント=0に初期化しなければならないので、ゲーム管理に以下のコードを書きます。

スクラッチでトランポリンゲームの作り方

以下のように、ポイントがはいれば成功です。

連続技でコンボ加算

ここからは少し難しいですが、余裕のある人はチャレンジしてください。実際の競技でもそうですが技が連続で決まるとコンボが決まって加算されます。コンボ加算のルールを以下の通りとします。

連続で技を決めるとコンボ +10ポイント
違う技を連続で決めるとスーパーコンボ +20ポイント
3種類の技を連続で決めるとハイパーコンボ +30ポイント

連続で技が決まったかどうかを判定するためには、コンボというリストを作成します。リストに決まった技のコスチューム番号を書いていくことで、コンボが決まったかどうかを判定します。
また、着地やジャンプに失敗すると、リストがすべて白紙に戻ります。コードというリストを作成して、プレイヤーのポイント計算・ジャンプ失敗・着地失敗のコードを以下に変更します。

スクラッチでトランポリンゲームの作り方

スクラッチでトランポリンゲームの作り方
スクラッチでトランポリンゲームの作り方

また、ゲーム管理のコードを以下に変更します。

スクラッチでトランポリンゲームの作り方

一度、コンボのリストを表示してプレイしてみましょう。コンボのリストの動きを確認しましょう。

コンボの文字を表示させる

次にコンボが決まった時にコンボの文字を表示していきます。

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

スクラッチでトランポリンゲームの作り方

実際にプレイしてみましょう。

時間制限を作る

最後に時間制限を作っていきます。ゲームが終了したら、ポイントとコンボ加算の合計が得点となるようにします。

ゲーム管理のコードを以下に変更します。

スクラッチでトランポリンゲームの作り方

あわせてプレイヤーのコードに以下を追加します。

スクラッチでトランポリンゲームの作り方

これで完成です。以下のようにゲームが終了すれば成功です。

すべてのコード

これで終了です。あとはジャンプする時や、技を出す時に効果音を入れたり、ハイパーコンボが決まった時に歓声があがったりするようにするなど、工夫をこらしてみましょう。

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

トランポリンゲーム