プログラミングを勉強する時、ついついプログラミング言語の文法だけに目が行きがちです。もちろん文法の理解がなければプログラムを作ることはできませんが、文法を知っているだけではプログラムを作れません。
書籍の解説は理解できても(理解できた気になっても)、いざ自分で何か作ろうと思うと作れないということがあります。
そこで、今回の記事ではプログラムで作りたいものを決めてから、プログラム作成を体験するまでの手順を、体験していただきます。
目次
プログラミングの手順
それでは、ゲームのプログラムを作る場合を想定してプログラミングの手順を見てみましょう。
1. アイデアの具体化(作りたいものを決める)
プログラミングで最初に考えることは、「作りたいものを決める」ということです。
プログラムを開発するのは、何か解きたい問題があるからです。まず、問題解決のアイデアがあって、それをコンピュータ上に実現したものがプログラムであると言ってもよいでしょう。
例えば、
「こんなものが欲しいな」とか
「もう少しこうだったらよいのに」と感じることに目を向けてみましょう。
「こんなゲームがあったらいいのに」という思いがあれば、それが「何を作りたいか?」につながっていきます。
「こんなスマホアプリがあればいいのに」という思いがあれば、それも「何を作りたいか?」につながっていきます。
例えば、自分が欲しいゲームのアイデアを思いついたら、今度はそのゲームの特徴を紙に書き出してみましょう。ゲームの主人公や舞台・ルールといった中心となる部分について考えていきます。
- 主人公はネコのキャラクター
- 2人で遊べる
- 舞台は宇宙
- ネコはビームを出せる
- 敵の弾に当たったらゲームオーバー
- ネコはマウスで動く 等々
アイデアを良く練り、自分が思い描くゲームに必要な仕様を決定していく作業は非常に重要です。
2. プログラムの設計
思いついたアイデアをもとに、キャラクターやそれらの動き、ゲームのルールが決まったら、プログラムの設定図を作ってみましょう。
まず、主人公の動きを考えます。
- ゲームがスタートすると、ユーザーがマウスを動かす方向にキャラクターが歩いて移動する
- マウスのボタンが押されたら、別のキャラクターに向けて弾を撃つ
- 相手のキャラクターに捕まったら、ゲームオーバーにする
- ゴール地点へ到達すると、ゲームをクリアする
このほかにも、このキャラクターに関連するルール(例えば、画面の端にぶつかったときにどのように動くか、など)を、設計図として書き出していきます。
最初はおおまかでもよいからゲームのルールや画面の様子をまとめてみましょう。
設計図は、文章でなくても簡単な絵として描いておくと動作がイメージできるようになります。これをキャラクターごとに作成し、スコアアップの条件、さらに背景など全体の設計を考えていきましょう。
3. コーディング・デバッグ(動作確認と修正)
次は設計図をプログラミング言語に落とし込む手順です。設計図を実現するために、プログラミング言語のどの命令を使えばよいのか知っていなければなりません。
コーディングとは何らかのプログラミング言語の文法にしたがって、プログラムを書くことです。多くの初心者が、コーディングのことをプログラミングであると考えがちですが、これはプログラミングの手順の一部に過ぎません。
スクラッチのように、ブロックを使ったプログラミング環境であれば、使える命令が目で見てわかる形で整理され、日本語でその意味が表示されています。小さなお子さんでも、これらのブロックを実際に組み合わされて使っていくことで、その機能を理解していくことができます。
このように、プログラミングは自分が書いた設定図をそれぞれの言語に翻訳していく作業である、と考えることができます。それによって、コンピュータに自分の意図を伝えることができるのです。
自分の考えたアイデアを設定図に基づいてプログラムにしても、実際に動かしてみるとなかなか思ったような動きにならないものです。
プログラムにおける間違いのことを「バグ」と呼びます。そして、この「バグ」を解消することを「デバッグ」といいます。
デバッグ作業の要は、プログラムの検査です。プログラムの検査には、プログラムに対して小さな間違いを直して試行錯誤を積み重ねが重要です。
みなさんが使っているスマホやゲームにも、「バグ」はあります。プログラマーの人たちがたくさんの「バグ」を無くす努力をしてから手元に届けられているものですが、それでも残ってしまったものが皆さんの目に触れる「バグ」というわけです。
どんなもの作りをしても、いきなり完璧なものができるわけではないことを知っておきましょう。
スクラッチ(Scratch 2.0)で始める簡単プログラミング
楽しいスクラッチの世界へようこそ
スクラッチは、アメリカのマサチューセッツ工科大学のMITメディアラボにて開発された、子どもでも簡単にプログラミングできる教育用のプログラミング環境です。
ブロックを組み立てるように命令を組み合わせてさまざまなものを作り上げることができます。誰でも無料で自由に利用でき、自分で作ったゲームやアニメーションなどを世界中の人に発表することもできます。
プログラミングに興味がある・これから始めたい子どもの習い事として、プログラミング教室の人気が急上昇しています。そのプログラミング教室の多くで教材として使用されているスクラッチは、子どもだけでなく、大人にとってもとても楽しいプログラミング学習ツールとなっています。
スクラッチの使い方
スクラッチには、いろいろな種類があります。パソコンにインストールしなくても利用できるScratch 2.0や、インストールが必要なScratch 1.4、Scratch 2.0オフラインエディターなどです。
今回は、WebブラウザーとFlashプレイヤーというソフトウェアがあれば、すぐに始められるのでScratch 2.0を使いたいと思います。ブラウザーは最新のFlashプレイヤーも一緒に組み込まれている「Google Chrome」が便利です。
Chrome(やほかのWebブラウザー)を起動して、アドレス欄に次のアドレスを入力してWebページを開きます。ここがスクラッチの公式サイトです。
公式サイトへ
アカウントを作ろう
スクラッチのユーザー登録をすでにしている人は、サインインに進みます。
(触ってみるだけの場合は、不要です)
はじめての方で、作った作品を保存するには「アカウント」が必要です。
知らないサイトにユーザー登録するのは危険だけど、スクラッチの公式サイトは安全です。
画面の右上にある「Scratchに参加しよう」をクリックします。すると、ユーザー登録の画面が開きます。
「ユーザー名」には半角英数字で入力します。このときニックネームなどを使い、本名など個人情報は入れないように注意します。
「パスワード」も半角英数字で入力します。「ユーザー名」と同じにはできません。「次へ」ボタンを押す。
次に「生まれた年と月」「性別と国」を入力して「次へ」ボタンをクリック。
これでユーザー登録は完了です。「さあ、はじめよう!」のボタンをクリックします。すると、自動的にサインインしてトップ画面が開き、右上にユーザー名が表示されます。
スクラッチ 2.0 の画面について
トップ画面のメニューから「作る」をクリックして、作品を作るための画面を開きます。
最初に作品を作る時にはプロジェクト名をつけます。左上にあるフォームがプロジェクト名です。ここは直接入力可能なので、好みの名前に修正します。
- ステージエリア ・・・ステージエリアは、プログラミングが動くところです。プログラミングを作り、実行すると、ステージにあるスプライト(ここではネコの絵)が動きます。
- スプライトエリア ・・・スプライトは、プログラミングで使う主人公の画像(絵)です。スクラッチにはいろんな画像が用意されていますが、自分で作ることもできます。
- コマンドパレット ・・・ コマンドパレットには、「コマンド」というプログラミングの部品(パーツ)がたくさんあります。
- スクリプトエリア ・・・コマンドパレットにあるコマンドをスクリプトエリアにならべて、「スクリプト」を組み立てていきます。スクリプト = プログラムとおぼえてください。
ブロックを使ってスプライトに命令する
スクラッチではブロックを使って、スプライトに命令します。カテゴリー別に整列しているブロックパレットのブロックから使いたいブロックを選び、スクリプトエリアにドラッグして持っていきます。そして設計した作品となるまでスクリプトエリアでブロックを組み立てていきます。
<スクラッチの流れ>
- スプライトを選択する
- 動きを考える
- イベントを指定する
- スクリプトの始まりを作る
- スクリプトの終わりを作る
<ブロックの種類>
- 動き
- 見た目
- 音
- ペン
- データ
- イベント
- 制御
- 調べる
- 演算
- その他
終了の方法(スクリプトの保存)
●サインインした後、「直ちに保存」ボタンをクリック
●サインインしていれば、スクリプトは定期的に自動で保存される
●自分のパソコンにスクリプトを保存する場合は、左上の「ファイル」から「手元のコンピューターにダウンロード」をクリック
<参考情報>
■動画サイト(YouTube)
■オンライン学習サイト
➣ Scratch 2.0入門 (ドットインストール) 無料
➣ Scratchで始める絶対に挫折しないプログラミング超入門 (Schoo) 一部有料
➣ 子供を熱くさせるプログラミング教室「Ritz」の入門7日間講座 親子でスクラッチで本格ゲームを作ろう! 有料
➣ Scratch 3.0 入門 親子で楽しむプログラミング! スクラッチでゼロから学ぶプログラミング的思考の第一歩 有料
■オススメの本
まとめ
今回はプログラミングまでを経験してもらいました。偉大なエンジニアも、天才プログラマーも、そしてもちろん私達も、誰もがみんな初心者でした。誰だって初めからできたわけではありません。
はじめてのことに触れただけでも大きな一歩です。無駄なんてことはありません。あれこれ悩まずに、できることから続けてみましょう。
私達は、プログラミングを学ぶあなたを応援し続けます。