なんとなくだらだらと。方向性はまだ決まってない。
当方のプログラムでは、山田巧さん作成のDXライブラリを利用させていただいてます。
本サイト http://homepage2.nifty.com/natupaji/DxLib/index.html
DX Library Copyright (C) 2001-2008 Takumi Yamada.
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ここから一気にゲームっぽくなる。…と思う。
テキスト、数字のやりとりだけで気持ちよくなれる人種なんて希少種。 たいしたことやってないんだけど、話を区切るタイミング逸してしまった。 乱数の初期化関連のあたりで一度切ったとしても、長いよなあ。 while(1){ player.ShowStatus(); enemy.ShowStatus(); NormalAttack(player,enemy); NormalAttack(enemy,player); break; } /* 削除 // 結果 player.ShowStatus(); enemy.ShowStatus(); */ while(1) …無限ループは漢のロマン。嘘だけど。 危険。結構怖い。取扱注意。 とりあえず、そっと骨組だけ用意して、最後に break; 入れて一発で抜けるように。 コンパイルして動くことを確認したら、少しづつ手を加えていこう。 while(1){ player.ShowStatus(); enemy.ShowStatus(); if(NormalAttack(player,enemy))break; if(NormalAttack(enemy,player))break; break; } 相手の体力がゼロになったら無限ループを抜ける。 ように作ってみた。 ゴブリンの体力を減らして動作確認してみる。 おk、ゴブリンにとどめを刺してからゴブリン動いてないな。 最後の break; 外してもよさそうだけど、ちょっとトリック仕込んでおく。 int cnt = 0; while(cnt < 20){ player.ShowStatus(); enemy.ShowStatus(); //if(NormalAttack(player,enemy))break; //if(NormalAttack(enemy,player))break; //break; ++cnt; } カウンタートラップがちゃんと働いてるか確認できたら、コメントにしたNormalAttack()を戻す。 while(1){ cout << "\ncnt:" << cnt << "\n"; player.ShowStatus(); enemy.ShowStatus(); if(NormalAttack(player,enemy))break; if(NormalAttack(enemy,player))break; if((++cnt)>100)break; } while(cnt < 100)と、条件を書いたほうがすっきりかと思ったけど、個人的にwhile(1)で 無限ループをアピールしておくほうが好きな感じ。まったくもって感性の問題。 あと、せっかくカウンターつけたんだから、ターン数表示のために使わせてもらう。 ところどころ改行入れておかないと、テキストがつながって読みにくい。 そろそろ、しばらく遊べる感じ。 何度か起動して、出来を確認してみる。 個人的にはすごく楽しいんだけど、最高速でぶん回すのはちょっと味気ない。 #include <string> #include <stdlib.h> // 乱数取得に必要 #include <time.h> // rand()の初期化に必要 #include <windows.h> // 表示のウェイトのためだけに。 Sleep(600); } cout << "\n\n終了。" << endl; こんなんできました。 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
アクセス解析
カウンター
|