今からはじめるプログラミング10
お疲れ様です。フラグについてようやくなるべくシンプルに実装したいという目標を回収できそうな、構成を思いついたので、実装してみました。
2画面目の上にそのままフラグというチェックボックスを設けて、チェックを入れた状態(フラグを立てた状態)とチェックを入れない状態(フラグが立ってない状態)で違う画面に遷移するようにしています。
ソースが少し多くなって、ブログにコピペだと、みづらいので、GoogleDriveのリンクをはります。
今までのサンプルも入っているので、復讐しつつ、フラグ回収のソースコードもみていただければと思います。
ポイントとしては、
SimpleStoryFrameのコンストラクタにフラグを追加したものを作り、前からあるコンストラクタと共有するプログラムを組み換えている。
FlgListenerとFlgManageクラスを新規作成、インスタンスをひとつにするコーディングにすることで、どの画面からもリスナーからも同じフラグを参照、操作する。
SimpleStoryActionでフラグが立っていた場合に別ルートへ分岐する記述。
物語・・・になっていませんが、ちょっと水彩に合わせて、適当なテキストを追加してみました。
水彩はBoothさんで画集として登録しているので、もしよろしかったら、あと現状で実行形式もつくってアップしようと思います。
今後の課題としては、TODOに記述している通り、
・コンテンツを外部リソースかして、プログラムをいじらなくても、テキストの入れ替えや更新ができるようにする。
・戻るボタンがないので作成する。
・エラー処理。
・保存と読み込み。
あたりが主な課題ですかね?次回は別のことをしていると思いますが、ゆっくりお付き合いください。
ところで、皆さんは最初のプロジェクトで何ステップぐらいコーディングすることになるのでしょうか?あるいは何ステップコーディングしましたか?
ステップカウンターで数えて報告するプロジェクトもありましたが、僕は、最初のJava画面アプリで10000ステップ以上コーディングしました。
4画面で最後の難しい画面で半分以上。。。ようするに最後はスパゲッティコードを作成しています。あまり設計とかわからなかったし、とりあえず動くことを目指して。。。
最初にそんなステップ数をコーディングすることは稀だと思いますが、みなさん体を大切に仕事に従事しましょう。ちなみに2番目のプロジェクトでは、いよいよWEBアプリケーションのプロジェクトに参加するわけですが、プロジェクトの内容を知ったのは一週間くらい前で、フレームワークなるものを使って、実装するということで、再び一週間で勉強してプロジェクトに臨む・・・そんなはめになりました。結局2つめのプロジェクトは自分の関係のないところで、失敗に終わるのですが、 作業場所も遠く、残業も多く・・・業界の闇をひしひしと感じるプロジェクトでした。プロジェクトのメンバーはみんないい人ばかりだったんですけれど。世の中ってどうしてこんな感じなんでしょうね。結局新しいものをつくる、という場合に、何をどう見積もるのか、計画がもう立てられなかったのかな、と思います。では自分では計画できたのか、と問われるとうーむ。と唸ってしまいますが・・・。
難しいですね。