プログラムの考え方~ものに例えてみよう!~
どうも!Senkokusyaです。
今日は自分のプログラムの考え方について書いておこうかなと。
先日、後輩のゲームのメンターをしていたことがあって、多かったのが
『プログラムの使い方がわからない。どう書けばいいかがわからない。』
といった質問だった。
そして、大体その質問をしてくる子のソースを見ると
敵もプレイヤーもアイテムもプレイシーンにべた書き!
うん。まぁ作り始めだからしょうがないんだけどね…
使い方がわからないはこれから詰まるから…ということで説明したのが考えるきっかけとなった出来事。
それでは解説。自分はよく別のものに例えて説明するから今回もその手法で下の単語について今回は解説していく。
【『プロジェクト』『クラス(構造体)』『関数』『変数』】
プログラム初心者の人たちは特に関数に詰まるのではないだろか。だが、こう考えてほしい。
プロジェクト→本棚
クラス→1冊の本
関数→本の中の章
変数→重要単語
自分はこのように説明することにしている。図を使って説明してみる。
まず初めにプロジェクトとクラスから。
一番右の[・・・]はさておきこう考えればわかりやすいのでは?
本棚には沢山の本がある。その本一つ一つがクラスである。
次いで、関数と変数だが、上の図の[・・・]の部分につながると考えてもらえればいい。
こうなる。
(ちなみに上の本は愛媛で講師をされてる清原隆行氏が書かれた
『HLSLシェーダーの魔導書』という本の一部である。ある程度学びが進んだらぜひ!読んでいただきたい。とても読みやすい。)
『プロジェクト』『クラス(構造体)』『関数』『変数』もどれも必要不可欠なものだということがわかる…よね?
プロジェクトがなかったら・・・
『そもそもまとまりがない』
床に散らばった本を想像してもらえれば。
クラスがなかったら・・・
『本にまとめられてないよくわからないメモが沢山集まってる』
メモ紙が散乱している場所を想像してもらえれば。
関数がなければ・・・
『章分けされていないながったるい文章のまとまりの本がたくさん』
読みにくいよね(笑)
変数がなければ・・・
『そもそも何も書けない』
単語だもん。本として成立しないよね。
といったように考えるとまぁ!わかりやすくなったのではないだろうか??
因みにこの例え例には続きがあり、ヘッダーファイルと実行ファイルでなぜ分けるのかといった点もわかりやすくなる。
それは・・・
【ヘッダーファイル→目次】
と考えればいいのである!まぁ!便利!(笑)
ヘッダーファイルに
『この本(クラス)にはこういう言葉(変数)が出ますよ』
というメモ書きをしておくのだ。
これが何とメンバ変数となるわけだ。
ついでに言ってしまうと、章(関数)がどこから始まるかなども目次に書いてあることが多い。
これが何と関数のプロトタイプ宣言となるわけだ!
後々学びが進んでくると矛盾に気づくこともあるかもしれないが、とっかかりとしてとても十分なのではないだろうか。
このようにしてプログラムはたとえ例を用いるとすごくわかりやすくなることが多い。詰まった時はぜひ使っていただきたい。
以上!終了!
個人的に過去一わかりやすい記事なのでは???と感じた内容だと思います!
ではでは。