Memo - Love & Comic - いしいたけるのマンガのサイト

Love & Comic 本サイトへ戻る

<< 14041001 | main | いつかゲームを作りたいのでゲーム作りについて考えておく >>
オブジェクト指向プログラムを作るのはマンガを描くのと似ている
オブジェクト指向でプログラムを作るのはマンガで物語を考えるのと似てる。
■メインの処理が「物語の流れ」。MVCでいうとC(コントローラー)。
■登場人物が各クラス。MVCで言うとM(モデル:処理系)とV(ビュー:表示系)。
■登場人物がいて(インスタンスを作成して)、会話して(引数や戻り値のやりとりをして)、行動する(各種メソッドを呼び出す)。
■起承転結がある。目的に向かって本筋が動く。
■クラスの作成がキャラクターメイキング。
■メインの処理の整理がストーリーエディット。


朝、目覚めたら気づいたのでメモ。

仕事で、オブジェクト指向でプログラムを書いている。
昨日、自分なりのコツを見つけた。

次の手順で作業する。
1.今書いている単位での、処理の目的を確認する。
2.処理の流れを紙に書き出す。
3.プログラムのファイルに、処理の流れをコメントでひと通り書く(まだ実体のコードは書かない)。
4.処理の流れでの小さい単位ごとで、実体のコードを書いてく。

で、コードを書き出す前の段階で、処理の流れを整理したりメモしたりしている時に使う脳の部位は、このブログで物語を考えている時に使う脳の部位と同じかほとんど同じなのではないかと思った。

このエピソードはこの事件の前にないといけない。
このエピソードを通して主人公はこれこれの真相を知るので、行動の目的が変わる。
この処理を呼び出すにはこの引数が必要なので、必要な引数の値を算出する処理をその前に呼び出さないといけない。
ここで仕込んだ布石がクライマックスのここで回収される。

プログラムのメインの処理をストーリーだとみなすなら、起承転結があるはず。
多分こんな感じ。

【起】
いままでのあらすじのおさらい:一つ前の処理から手渡された入力を受け取る。
キャラクターの登場:インスタンスの作成。
今回のエピソードで解決するべき問題が起こる。

【承】
今回の問題を解決するための布石の準備:
MVCでいうモデル部の仕事。
各種データの取り出しや加工。表示用データの作成。

【転】
今回の問題の解決:
MVCでいうビュー部の仕事。
作成したデータを元にメインの表示を行う。

【結】
終わり、または次回へ続く:
ユーザーからの次の入力を待つインターフェイスなど。


私がプログラムの仕事に辛さを感じずにむしろ楽しんでるのはこのへんが原因かもしれませんね。

| プログラミング技術関係 | 08:30 | - | - | permalink |
SELECTED ENTRIES
CATEGORIES
ARCHIVES