C++でFCのドラクエっぽいRPGを作るat GAMEDEV
C++でFCのドラクエっぽいRPGを作る - 暇つぶし2ch944:1
08/04/29 03:38:37 +dE29e3P
なかなか修正が終わりません。
作業時間が減ったのも要因ですが、やっぱり力不足と作った関数の流れを忘れていて作業効率が落ちている感じです。

フィールドのFlipScreenを一つにまとめる、ということで修正してますが
メッセージコマンドの扱いで悩んでます。
扱いというか、文字の表示の仕方、っていうんですかね?

それとクラス構造で迷ってます。
シーンはオープニングと移動と戦闘の三つ。
FieldクラスとBattleFieldクラスの親クラスとして抽象的なクラスを作り、それを継承したOpeningFieldクラスを追加。
それぞれに対応したAgregateCommandクラスを持ち、
キー入力を受け付けるcontrol()関数と、描写を行うdraw()関数を実装する。

なんかよく分からない文章になってます。通訳が必要かもしれません。Orz

今までの今までの成果物上げておきます。
あと極端な脱線はスルーしますが、今まで位の脱線は好きです。
書き込みが無いのは分からない単語を少しずつ調べて飲み込もうとしてるからです。

へたれな1ですが、まだまだ続けます。よろしくです。
URLリンク(sakuratan.ddo.jp)

945:931
08/04/29 04:44:17 Xk4jJJyO
>>932
thx

>>933
これから趣味でやるなら何がいいかなと思っただけなので

946:名前は開発中のものです。
08/04/29 08:51:47 /lmprzCX
タスクシステムやっとけ

947:名前は開発中のものです。
08/04/29 16:01:07 jsqLnRsc
>>945
全くの初心者ならHSPでも便利と感じてしまうし、
初心者でないならかえって不便に感じるし…
どの程度できるのか知りたいっていうのはそういう意味

旬は動的言語と.NETだけれども、初心者&ユーザー視点では抵抗あるだろうね

948:名前は開発中のものです。
08/04/30 00:35:27 YVwxJ37t
>>944
なんか、ファイルが開けないと出て
遊べないんだよね
俺の環境のせい?
ファイルパスのマルチバイト文字とか
そこら辺が問題の予感

949:名前は開発中のものです。
08/04/30 02:14:25 dm94fi1G
>>948
Cの直下に置いてみた?


950:名前は開発中のものです。
08/04/30 20:01:46 m5kTmUDX
オブジェクト指向がよく分からん
1のコードをVBに移植しようと思うんだが
クラスに入力情報を受ける関数をぽんと作ればいいのかな

951:名前は開発中のものです。
08/04/30 20:03:11 m5kTmUDX
>>947
それはいえてる
俺たちおっさんは.NETすげーだけど
初心者は案外そうは思わないようだ

952:名前は開発中のものです。
08/04/30 22:26:32 m5kTmUDX
まず冒険の書とか選ぶ部分は
バイトリード+コモンコントロール・・・を使うのがセオリーだって
僕なんかは思うんだが

↑のソースではループしながら入力を検知するみたいで
なんか・・よく分からん
結局元のコードは無視して冒険の書は1から作り直した。
まぁVBだから早い。1日で出来た

他にもある
戦闘シーンが出てきて全体攻撃などでAI振り分け処理があるんだが
そのもともとのデータをポインタ参照で取得しているが
VBにはポインタがなくてよー分からんw

だれかフォローおね

953:名前は開発中のものです。
08/04/30 22:52:28 m5kTmUDX
まだまだある
キャラクターの基底クラス?とかあるけど、変数データが山のように
だらだらと・・・パラメータをまとめるヘッダファイルとかもあるが
VBだったらこれは多重継承に書き換えてOKだよね?

別に非難している訳じゃない
Field.cppとかよく出来てる
ここら辺は参考になった・・・けど、手元で別に開発している
ゲームプログラムとそっくりだ
結局マップチップの処理は愚直に場合分けする
しかないという結論になるのかな



954:名前は開発中のものです。
08/04/30 23:07:17 tyYl+BZ6
>>949
ソース見てたら、ただ単に未実装なだけの気もしてきた
すまん

955:名前は開発中のものです。
08/04/30 23:21:14 V/TwBdKB
>>950-953
久々に触って熱くなってるのか知らんが少し落ち着いてくれ
いじるのも設計見直すのも勝手だが、連4レスとかがっつきすぎだろう
ポインタと同等な機能の実装はググったら参照渡しとか出てくるよ

956:1
08/05/01 23:14:17 7qrsvu5o
>>950
僕ごときのソースを改変しようとか言われてちょっと嬉しかったりします。

冒険の書選択画面もフィールド移動も戦闘も、なるべく同じように扱おう、という考えでこんな感じになってます。
ちなみにバイトリードって何ですか?コモンコントロールはぐぐったらなんとなくは理解できました。

キャラクタの基底クラスの変数郡は… 
今のところ力、素早さ… 等のパラメータはMetaStatusクラスとしてまとめて持たせてますが、
どうやってまとめたらすっきりしますか?アドバイスいただけたら嬉しいです。

そういえばそろそろ次スレ立てた方がいいのかしら?


957:名前は開発中のものです。
08/05/02 00:05:36 0Fx+UNNq
>>956
VBですとクラスの多重継承の間にモジュール構造体をそのまま
取り込んだりも出来るんで、クラス数を抑えながら非常に複雑な
プログラミングが出来るんです

