
No.4ベストアンサー
- 回答日時:
>これからユニット毎の移動処理を書いていく予定でしたが
ここが既に間違っています。移動処理はスーパー(基底)クラスで書きましょう。各ユニットのクラスは移動条件のパラメータを持つだけで良いです。と言うよりレベルアップや装備などで変化するのでは?
それじゃ、(1)~(3)は理解しているって事でよろしいですか?
移動範囲の処理は、自分を中心に仮想的に移動処理を行うことで移動範囲を決めることが出来ます。再帰呼び出しを使うと効率的にプログラムする事が可能ですね。
えーと、そもそも移動処理のプログラムは作れますか?
障害物とかの判定も含めて処理する必要がありますが。
再帰呼び出しも理解している必要があります。
http://www.geocities.jp/ky_webid/c/056.html
この回答への補足
スーパークラスに書かないといけなかったんですね。
装備品などによって変化することを考えたらそうですね。
移動処理に関してはいろいろ調べて再帰呼び出しを使ったほうがいいとゆうとこまでは分かったのですが自分のコードに落とし込むのがなかなか上手くできません(技術力不足です)
他の方にアドバイスを参考にして書いてみたのですが
コンパイルは通っているのですがこれでいいのでしょうか?
再帰呼び出しは使ってないみたいなので今後の事を考えて使えるようになりたいです。
参考サイトなどでもかまいませんのでアドバイス宜しくお願いします。
下記がコードです。
//---------------------------
//戦士クラス
//---------------------------
class Soldier : public Unit {
protected:
void move(int x, int y){
int map[5][5] = {
{ 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0 }
};
int charX = 0;
int charY = 0;
int move =2;
int cmov;
for( x = 0; x < 5; x++ ) {
for( y = 0; y < 5; y++ ) {
cmov = abs( x - charX ) + abs( y - charY );// 移動可能範囲if( (cmov <= move) && (cmov != 0) ) {// 移動可能量以下で0(現在地)でない場合
map[y][x] = 1;// 移動可能}
}
}
}
これじゃ分からないですよね・・
参考サイトだけでも宜しくお願い致します。
No.9
- 回答日時:
>止めれたらどれだけ楽になれるか・・・
>とにかくやらないと始まらないので頑張って勉強します。
そうお考えなら仕方ないでしょう。
こんな本もありますので、購入してみて下さい。中古しかアマゾンには無いようです。
http://www.amazon.co.jp/dp/4797316802/
「ロールプレイングゲームプログラミング」と書かれていますが、中身はシミュレーションRPGの入門です。
少なくとも作業工数ぐらいは見積もるべきだと思いますがね。
No.8
- 回答日時:
>僕は理解してるつもりですが上が理解してないです。
>でもやるしかないので、
もしかして仕事なんですか?
「現在自作で」と言っていたので、趣味かと思ったんですが。
ともかく、無理です。
あなたの今の技術レベルでは、二年から三年かかっても完成しません。
敵の思考ルーチンなんて、手を付けることさえ不可能なはずです。
勉強しながら進めれば、少しづつ進むと思っているでしょうが、まず基本に返って勉強しない限り行き詰まるだけです。
「でもやるしかないので、」なんて思考停止状態で作れるはずが無いじゃないですか。
ゲーム業界いたので、そんな開発で中止になる開発を幾つも見てきましたが、今の内に止めるのが最良の選択肢です。
この回答への補足
>今の内に止めるのが最良の選択肢です。
止めれたらどれだけ楽になれるか・・・
とにかくやらないと始まらないので頑張って勉強します。
No.7
- 回答日時:
>ほんとはそうゆうとこから始めたいのですが様々な事情がありすっとばさないといけないのですorz 時間がまったくなくて・・・
じゃあ、企画的に無理だと思います。
プログラムの最後まで手取り足取り教えて貰うことなど不可能です。
企画を変えるか、諦めるか二択です。
これ以上規模の大きなコードなんて誰も読んでくれないし、誰もサンプルなんて書いてくれませんよ。
そもそも、遊べるレベルの「シミュレーションRPG」を作るのに半年以上かかるのを理解していますか?
この回答への補足
>そもそも、遊べるレベルの「シミュレーションRPG」を作るのに半年以上かかるのを理解していますか?
僕は理解してるつもりですが上が理解してないです。
でもやるしかないので、
もしよかったら
http://ayusya.hp.infoseek.co.jp/AlgorithmMoveAre …
について説明して頂きたいのですがお時間があれば宜しくお願い致します。簡単で結構です。
No.6
- 回答日時:
>やはり勉強不足ですね。
本来、もっと単純な物から始めてどんどん難しくしていく作り方をしないと一足飛びにシミュレーションRPGは難度が高いです。
例えば、オセロとか連珠、はさみ将棋などマス目が合って思考ルーチンが必要なプログラムが平気で作れる技量を培ってから挑むべきジャンルだと私は思いますが。作る自信はありますか?
※ ちなみに簡単に人間に勝てるレベルとなるとすごく難しいので、そこまではやらなくて良いです。少なくとも2から3手先は読んで欲しいですけどね。
もし難しそうなら、これより単純な三目並べ辺りから始めた方が良いでしょうね。
http://ja.wikipedia.org/wiki/%E4%B8%89%E7%9B%AE% …
この回答への補足
ほんとはそうゆうとこから始めたいのですが様々な事情がありすっとばさないといけないのですorz
時間がまったくなくて・・・
その事情を説明することはできませんが・・・
「デスマーチ」
これがキーワード・・・とゆうか答えですね。
とりあえず頑張ります。
No.5
- 回答日時:
そのコードは単純すぎますね。
障害物があった場合に対処出来ません。移動力が余分に必要な地形があった時にも無理ですね。もう少しちゃんとC/C++のアルゴリズムの勉強をしないと行き詰まることは間違いありません。
1.人の意見やサンプルを見ながら作る。
2.だんだんコードが大きくなる。
3.ここの掲示板で聞ける規模ではなくなる。
4.作る方法が聞けなくなり挫折。
って事になると思います。
>参考サイトだけでも宜しくお願い致します。
戦略系シミュレーションですが、参考になるでしょう。
http://www.jyouhoukaiseki.com/
移動範囲のアルゴリズム。
http://ayusya.hp.infoseek.co.jp/AlgorithmMoveAre …
このぐらい自力でアルゴリズム作れないとダメですよ。シミュレーションで作るアルゴリズムなんて、これなんか簡単な方ですから。
基本アルゴリズムなどの情報も紹介して置きます。
http://www2.starcat.ne.jp/~fussy/algo/index.htm
http://www.ic-net.or.jp/home/takaken/pz/index.html
http://itpro.nikkeibp.co.jp/article/COLUMN/20070 …
No.1
- 回答日時:
「シュミレーションRPG」ってなんだろう... という突っ込みは措いて, と.
最近は「シミュレーション」といってもいろんなマップ構造が使われてるんだよね. 例えば伝統的なヘックスで書いてみたりスクエアにしてみたり, あるいはスクエアを半分ずつずらしながら描いてみたり (これは実質的にヘックスと同じ), はたまた「理屈の上ではどこにでもいける」というものすらある.
「はたまた」より前と後ろとでは処理が違うんだけど, どうしたい?
この回答への補足
シミレーションですね(^―^)
説明が足りなくて申し訳ないです。
マップ構造はスクエアで考えています。
なので「はたまた」より前でお願いします。
他に必要な情報などあれば聞いてください。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Google Drive OnedriveへDropboxのデータを移動したい 6 2023/01/31 14:32
- Excel(エクセル) Excelの関数について 3 2022/11/13 23:47
- 高校 述語論理の基本的な質問 3 2022/04/23 10:35
- Visual Basic(VBA) 【VBA】もし、値が0だったら左のセルと合わせて削除したい 3 2023/04/20 10:12
- その他(ニュース・時事問題) 「ビッグモーター」の自動車修理の不正 11 2023/07/22 12:11
- その他(Microsoft Office) エクセル 表の移動 2 2023/04/05 20:29
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- 数学 a^2の範囲が分かりません 問a^2+b^2+c^2+d^=m, a≧b≧c≧d≧0を満たす整数a, 3 2022/03/26 11:32
- 格安スマホ・SIMフリースマホ Rakuten Hand 5GはmicroSDカードを認識できますか? 2 2023/03/24 16:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
基本情報技術者試験の勉強方法...
-
詰め将棋をとくのは、アルゴリ...
-
ハッシュアルゴリズム
-
アルゴリズムのB木について
-
色(RGB)に少し詳しい方にお願い...
-
偏りのある乱数のアルゴリズム
-
コピー機の拡大法について
-
2Dゲームの放物線アルゴリズム...
-
G4圧縮をTIFに変換アルゴリズム...
-
お薦めのアルゴリズム参考書
-
[ EXCEL VBA ] 図形を読み込む...
-
検索エンジンの検索結果の優先...
-
二分探索木の問題
-
SNSをやらない理由ってなんです...
-
画像の類似検索
-
連立方程式を解く
-
マージソートの比較回数の計算...
-
Officeのラスタ画像の拡大縮小...
-
2つのテキストファイルを比較...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
[ EXCEL VBA ] 図形を読み込む...
-
BCDについて
-
アルゴリズムとプロトコールの違い
-
期間重複チェックがわかりません
-
グループを均等に分けるには?...
-
多変数関数の最小値を求めるプ...
-
C♯で電卓を作成しています。演...
-
ハノイの塔のさいきアルゴリズ...
-
Officeのラスタ画像の拡大縮小...
-
VB2010にて分数表示(約...
-
ドロネー三角形のプログラム
-
マージソートの比較回数の計算...
-
書籍のソースコードを別言語に...
-
SNSをやらない理由ってなんです...
-
C言語初心者の質問失礼いたしま...
-
バケット法による文字列ソート
-
CRC-CCITT16の算出法
-
黒の塊の数え方
-
六曜の自動計算について
おすすめ情報