【4限目】ゲームのアルゴリズムを考えよう

投稿者:クマガイモトツグ
公開日  最終更新日2019/06/26

profile
TechKidzACADEMY代表 プログラミングインストラクター デザイナー 料理人
小中高校生向けプログラミング教育、教材の開発、企業研修ほか、WEB/アプリのデザイン・開発に従事している
著書に「小学校6年生までに必要なプログラミング的思考力が1冊でしっかり身につく本」「親子で学べる いちばんやさしいプログラミング おうちでスタートBOOK」Amazon1位、 「MA/マーケティングオートメーション 5分でできるMA導入と成功する8つのプロセス」Amazon1位がある

アルゴリズムって何?

「アルゴリズム」という言葉がプログラミングの世界ではよく出てきます。

アルゴリズムとは、料理でいえばレシピのようなものだと思ってください。
いわば、どうやってやったらできるのか、を考えるプログラムの手順です。

簡単な作品であれば、適当にブロックを組み合わせてすぐに作れることもありますが、複雑なものや仕事で作るものになってくると、少なからずもアルゴリズムを考えてから作る必要があります。

プログラムの勉強で、いきなり「アルゴリズム」ばかりにとらわれていると、難しく考えすぎてしまうので、最初のうちは、ブロックをならべて「できた!」だけで十分です。

ただ、プログラムには「アルゴリズム」が大事ということだけ覚えておいてください。
これ、どうやってつくったらいいんだろう?とわからなくなった時にこのページに戻ってきてもらえれば大丈夫です。

ネコをつかまえるゲームのアルゴリズムを考えてみよう

まずは今回の作品を再度確認してみましょう。

ここで作りたいものを日本語になおすと
をクリックすると、ネコがいろんな位置へ移動しつづけて、ネコをクリックすると、にゃーという吹き出しを表示するのと同時に「にゃー」という音をだしたい」
という風になります。

ではここからプログラムをどうやってつくればいいか、と考える時はどうすればよかったのでしょうか?

Scratch(スクラッチ)は、プログラムのブロックの組み合わせでゲームが完成します。

なので
「ネコがいろんな位置へ移動して、ネコをクリックすると、にゃーという吹き出しを表示するのと同時に「にゃー」という音をだしたい」
ということを、Scratchのそれぞれのブロックに置き換えられるようにしてあげればいいんですね。

そこででてくるのが「分解」と「整理」作業です。

まずは「分解」をしていくことで、どんな機能を作る必要があるかがわかり
どのブロックを使うかがみえてきます。

どのブロックを使うかが見えてきたら「整理」をして、ブロックの順番を整えてあげれば完成です。

分解してみよう

をクリックすると、ネコがいろんな位置へ移動しつづけて、ネコをクリックすると、にゃーという吹き出しを表示するのと同時に「にゃー」という音をだしたい」

まずゴールとのなる上の文章を分解していきます。

A:をクリックすると、ネコがいろんな位置へ移動しつづける
B:ネコをクリックすると、にゃーという吹き出しを表示するのと同時に「にゃー」という音をだしたい

どうでしょう?
大きくわかりやすいところから分解していきます。
この場合は移動とクリックで違う内容なのでわけてみました。
分ける順番はあまり気にしなくて大丈夫です。
最終的にScratch(スクラッチ)のブロックに落とせれば大丈夫です。

さらに分解していきます。
Bを分解してみましょう。

A:をクリックすると、ネコがいろんな位置へ移動しつづける
B1:ネコをクリックすると、にゃーという吹き出しを表示する
B2:ネコをクリックすると、「にゃー」という音をだしたい

これでBは、Scratch(スクラッチ)ブロックでつくることができるレベルまで分解されました。

Aを分解してみましょう

A1:をクリックすると動き出す
A2:ネコがいろんな位置へ移動
A3:A2をずっと繰り返す
B1:ネコをクリックすると、にゃーという吹き出しを表示する
B2:ネコをクリックすると、「にゃー」という音をだしたい

今はまだはじめたばかりなので、みなさんはどんなScratch(スクラッチ)のブロックがあるかわからないはずです。
ある程度作品をつくっていくと、どんな機能をもったブロックがあるのかがわかるようになります。

そうするとこの分解もどこまで分解していけばいいか、わかるようになります。

整理してみよう

では次に、整理をしていきましょう。
この整理というのは、主にどの順番でブロックを並べるか ということです。
また同じようなことをやっているブロック群があればまとめたりします。

A1のブロックとA2のブロックを順番でつなげればをクリックしたあとネコが移動しますね

次にA3ですが、A2を繰り返すのでA3のブロックの間にA2だけを挟む という順番の整理がされます。

Scratch(スクラッチ)ブロックの整理1

Bです。これはAよりも簡単ですね。
ただB1とB2は、ネコをクリックしたときというのが同じ条件なので、下図のように1つにまとめることができます。
重複していることをまとめることも整理です。

Scratch(スクラッチ)ブロックの整理2

こんな感じでプログラムがつくられていきます。
いきなりこんな話から始めてしまうとなんかむずかしいなーと思われるので最初は手を動かしてつくるという内容から始めました。

最初は慣れないと思いますが、安心してください。

私の書籍にも書きましたが、プログラミングができるようになるのは、何も考えずにカレーを作れるのと同じです。

カレーも分解すると非常に多くの作業がでてきます。
ただ、カレーを何回か作ったことのある人は無意識に作業を分解して、ひとつひとつ順番を整理して実行して、美味しいカレーをつくっています。

なので主婦の方々はプログラミング的思考をすでにもってるんですね。

「02Scratchネコをつかまえるゲーム」授業一覧
当スクールは出版、各種メディア・企業様に、学習コンテンツ等の提供を行なっております。 プログラミング教育コンテンツは対馬市の教育委員会に認定され対馬市の全小学校で採用されました。
全国書店にて発売中!
2022年夏開校 オンラインスクール
オンラインでプログラミングを本格的に学べます。
学習塾・学校関係者様
副業・起業されたい方
プログラミングは簡単
プログラミング教材で採用されたTechKidzACADMEY
当スクールは出版、各種メディア・企業様に、プログラミング教材・コンテンツ等の提供を行なっております。 プログラミング教育コンテンツは対馬市の教育委員会に認定され対馬市の全小学校で採用されました。
paiza株式会社
このサイトはスクラッチ(SCRATCH)を使ったプログラミング学習のためのサイトです。スクラッチの使い方からゲームの作り方まで様々な内容をお伝えします。

▲ PAGE TOP