今日から電命第2作を具体的に考え始めました。
まず、概念図を考えながら、サブプログラムごとの役割分担やサブプログラム間でやりとりするファイルを検討したのですが、今までおおざっぱに考えていたよりも複雑な内容になりそうです。
実際の生命内でなら、組織間でやりとりされる物質の1単位ごとの個別の名前なんて考える必要もないのに、プログラムでは同じフォルダ内に同名ファイルは存在できませんから、同種のファイルがやりとりされる場合のために任意でファイル名を作成してファイルを作ったり、開いたりできるようにしなければなりません。
また、起動といった働きかけをする場合も、サブプログラムの個別の名前を事前に指定しなければなりませんから、同じフォルダ内にどんなサブプログラムが存在しているのか、把握させなければなりません。
第2作では、とりあえず、後者の機能は持たせないで制作しますが、そのうち、良い方法を見付けたいです。
右の図がそうで、1から5までの番号をふられた青い四角は5本あるサブプログラムを、英単語をふられた赤い丸は関係するファイルを、フォルダの形はフォルダを表します。
言葉で説明すると、
- サブプログラムの1がフォルダの外にある“food”ファイルをフォルダ内に取り込む
- サブプログラムの2がフォルダ内の“food”ファイルを消費して“command”ファイルを作成する
- サブプログラムの3が“command”ファイルを読み込んで、フォルダの外に“chiyo_1_new”フォルダを作ると同時に、“chiyo_1_new”の名前を記した“infomation”ファイルを作成する
- サブプログラムの4が“infomation”ファイルを読み込んで、“chiyo_1_new”フォルダ内に5本あるサブプログラムのすべてを複製する
- サブプログラムの5が他の4本のサブプログラムを起動させる
フローチャートのように概念図でも記号などの規則があるのだとは思いますが、とりあえずは我流で、説明の補助に使うつもりです。
制作開始から2ヶ月も掛かって、電命1作目の4本目のサブプログラムがようやく完成しました。
といっても、2ヶ月間毎日制作していたわけではなくて、毎週水曜日に1回、途中で2回休んだので、7日間の作業だったわけですが、小説を1本完成させたような満足感です。先週書いたように、役割の見直しは電命2作目に持ち越すことにしたこともあって、エレガントなプログラムとはとても言えませんが、当初予定していた役割を果たす分には何の問題もありません。
残すは5本目のサブプログラムのみで、これは単純なプログラムですから、1日で多分できると思います。
つまり、年内完成は難しいかもしれないと思っていた電命1作目が12月上旬にできそうだということで、この見通しにもとても満足しています。
今日は先週成功した“chiyo_1_4_test_test”(4本目のサブプログラムのテストプログラムのテストプログラム)を基に“chiyo_1_4_test”を制作し直して、これもあっさり成功しました。
先々週まで悩んでいたのは一体何だったのだろうという感じで、来週の“chiyo_1_4”(4本目のサブプログラム)もきっとうまくできると思いました。また、プログラムの中身もだいぶすっきりしたので、1~3本目のサブプログラムの役割を見直すのは2作目の電命ということにして、この1作目の電命では今の役割のままで完成できそうだとも思っています。
あと、私はC++のエディタ(?)として『BCC Developer』というソフトを使っているのですが、1つのプロジェクトの中に複数のcppファイルを追加すると、コンパイルしたプログラムがうまく動かないということに今さらながら気付きました。
mixi ID:24077499
twitter:@kaba2308
dNoVeLs:かば
Powered by "Samurai Factory"