Scratchでシューティングゲームを作ろう!(4)

敵の弾を発射する!

こんにちは、おおやけハジメです。

四回目は敵の弾を発射するところを作りました。

https://scratch.mit.edu/projects/146790134/scratch.mit.edu

敵の弾のスプライト新規作成

敵が撃つ弾のスプライトを作成します。

f:id:digitarhythm:20170225232355p:plain

一番右の「lightning」が敵の弾になります。

スクリプト

弾のスクリプトはこんな感じになります。

f:id:digitarhythm:20170226013737p:plain

「データ」ですべてのスプライト用の変数「teki_tama_start_x」と「teki_tama_start_y」を作っておきます。

f:id:digitarhythm:20170225233448p:plain

このスプライトもクローンして使用するため、緑の旗がクリックされたと同時に隠します。 そのままだとちょっと大きすぎるので、サイズを30%にします。

そして、クローンされた時の処理は、最初にx座標、y座標をそれぞれ「teki_tama_start_x」と「teki_tama_start_y」に設定します。 その後に「表示する」にして、画面の端に着くまでy座標を減らしていきます。 端に触れた場合はクローンを削除します。

敵が弾を発射する

次に敵が弾を発射するスクリプトを作ります。 前回から増えたところは、下記のスクリプトになります。

f:id:digitarhythm:20170225233828p:plain

「0〜30」までの乱数を生成し、0だった場合に弾を発射します。 「teki_tama_start_x」と「teki_tama_start_y」にそれぞれ自分のx座標、y座標を代入し「create_lightning」メッセージを送ります。

敵がクローンされた時のスクリプトの全体は下記のようになります。

f:id:digitarhythm:20170225234059p:plain

敵の弾をクローンする

敵のスクリプトで「create_lightning」メッセージを送りましたが、まだ受け取る処理を作っていませんでした。 「ステージ」のスクリプトに「create_lightningを受け取った時の処理を作ります。

f:id:digitarhythm:20170226014036p:plain

敵を三匹にする

敵が一匹だと寂しいので、三匹出てくるようにします。 ステージのスクリプトで敵を生成しているところを三匹生成するように修正します。

f:id:digitarhythm:20170225234157p:plain

これで、敵が弾を撃ちながら落ちて来るようになると思います。

第5回 CoderDojo 調布を開催しました

1/22(日)に「第5回 CoderDojo 調布」を開催しました。

coderdojo-chofu.doorkeeper.jp

当日の様子

チャンピオンとメンターの自己紹介

チャンピオン(主宰)の石原さんの挨拶。 f:id:kaorun55:20170122094447j:plain

続いてメンターの自己紹介兼こども達に紹介したいトピックの紹介です。

中村からDashの紹介です。ロボットをiPadで操作したり、プログラムで操作したりできます。子ども達に人気でした。 f:id:kaorun55:20170122094625j:plain

おおやけさんからは「Scratchでシューティングゲームをつくろう!」の3回目(全10回)「弾を撃つ!」です。過去の連載はこちらから見ることができます。

f:id:kaorun55:20170122095021j:plain

とがぞのさんからはchibi:bitの紹介です。教育向けマイコンボードでScratchに似たプログラミングツールでマイコンのプログラムができます。 f:id:kaorun55:20170122095523j:plain

石原さんからBB-8をScratchから動かしてみたデモです。Sphero社のボール型ロボットのBB-8版を自作のプログラムを通してScratchを使って動かしてみました。他のプログラミング言語が使えると、なんでもScratchで動かせるようになりますね。 f:id:kaorun55:20170122100233j:plain

猪股さんからはArduinoの電子工作の紹介です。 f:id:kaorun55:20170122100437j:plain

プログラミングタイム

本番のプログラミングタイムです。

参加者のみなさんそれぞれやりたいことを進めます。今回もScratchで参加される子が多かったです。 f:id:kaorun55:20170122102141j:plain

初めての子や、慣れていな子にはメンターがついて一緒に考えます。 f:id:kaorun55:20170122102130j:plain

発表タイム

最後にみんなでやったことを発表しました。

どんどん敵が大きくなっていくシューティングゲーム f:id:kaorun55:20170122112632j:plain

手書きのハエがリアルなハエたたきゲーム f:id:kaorun55:20170122112753j:plain

