なんとなくだらだらと。方向性はまだ決まってない。
当方のプログラムでは、山田巧さん作成のDXライブラリを利用させていただいてます。
本サイト http://homepage2.nifty.com/natupaji/DxLib/index.html
DX Library Copyright (C) 2001-2008 Takumi Yamada.
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
だらだらと心の赴くままに、メイン関数に仕事を突っ込み続けてきたわけですが。
そろそろ、どうしようもないぐらいの大きさに肥大しきってしまっている。 このへん整理しておこう。 まず、気になってる「街の処理」を抜き出す。 ぐわっと範囲指定して、根こそぎ適当に作った関数に入れる。 main.cpp Result TownEvent(Unit& player) { Result res; int cmd,cmdcnt = 0; static int stayPrice = 10; cout << "\n\n街にいます。\n"; player.ShowStatus(); player.ShowMoney(); while(1){ cmd = 0; cout << "どうする?(1:出撃 2:宿屋(" << stayPrice << "G) 9:終了):"; if(cmdcnt){ cin.clear(); cin.ignore(); } cin >> cmd; cout << "\n"; if(cmd == 1) { res = DEPARTURE; break;} if(cmd == 2) { player.Stay(stayPrice); cmdcnt = 0; //stayPrice += 5; // 泊まるたびに値上げしていくよ(;^ω^) } if(cmd == 9) {res = ABORT; break;} if((++cmdcnt)>10){res = ABORT; break;} //無限ループ防止 } return res; } 前回勇み足だった、enum Result の宿屋側の状態が、ようやく日の目を見ることに。 ここから抜けだす条件は、DEPARTURE(出撃)と ABORT(強制終了)だけなので STAY(宿に泊まる)とかは意味無しの盲腸なんだけど。 いっしょうけんめいエキサイト和英辞典で調べたのに。 ちょこちょこ整合性整えながら、隠し味を仕込む。 stayPrice なんて付け加えて、宿屋の値段を変更できるようにしてみる。仕込みはじゅうぶん。 呼び出し側 main.cpp while(1) { // 街 res = TownEvent(player); if(res==ABORT) break; // 戦闘 for(int i=0;i<5;++i) { えー? こんなに短くなっていいの? って感じになってしまった。 なんか不安な気もするけど、よく考えて流れ読んでも不自然なところは無さそう。 テストプレイも問題なく動いてる。 ・・・あの、これ、宿屋で断られても宿代どんどん上がっていくんですけど・・・ ちょっといたずら程度のつもりだったけど、思いつきで入れるには案外修正箇所が多くなりそう だったんで、コメントアウトで保留しておくことにする。 この調子で行くぜ! ってなわけで、敵味方の初期化も外に出す。 まずは味方。 main.cpp void InitPlayer(Unit &player) { player.Init("ゆうしゃ", 30, 8, 5, 0); } int main() { Result res; srand(static_cast<unsigned int>(time(NULL))); Unit player,enemy,eList[5]; InitPlayer(player); 意味無いというかむしろ長くなったような気がするけど、そんなことは無いんだぜ。 次の段階でセーブ・ロードを作ろうと思ってるから、またメインに書いてメインが長くなると 俺の機嫌が悪くなる。 簡単に追い出したんで、次は敵の一覧を・・・ ・・・できない(´・ω・`) クラスの配列を参照する方法がよくわからん。 これこそ、外部ファイル作ってユーザーに勝手に改造して遊んでもらう部分なのに。 同様に、戦闘(斡旋)の部分も、敵一覧が渡せないんで保留。 俺にゲームの完成を求めるなら、グローバル宣言してやる! PR |
カレンダー
カテゴリー
フリーエリア
最新記事
(01/29)
(01/28)
(01/26)
(12/28)
(12/27)
(12/25)
(12/20)
(09/09)
(09/09)
(09/09)
(09/08)
(09/08)
(09/08)
(09/06)
(09/05)
(08/27)
(08/27)
(08/27)
(08/25)
(08/23)
ブログ内検索
P R
アクセス解析
カウンター
|