7月13日に発売した書籍
『ゲームを改造
しながら学ぶ Scratchプログラミングドリル』では、ゲームのプロトタイプをハッキングして、完成
させることでScratch(スクラッチ)のプログラミングを学んでいくことができる。
スタプロでは、書籍で紹介
しているゲーム「森の射撃
訓練
」(初級
編
のゲーム1)のハッキングにチャレンジしてもらって、その様子
をレポートしているよ。
前回で「森の射撃訓練」のゲームは完成した。なんだけど、ゲームにチャレンジしてもなかなか「Perfect(パーフェクト)」が出せない。「森の射撃訓練」はスコアが10点以上にならなないと「Perfect」にならないんだ。8点で「GOOD(グッド)」までは出せるんだけど…
![森の射撃訓練で「GOOD」は出る](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/game6-1.png)
書籍の続きを読んだら、「ゲームを改造して完全クリアにチャレンジしよう!」という「パーフェクトチャレンジ」という項目
があった。ここの内容をヒントにして、ゲームのプログラムを改造してみるぞ。
1 「矢」のスプライトのプログラムを改造してみる
これまでは、ずっと「エルフ」のスプライトでプログラムをつくったり、改造してきた。でも、スプライトリストを見ると、他
にも「矢」や「的」などいろいろなスプライトがある。「矢」のスプライトを選択すると、コードエリアでコードが組まれているのが見える。すでにプログラムができているんだけど、ここを改造してみよう。
![「矢」のスプライトのコード](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/bow1-1024x576.png)
書籍にある「改造のヒント1」では、矢の速度
を上げる改造のヒントがあったので、参考
にしてみよう。
![「20歩動かす」ブロック](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/bow2.png)
![「30歩動かす」に変える](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/bow3.png)
「20歩動かす」を「30歩動かす」に変えると、矢が速
く動くようになった。
「30歩動かす」でもものたりないので、「50歩動かす」にしてみたよ。矢の動きは速くなったけど、それでもなかなかスコアが伸
びないなあ…
2 「的」のスプライトのプログラムを改造してみる
「矢」の動く速度が速くなっても、的が動いたり、小さくなったりすると当てづらいなあと思っていたら、書籍に「改造のヒント2」で的の大きさを変えられる方法が紹介されていた!
スプライトリストで「的」を選んだよ。コードエリアではコードが組まれているので、さっそく改造できるところを探したよ。
![「的」のスプライトのコード](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/mato-1024x660.png)
「改造のヒント2」では、大きさを変えるブロックが紹介されていたので、使ってみたよ。ゲームでは、時間がたつと的の大きさが小さくなっていったので、大きさが変わらないようにした。
![的の大きさをずっと「100%」の状態にするコード](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/mato2.png)
的の大きさが変わらなければ、当たりやすいよね。それでもなかなか「Perfect」にはならないなあ。
3 「Perfect」を取れるようにもっと改造してみる
「Perfect」目指してもっと改造だ。
① 的の大きさを変える
的の大きさをもっと大きくしてみたらいいんじゃないかな。
![的の大きさをずっと200%にするコード](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/mato4-1.png)
![的の大きさが変わる](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/mato4.png)
![](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/mato12.png)
② スコアの数え方を変える
矢が的に1回当たるごとに1点だとなかなかスコアが伸びないなら、数え方を変えてみよう。矢が的に1回当たるごとに2点にしたよ。
![的に1回当たるごとに2点ずつ加算されるコード](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/mato8-2.png)
![パーフェクト達成!](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/mato10.png)
③ 制限時間を変える
的の大きさを大きくしたり、スコアの数え方を変えるなんてしないで、制限
時間を長くしたほうがもっとゲームを楽しめるし、「Perfect」だって出せそうだよね。
スプライトリストで「制限時間」のスプライトを選んだよ。
![「制限時間」のスプライト](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/time-1024x590.png)
「制限時間を30にする」というブロックがあった。これを「制限時間を100にする」にしたよ。
![制限時間を100に変える](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/time3.png)
ここでも「Perfect」達成
! でも、最後
の方の的はものすごく小さくなって、当てるのがさらに難しくなったよ…
④ エルフが矢を撃つまでの時間を変える
エルフがもっと早く矢を撃てればいいんだ! と思って、スプライトリストで「エルフ」のスプライトを選んだよ。
「0.5秒
待
つ」のブロックで「0.1秒待つ」に変えてみた。
エルフが速く矢を撃てるようになったよ!
![](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/elf1.png)
4 ボクが改造したゲームができたぞ!
いろいろ改造をためしてみて、「Perfect」も取れるし、ゲームも楽しめるようにしてみた。
今回改造したのは次のところだよ。
① 「エルフ」のスプライト
「0.5秒待つ」ブロックの数値を「0.1秒」に変えて、エルフが速く矢を撃てるようにした。
![エルフのスプライトで、0.1秒待つに変更](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/finai1.png)
② 「的」のスプライト
「大きさを120-当てた数*10%にする」ブロックで、的の最初の大きさを「120」から「200」にして大きくしたよ。
![的の最初の大きさを200にする](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/final2.png)
③ 「制限時間」のスプライト
「制限時間を30にする」ブロックで、制限時間を「30」から「60」にして長くしたよ。
![制限時間を60にする](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/final3.png)
これでゲームをやってみたら、15点も取れて「Perfect」(それ以上!)の結果が出たよ。やったね!
![15点も取れた!](https://www.kodomonokagaku.com/wp-content/uploads/2020/07/final.png)
今回のプログラムの改造は、いろいろなブロックの数値を変えるだけだったけど、それだけでもパーフェクトのスコアが出せて、ゲームもおもしろくできた!
でも、今あるプログラムのブロックを変えてみたりもしてみたい。あと、Webサイトで「スペシャルゲーム素材
」がダウンロードできるので、それも使ってみたいよな…
今はちょっと自信
がないけど、『ゲームを改造しながら学ぶ Scratchプログラミングドリル』に載
ってる他のゲームを改造すれば、Scratchでのプログラミングがもっとできるようになれるはず! そうしたら、また「森の射撃訓練」のゲームを、今度はもっとすごいゲームに改造してみたいな。よし、じゃあ次はゲーム2の「月面
OMOCHI探検隊
」をまずは完成させるぞ!
「スタプロ」でのレポートはここまでだけど、書籍『ゲームを改造しながら学ぶ Scratchプログラミングドリル』では「森の射撃訓練」のほかにも9つのゲームをハッキングすることができるよ。
不完全なままのゲームはものたりなかったけど、自分でプログラミングして完成させるのはおもしろかったみたいだ。改造は「こうしたらもっとスコアが伸ばせるかも」というアイディアが試せるから、人によってちょっと違
うゲームになっているかもしれないね。
今回のレポートを読んで興味
を持ったら、ぜひチャレンジしてみてね!
(文/子供の科学編集部)
ご購入、詳細はこちら!