2DのScratchで3D風な表現! f:id:kaorun55:20170122113115j:plain

関数電卓をScratchで作った子もいました! f:id:kaorun55:20170122113347j:plain

HTMLで参加した子は新しい画面を出すプログラムをかけました。 f:id:kaorun55:20170122112228j:plain

今回のメンターのみなさん

猪股直規さん、おおやけハジメさん、中村薫さん、向井アリー有里子さん、とがぞのさん

見学 :東京女子体育大学 渡邉さん

次回開催案内

次回は2月26日(日) 9:30~11:45を予定しています。

CoderDojo 調布のDoorkeeperページに登録して案内をお待ちください。

CoderDojo 調布 | Doorkeeper

By 中村薫さん

Photo By 猪股直規さん

Scratchでシューティングゲームを作ろう!(3)

弾を撃つ!

こんにちは、おおやけハジメです。

三回目は敵を倒すための弾を発射出来るようにしました。

シューティングゲームを作ろう(3) Scratchプロジェクト

scratch.mit.edu

スプライト新規作成

まず最初に弾のスプライトを新規作成します。

f:id:digitarhythm:20161227182026p:plain

キャラの絵はなんでもいいのですが、今回はBallを使いました。

変数作成

次に、ボールを制御するための変数「tama」を作成します。「データ」の「変数を作る」をクリックするとダイアログが出ます。

f:id:digitarhythm:20161227182248p:plain

すべてのスプライト用」で「tama」という変数を作成します。

f:id:digitarhythm:20161227182309p:plain

この変数は、発射できる弾の数を制御するために使用します。

弾の発射プログラム

次にSprite1(猫)のプログラムを、弾を撃てるように変更します。

f:id:digitarhythm:20161227183418p:plain

前回からの変更点は、プログラム開始時に変数「tama」を「0」にしています。

さらに次の処理が追加されています。

f:id:digitarhythm:20161227183145p:plain

この処理は「スペースバーが押された時に変数tamaが1より小さかったら(0だったら)tamaを1増やし、Ballスプライトをクローンしろ」という処理になります。この条件が満たされた時、変数tamaが「1」になるため、次からはスペースバーを押してもクローンされなくなります。

Ballスプライトのプログラム

次に「Ball」スプライトにプログラムを作ります。

f:id:digitarhythm:20161227182816p:plain

このスプライトもクローンで使用するので、プログラム開始と同時に隠します。スプライトのサイズも20%に縮少します。

そして、クローンされた時には画面に表示し、座標をSprite1(猫)と同じにします。これによって猫から弾が発射されたように見えます。

その後は無限ループでY座標を増やしていきます。これで弾が上に飛んで行くように見えます。そして、画面の一番上に行ったところで自分自身を削除し、先ほど作った変数「tama」を「1」減らします。

これでtamaが「0」になるので、また弾が発射出来るようになります。

ここで、鋭い方は気づいていると思いますが、先ほどのスペースバーを押した時の「tama < 1」の「1」が発射出来る弾の数になります。この「1」を変えてみるとBallスプライトはひとつしか作っていなくとも、複数の弾が発射出来ることが分かるでしょう。

f:id:digitarhythm:20161227185509p:plain

第5回 CoderDojo 調布を開催します

1/22(日)に「第5回 CoderDojo 調布」を開催します(次回は日曜日の開催です)。

開催概要

  • 日時:2017/01/22(日) 9:30 - 11:45
  • 場所:調布市 市民プラザ あくろす(京王線国領駅北口前)
    • 会議室1 (2階男女共同参画推進センター内)
  • 定員:12名
  • 費用:無料

※前回と部屋が異なりますのでご注意ください。

※開始30分程度でメンター紹介に加えプログラミングやツール紹介をやります(詳細は過去開催の様子をご覧ください)

※最後に30分程度、当日やったことを発表してもらいます。

参加申し込み

下記ページより、参加の申し込みを行ってください。いくつかの入力項目および、ご承諾いただく事項があります。 当日はノートパソコンをお持ちください。

coderdojo-chofu.doorkeeper.jp

みなさまの参加をお待ちしています!

メンターからのプログラミングやツール紹介予定

  • おおやけさん:Scratchでシューティングゲームをつくろう!・その3
  • なかむらさん:Dashでロボットプログラミング

第4回 CoderDojo 調布を開催しました