すいませんがC++は詳しくは知りません
多分お作りの内容で最善に近いまとめかたではないでしょうか


958:名前は開発中のものです。
08/05/02 00:07:22 0Fx+UNNq
要するに移植するにあたってのこっちの都合ってことです;
せっかく手間をかけて作業するんだから↑のようなVBの
メリットを生かして、ついでに元のコード量を大幅に
削減したいなということです

それだけです。すいません

959:名前は開発中のものです。
08/05/02 02:40:01 +Vg7G+ZR
>>957
は?VBで多重継承なんかできないでしょ?

960:名前は開発中のものです。
08/05/02 04:53:59 W+spjiUa
FCのドラクエなんてアセンブラでしょ。 多重継承は使ってませんよ。

961:名前は開発中のものです。
08/05/02 08:31:40 +Vg7G+ZR
>>960
とりあえず黙っててくれないか

962:名前は開発中のものです。
08/05/05 18:21:24 mspxDfm7
見事にスレを止めた>>961


963:名前は開発中のものです。
08/05/05 21:03:29 bM7ttr2Y
960gj
俺たちは1の動きを待ってるぜ。

964:名前は開発中のものです。
08/05/05 23:34:41 dnPAwGNu
FCのドラクエといえば会話中、ウインドウ表示中は一切他のオブジェクトが動いてないから
C言語+DXライブラリでいうところの for(i=0;i<60;i++)ScreenFlip();
みたいな処理がいたるところにあるんだろうな・・・
色んな処理を各関数内で完結できそうで楽そう

965:名前は開発中のものです。
08/05/06 01:30:32 EviW9RDm
モンスターの行動が【たたかう】以外もできるようになりました。
スライムべスがこうげきとメラを3:1の割合で使ってきます。

URLリンク(sakuratan.ddo.jp)

Flipの一元化ですが、挫折しそうです。 Orz
メッセージの表示で挫折。
イベント実行中で挫折、です。
よく考えたら、これってマルチスレッド処理にした方が楽なんじゃないか、というか
マルチスレッドっぽいものを自力で実装をするのに他ならないんじゃないか、という事に気がつきました。

いままでちまちまやってきたことが無駄になりそうですが
これはそのままにしておこうと思いました。
必要が出てきたら直します。

p.s.
またもやアク禁です。
次スレ立てられないけど、過疎スレだしなんとかなりますよね、きっと。


966:名前は開発中のものです。
08/05/06 02:39:06 WOM/spyE
はじめてきたが、お前はだれだ?

967:名前は開発中のものです。
08/05/06 02:43:10 8rS0+5WG
次スレは有志が立ててくれるさ

ところで、描画は一つのクラスに纏めた方がいいかもね
Flip云々より、複数のクラスに描画処理があるのが問題だと思う
実際流れが把握できてないみたいだしw

968:名前は開発中のものです。
08/05/06 02:43:43 8rS0+5WG
はかせ名前名前ー!

969:名前は開発中のものです。
08/05/06 02:53:26 KlSvD65Q
思うままにマルチスレッド使おうぜ

970:名前は開発中のものです。
08/05/06 03:16:57 KUBYYhJx
>>963
何がgjなのかわからん

>>960って、詭弁の定義にモロあてはまってるから
そもそも何を言いたいのか俺にはわからねえ…

971:名前は開発中のものです。
08/05/06 08:02:43 5MeL008e
>>967

最適の手法なんてものは時と共に変化するよ

972:名前は開発中のものです。
08/05/06 09:22:43 Mjb5jGkE
俺なんかはウィンドウズプログラミング始めるときに描画処理とゲーム処理で完全に分けるスタイルに変更したから
エミュレータとかにあるようなターボモードとかスローモーションとかも実装できたよ。
おかげでめんどいとこは飛ばせるぜ

973:名前は開発中のものです。
08/05/06 10:24:27 GzFpALvZ
描画処理はコールバックに、
ゲーム処理はメッセージループに書くとか?

974:名前は開発中のものです。
08/05/06 10:32:39 7NG3eqmK
ドット絵に足踏みさせないの?w

975:名前は開発中のものです。
08/05/06 12:29:43 o5unedUS
>>971
それはそうかもしれないが、
この場合は纏めるとこから始めた方がいいと思うんだよね
基礎勉強の意味でも

976:名前は開発中のものです。
08/05/06 16:19:38 KUBYYhJx
>>967
描画を1つのクラスまとめるってどういうこと?
ゲーム内オブジェクトをPaintクラスが全て追跡して描画とか?
そんな極悪な設計は考えられん…

977:名前は開発中のものです。
08/05/06 16:58:35 GABAW0Yk
>>976
確かに一つのクラスてのは言い過ぎだったかも
でも、描画を分離することに意味はあるはず

978:名前は開発中のものです。
08/05/06 19:41:47 IfzoUQfN
ゲームプログラミングにおいては>>972のやり方が普通だね
描画と状態の更新は分ける、コレ基本
で、全てのゲームオブジェクトに更新メソッドと描画メソッドを追加する
そしてメインとなるクラスから
メインループ {
更新();
if (フレームスキップするか?) {
描画();
ScreenFlip();
}
}
とするだけ、あとは各メソッドが芋づる式に呼ばれる。

979:名前は開発中のものです。
08/05/06 20:38:09 i9CaJWKJ
愛はいつだっていもづる式さ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch