今回つくるゲーム
難易度
今回はスクラッチでトランポリンゲームを作っていきます。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ポイント
連続で技が決まったかどうかを判定するためには、コンボというリストを作成します。リストに決まった技のコスチューム番号を書いていくことで、コンボが決まったかどうかを判定します。
また、着地やジャンプに失敗すると、リストがすべて白紙に戻ります。コードというリストを作成して、プレイヤーのポイント計算・ジャンプ失敗・着地失敗のコードを以下に変更します。
また、ゲーム管理のコードを以下に変更します。
一度、コンボのリストを表示してプレイしてみましょう。コンボのリストの動きを確認しましょう。
コンボの文字を表示させる
次にコンボが決まった時にコンボの文字を表示していきます。
コンボのスプライトに移動して、以下のコードを書きます。
実際にプレイしてみましょう。
時間制限を作る
最後に時間制限を作っていきます。ゲームが終了したら、ポイントとコンボ加算の合計が得点となるようにします。
ゲーム管理のコードを以下に変更します。
あわせてプレイヤーのコードに以下を追加します。
これで完成です。以下のようにゲームが終了すれば成功です。
すべてのコード
これで終了です。あとはジャンプする時や、技を出す時に効果音を入れたり、ハイパーコンボが決まった時に歓声があがったりするようにするなど、工夫をこらしてみましょう。
すべてのコードは以下から確認できます。