12月24日(土)に第4回 CoderDojo 調布を開催しました。

coderdojo-chofu.doorkeeper.jp

クリスマスイブの午前中にも関わらず、たくさんの方にご参加いただきました。

クリスマスということでメンターからのプレゼントもありました。 f:id:kaorun55:20170104230253p:plain

当日の様子

チャンピオンとメンターの自己紹介

まずはチャンピオン(主宰)の石原さんの挨拶から。 f:id:kaorun55:20161224094407j:plain

続いてメンターの自己紹介兼こども達に紹介したいトピックの紹介です。

猪股さんからはArduinoの紹介です。Dojoにも2台のArduinoが常備されているので、借りて使うこともできます。 f:id:kaorun55:20161224094852j:plain

私、中村からはlittleBitsの紹介です。Arduinoよりももう少し簡単に電子工作を楽しむことができます。 f:id:kaorun55:20161224095117j:plain

おおやけさんからは「Scratchでシューティングゲームをつくろう!」の2回目(全10回)です。過去の連載はこちらから見ることができます。 f:id:kaorun55:20161224095513j:plain

プログラミングタイム

本番のプログラミングタイムです。

参加者のみなさんそれぞれやりたいことを進めます。今回はScratchで参加される子が多かったです。 f:id:kaorun55:20161224101757j:plain

Scratchが初めての子も3人いて、初めて用のコンテンツの「猫逃げ」を一人一人作っていました。 f:id:kaorun55:20161224101847j:plain

後ろの方ではメンターが用意したいろいろなおもちゃで遊ぶ子もいました。気分転換にいいですね。 参加者の親御さんと情報交換ができるのも楽しいです。 f:id:kaorun55:20161224111459j:plain f:id:kaorun55:20161224110741j:plain

発表タイム

最後にみんなでやったことを発表しました。

Scratch島ではイライラ棒(懐かしい!)や f:id:kaorun55:20161224111827j:plain

風船割ゲームなどが発表されました。 f:id:kaorun55:20161224111832j:plain

LuaでMinecraftでの作業を自動化できるMODを使ってプログラミングに挑戦していた子は、自動的に洞窟を掘り進むプログラムを完成させました。 f:id:kaorun55:20161224111857j:plain

初心者島の子も無事にゲームを完成させて発表できました。 f:id:kaorun55:20161224114233j:plain

発表してくれた参加者には「Raspberry Piではじめるどきどきプログラミング」の共著者でもある石原さんからわくプロシリーズのシール(レアです!)が皆さんに配られニコニコです。 f:id:kaorun55:20161224114557j:plain

ふりかえり

今回は、Scratchで参加された子が多かったですが、みんな全く違うものが出来上がりました。子どもの想像力はすごいですね。

おまけ

f:id:jishiha:20170104131910p:plain

メンターの皆様、おつかれさま、ということで忘年会をおこないました。全員写っている写真がなかったのですが、そこは何でもできる調布のメンター陣。。おおやけさんが合成していかにも全員写っているような一枚になっています。

おまけ2

f:id:allymukai:20170106232202g:plain:w300

LEDが光るクリスマスツリーのプレゼント。当日撮り忘れたので製作中の写真です。

今回のメンターのみなさん

猪股直規さん、おおやけハジメさん、近岡真由美さん、中村薫さん、向井アリー有里子さん、大田一希さん、塩谷正幹さん

見学 落合さん(スポーツシッター・ジャパン)、小野さん(ICU)、森さん(CoderDojo 藤沢メンター)、佐竹さん

次回開催案内

次回は1月22日(日) 9:30~11:45を予定しています。

募集サイトが公開されています。CoderDojo 調布のDoorkeeperページから登録してください。

CoderDojo 調布 | Doorkeeper

By 中村薫さん

Photo By 向井アリー有里子さん

CoderDojo 調布 会計報告を更新しました(2016/12/27)

第4回 CoderDojo 調布を無事終え、会計報告を更新しました。

一部の机の島がコンセントから遠く、タップを十分に伸ばせないことが度々あったので、電源延長ケーブル x 2 を購入しました。

CoderDojo 調布を継続的に開催できているのは皆様のご支援のおかげです。本当にありがとうございます。

By 石原淳也(代表)

参考

【Google Spreadsheet】ブログに指定した範囲の表だけを貼り付けるやり方 - MIN