プロトタイプをハッキングして、Scratchのゲームをつくろう!③

 7月13日に発売した書籍
しょせき
ゲームを改造
かいぞう
しながら学ぶ Scratchプログラミングドリル
』では、ゲームのプロトタイプをハッキングして、完成
かんせい
させることでScratch(スクラッチ)のプログラミングを学んでいくことができる。

 スタプロでは、書籍で紹介
しょうかい
しているゲーム「森の射撃
しゃげき訓練
くんれん
」(初級
しょきゅう
へん
のゲーム1)のハッキングにチャレンジしてもらって、その様子
ようす
をレポートしているよ。

 前回で「森の射撃訓練」のゲームは完成した。なんだけど、ゲームにチャレンジしてもなかなか「Perfect(パーフェクト)」が出せない。「森の射撃訓練」はスコアが10点以上にならなないと「Perfect」にならないんだ。8点で「GOOD(グッド)」までは出せるんだけど…

森の射撃訓練で「GOOD」は出る

 書籍の続きを読んだら、「ゲームを改造して完全クリアにチャレンジしよう!」という「パーフェクトチャレンジ」という項目
こうもく
があった。ここの内容をヒントにして、ゲームのプログラムを改造してみるぞ。

1 「矢」のスプライトのプログラムを改造してみる

 これまでは、ずっと「エルフ」のスプライトでプログラムをつくったり、改造してきた。でも、スプライトリストを見ると、
ほか
にも「矢」や「的」などいろいろなスプライトがある。「矢」のスプライトを選択すると、コードエリアでコードが組まれているのが見える。すでにプログラムができているんだけど、ここを改造してみよう。

「矢」のスプライトのコード

 書籍にある「改造のヒント1」では、矢の速度
そくど
を上げる改造のヒントがあったので、参考
さんこう
にしてみよう。

「20歩動かす」ブロック
「20歩動かす」を…
「30歩動かす」に変える
「30歩動かす」に変える

 「20歩動かす」を「30歩動かす」に変えると、矢が
はや
く動くようになった。
 「30歩動かす」でもものたりないので、「50歩動かす」にしてみたよ。矢の動きは速くなったけど、それでもなかなかスコアが
びないなあ…

2 「的」のスプライトのプログラムを改造してみる

 「矢」の動く速度が速くなっても、的が動いたり、小さくなったりすると当てづらいなあと思っていたら、書籍に「改造のヒント2」で的の大きさを変えられる方法が紹介されていた! 

 スプライトリストで「的」を選んだよ。コードエリアではコードが組まれているので、さっそく改造できるところを探したよ。

「的」のスプライトのコード

 「改造のヒント2」では、大きさを変えるブロックが紹介されていたので、使ってみたよ。ゲームでは、時間がたつと的の大きさが小さくなっていったので、大きさが変わらないようにした。

的の大きさをずっと「100%」の状態にするコード
的の大きさをずっと「100%」の状態にする

 的の大きさが変わらなければ、当たりやすいよね。それでもなかなか「Perfect」にはならないなあ。

3 「Perfect」を取れるようにもっと改造してみる

 「Perfect」目指してもっと改造だ。

① 的の大きさを変える

 的の大きさをもっと大きくしてみたらいいんじゃないかな。

的の大きさをずっと200%にするコード
的の大きさを200%にしてみた。
的の大きさが変わる
的が大きくなった!
「大きさを800%にする」としたら、大きくなりすぎてしまった。

② スコアの数え方を変える

 矢が的に1回当たるごとに1点だとなかなかスコアが伸びないなら、数え方を変えてみよう。矢が的に1回当たるごとに2点にしたよ。

的に1回当たるごとに2点ずつ加算されるコード
「当てた数を1ずつ変える」ブロックの「1」を「2」に変える。つまり的に1回当たるごとに、2ずつスコアが増えていくよ。
パーフェクト達成!
10点取れて、「Perfect」が出たぞ!

③ 制限時間を変える

 的の大きさを大きくしたり、スコアの数え方を変えるなんてしないで、制限
せいげん
時間を長くしたほうがもっとゲームを楽しめるし、「Perfect」だって出せそうだよね。
 スプライトリストで「制限時間」のスプライトを選んだよ。

「制限時間」のスプライト

 「制限時間を30にする」というブロックがあった。これを「制限時間を100にする」にしたよ。

制限時間を100に変える

 ここでも「Perfect」達成
たっせい
! でも、最後
さいご
の方の的はものすごく小さくなって、当てるのがさらに難しくなったよ…

④ エルフが矢を撃つまでの時間を変える

 エルフがもっと早く矢を撃てればいいんだ! と思って、スプライトリストで「エルフ」のスプライトを選んだよ。
 「0.5
びょう
つ」のブロックで「0.1秒待つ」に変えてみた。
 エルフが速く矢を撃てるようになったよ!

4 ボクが改造したゲームができたぞ!

 いろいろ改造をためしてみて、「Perfect」も取れるし、ゲームも楽しめるようにしてみた。
 今回改造したのは次のところだよ。

① 「エルフ」のスプライト

 「0.5秒待つ」ブロックの数値を「0.1秒」に変えて、エルフが速く矢を撃てるようにした。

エルフのスプライトで、0.1秒待つに変更

② 「的」のスプライト

 「大きさを120-当てた数*10%にする」ブロックで、的の最初の大きさを「120」から「200」にして大きくしたよ。

的の最初の大きさを200にする

③ 「制限時間」のスプライト

 「制限時間を30にする」ブロックで、制限時間を「30」から「60」にして長くしたよ。

制限時間を60にする

 これでゲームをやってみたら、15点も取れて「Perfect」(それ以上!)の結果が出たよ。やったね!

15点も取れた!

 今回のプログラムの改造は、いろいろなブロックの数値を変えるだけだったけど、それだけでもパーフェクトのスコアが出せて、ゲームもおもしろくできた!

 でも、今あるプログラムのブロックを変えてみたりもしてみたい。あと、Webサイトで「スペシャルゲーム素材
そざい
」がダウンロードできるので、それも使ってみたいよな…

 今はちょっと自信
じしん
がないけど、『ゲームを改造しながら学ぶ Scratchプログラミングドリル』に
ってる他のゲームを改造すれば、Scratchでのプログラミングがもっとできるようになれるはず! そうしたら、また「森の射撃訓練」のゲームを、今度はもっとすごいゲームに改造してみたいな。よし、じゃあ次はゲーム2の「月面
げつめん
OMOCHI探検隊
たんけんたい
」をまずは完成させるぞ!


 「スタプロ」でのレポートはここまでだけど、書籍『ゲームを改造しながら学ぶ Scratchプログラミングドリル』では「森の射撃訓練」のほかにも9つのゲームをハッキングすることができるよ。
 不完全なままのゲームはものたりなかったけど、自分でプログラミングして完成させるのはおもしろかったみたいだ。改造は「こうしたらもっとスコアが伸ばせるかも」というアイディアが試せるから、人によってちょっと
ちが
うゲームになっているかもしれないね。

 今回のレポートを読んで興味
きょうみ
を持ったら、ぜひチャレンジしてみてね!

(文/子供の科学編集部)

ご購入、詳細はこちら

最新号好評発売中!

子供の科学 2024年 5月号

CTR IMG