[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 08:35 / Filesize : 255 KB / Number-of Response : 955
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++でドラクエっぽいRPGを作る 2



1 名前:代理 mailto:sage [2008/05/14(水) 02:52:59 ID:WT/twc82]
C++の勉強をかねてFCのドラクエっぽい感じのRPGを作りたいんです。

しょっぱなからつまずいています、知恵を貸してください。

前スレ
pc11.2ch.net/test/read.cgi/gamedev/1193935988/

433 名前:名前は開発中のものです。 mailto:sage [2008/08/11(月) 11:35:29 ID:WrgeuR9B]
何気なくスレを開いて“C++で作る”スレなことに今気付いた!Σヽ(`д´;)ノ
やべえ全然C++じゃないよ・・・今さらだけど

434 名前:名前は開発中のものです。 mailto:sage [2008/08/11(月) 11:42:47 ID:8S8L71vB]
そっか・・・
それじゃ仕方ないね、さようなら ノシ

435 名前:名前は開発中のものです。 [2008/08/11(月) 16:33:03 ID:phiaAekx]
別にいいんじゃない。
どの言語でも作れるだろうし。

436 名前:名前は開発中のものです。 mailto:sage [2008/08/11(月) 17:11:00 ID:wLikp14p]
マップ表示とかスクロールあたりはおそらく一番楽しい時期
やったことがダイレクトに見た目に反映されるからね

437 名前:名前は開発中のものです。 mailto:sage [2008/08/11(月) 20:04:17 ID:ofDQ//Pi]
>>436
うーん。でも、だいたいのはダイレクトに反映されないか?
呪文の実装にしても、イベント周りの実相にしても。




438 名前:名前は開発中のものです。 [2008/08/11(月) 23:08:55 ID:MRq2YTh1]
>>433
まあ、いいんじゃない
スレに433ひとりだけだったら突っ込むところだかw

439 名前:はかせ [2008/08/11(月) 23:44:04 ID:mLo398O/]
攻撃力倍化の呪文を実装しました。
>やっぱりバイキルト用のフラグを作りました。

ループの継ぎ目の時にキャラクタがうまく表示されないバグを修正しました。
>地下室を作ってる時に発覚したので修正しました。

今日はあまり進んでませんが、とりあえずUpします。

constですが、今日試してみたらなぜかすんなりできちゃいました。
なんで、あんなに試行錯誤したのにダメだったんだろう…?
全部の定数を一気に適切なクラスに以降させるのはアレなので、徐々にやっていきたいと思います。

>>431-432
解説ありがとうございます。
でもBは少し違うと思います。

【Div -1】以外が出てきたらが出てきたら【Div -1】が出てくるまでスキップ

ですね。
じゃないとDiv 1を実行してたのにいつの間にかDiv 2の内容に入っちゃいます。
クラスの役割はそのとおりです。結構苦労して組んだところだったので話題になってうれしかったり。

>>433
せっかくだから画像だけじゃなくてexeうpしてくれれば良いのに、って思ったのは僕だけでしょうか?
がんばってる人がいると思うと僕もがんばろうって思います。

440 名前:名前は開発中のものです。 mailto:sage [2008/08/11(月) 23:49:31 ID:eWlEXfVn]
マップ表示やスクロールが楽しすぎてマップエディタを作り始めるあたりが最高潮だよな
で、マップエディタ連携確認して満足してしまうorz

441 名前:402 mailto:sage [2008/08/12(火) 01:40:45 ID:TlhAAscM]
しつこくネタSSうp。
ttp://sakuratan.ddo.jp/uploader/source/date89544.zip

ついにネタが切れた。
あとは、温かく見守ったり見守らなかったりするよ…

P.S.ゴメスを扱いたかったorz
さて、ksgを作る作業に戻るか。
c言語だけどwww



442 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 06:10:17 ID:scU+b90q]
>>439
Div全然ワカンネーお!
解説ページまだーーーーーーーーーーーーー

443 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 08:09:10 ID:x5PTY6AN]
>>439 >>442
間違ってる上にDivの説明分かりにくくてごめんorz


444 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 12:12:24 ID:g8zRwFNG]
>>442
何がわからないのかがよくわからない。
IF expr THEN stmt1 ELSE stmt2 ENDIF
みたいなものを、このゲームでは以下のように書くわけだよな。
IF expr DIV1 stmt1 DIV2 stmt2 DIV-1
DIVは意味的にはGOTOラベル。DIV2がELSEでDIV-1はENDIF。

1)IF exprを評価したときに、分岐先のラベルをセットする。
2)非ゼロのラベルがセットされていれば、そのラベルまでGOTO。
 ジャンプ先が-1でなければ、ラベルを0に書き換えてブロック処理中である
 ことを示す。-1なら、ENDIFなので分岐終了。
3)ラベルが0の間、ブロックの中を普通に一文ずつ処理する
4)次のラベルに出会ったら、ラベルを-1に書き換える。状態2)へ飛ぶ。

状態3)で別のIFが来ることもあって、これが入れ子だ。
それに対応するために、1)では分岐先ラベルをスタックにプッシュして、
分岐が終わったらスタックからポップするようにしている。
スタックを利用することで、入れ子の一番内側(現在処理中のIF)に関する
情報が、常にスタックトップに積まれていることになるので、常に
スタックトップを見ていればいい。
外側のIFの情報は、スタックトップより下に保存されており、内側のIFの
処理が終わってスタックからポップされたら、自然にトップに戻る、という
仕組みだ。

スタックという言葉を聞いたことが無いのなら、一番基本的で有用な
抽象データ型なので、ぐぐれ。

445 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 17:45:48 ID:GuZCLZSJ]
画像は使ったらだめなの?

446 名前:はかせ [2008/08/13(水) 01:40:42 ID:Rk75Ed6t]
解説ページを作りました。
全力で解説したつもりですが、長文で読むのがいやになるかも。
理解「不」能 だと感じた方はどこが理解不能なのかを教えてくれれば、訂正が加わるかもしれません。
すでに理解済みの方で ここの表現を変えたほうが伝わるんじゃないか?とかあったら教えてください。

>>402 さん
いろいろありがとうございました。
自分の作ったものを使っていろいろ遊んでもらうのがこんなにうれしいものだとは思わなかったです。
いろんな意味でありがとうございました。
そちらも作業もがんばってください。


447 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 07:42:13 ID:v6VnVmua]
俺だったらアホの為に時間と労力を費やすことはしないだろうな
お人好しというかなんというか

448 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 07:58:21 ID:0VYg1NiV]
>>447の作るゲームを想像してみました。

・操作説明は無い
・勝手にDLLをシステムフォルダにインスコ、アンインストーラーなどあるはずが無い
・勝手にフルスクリーン起動、終了後デスクトップの解像度はもちろんそのまま


449 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 08:07:28 ID:v6VnVmua]
アホといったのは悪かった
はかせの余裕というかすごさに少し嫉妬してたのかもな

450 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 08:10:16 ID:wP8/G76v]
理解「可」能・・・理解可能・・・!

451 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 08:42:34 ID:1/MHNyFQ]
真の実力者は人格者でもある



452 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 09:53:26 ID:wp22Rkaa]
人に説明することで自分の頭の中を整理できる効果ってあるよな

453 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 15:49:58 ID:u5Lx77F6]
>>448
何が悔しかったんだ…?

454 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 16:26:26 ID:+YfHE5Q5]
>>445
違法

455 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 09:23:07 ID:JhQWLpQG]
div解説のところのサンプルが落とせない。

456 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 18:48:50 ID:JhQWLpQG]
はかせに質問です

・Divのインスタンスはゲーム中に一つですか。

・スクリプトは終了するまで他の処理ができない仕組みですか。
(途中抜けとかできる仕組みになっているのですか)

457 名前:はかせ [2008/08/15(金) 18:50:01 ID:4Tpurkoj]
ちょっと調べてみたら、あそこのサービスだとzipとかlzhとかの拡張子のファイルだと
自動的に削除される仕組みらしいです。
拡張子だけjpgとかに変えてうpする方法も考えたんですが、面倒くさいですよね。
別のサービスを探したほうがよさそうです。

ちなみに今現在ですが、岩を並べ終わった時に壁が開く仕組みにしたんですが
その弊害で通常のエンカウントをしなくなりました。
対策を考え中です。



458 名前:はかせ [2008/08/15(金) 18:56:48 ID:4Tpurkoj]
>>456
・Divのインスタンスはゲーム中に一つですか。
>一つしか生成してないつもりです。
>ただ、今後はどうなるかわからないです。

・スクリプトは終了するまで他の処理ができない仕組みですか。
(途中抜けとかできる仕組みになっているのですか)
>質問の意図がちょっとわからないのですが
>イベントの途中で処理を終わらせる、ということなら、処理を終了させる【Exit】という命令文を用意しています。
>内部動作的に一回抜けてまた戻って来る、という仕組みがあるか、ということなら【Fight】や【FightDiv】がそうなってます。
>一回イベント処理を抜けて戦闘に入って終了後にイベントに戻るようになってますので。
>イベントAを処理している途中でイベントBを呼び出せるかどうか、ということでしたら今現在は不可能です。
>でも、あると便利そうなので実装したいな、とは思ってます。

459 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 22:30:25 ID:0c2Q/86j]
はかせは引用記号の使い方は独特だな。
他人の発言を引用するときには引用記号を付けずに、自分の発言には引用記号が付いてる。
普通とまったく逆なんだが、なんかこだわりでもあるの?

460 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 22:34:51 ID:yLTfmg3F]
単なる知識不足だろ

461 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 22:43:46 ID:0QPM8ZlH]
2ちゃんでこのスレしか見てないんじゃないw



462 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 23:12:18 ID:vO0KR++t]
2ch云々じゃなくてメールとかでも普通相手の言葉に>をつけると思うが…

463 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 16:08:43 ID:VXSFCnuO]
はかせは知識がアンバランスだよな。
HPにBMP画像貼ってたし。

464 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 18:33:49 ID:3SqfE/JQ]
そんなはかせがこんなに頑張ってるのにお前等と来たら

465 名前:はかせ [2008/08/16(土) 20:31:44 ID:KTTO2HyY]
とりあえず初心者丸出しですみません。
知っててやらないのと知らないでやらないのは別物で、僕の場合は後者が多いです。
BMP事件も引用符事件も後者です。
知ってて存することは無いので、バトルにならない程度に教授いただければ幸いです。

暫定で新しいページ作りました。
本格的な引越しは月曜日以降になりそうです。
tp://chiekoubou.is.land.to/


・一歩歩くごとに起動するイベントMapEventが使えるようになりました。
 エジンベアの岩パズルとかを実装しました。
 ほかにも使いどころは多そうです。

・定型文<TrapBox>を実装しました。
 罠、というかミミックですね。2にはミミックは存在せず、ダメージとか毒とかを与える罠があったような気がします。
 倒した場合はあきますが、全滅した場合は閉じたままです。

・船に乗れなかったバグを修正しました。

そういえば今回は呪文は実装してなかった… Orz


466 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 23:55:27 ID:Kqt9T6HF]
著作権的にどうよ

467 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 00:08:38 ID:ZlBFK7+l]
begin
func() {また第三者が騒いでうざいパターン}
end

これでかなりレスが節約されたな

468 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 07:30:26 ID:x0RxME7G]
正直こんなソースひとりでつくれと言われたら
自殺するかもしれない

469 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 11:47:24 ID:axO6ZNE/]
>468
ひとりでつくれ
あと焼きそばパン買って来い

470 名前:はかせ [2008/08/18(月) 02:13:21 ID:FQStXatd]
今回の更新は呪文だけです。

・罠判定呪文を実装しました。
  インパスですね。SFC3以降のアイテムにかけられるようにするかは考え中です。

・一撃死系呪文(自爆・成仏・追放)を実装しました。
  メガンテ・ニフラム・バシルーラです。
  ニフラム耐性とアンデッド設定を一緒にしたかったのですが、
  中ボスのアンデットを使いたい場合に困るので別々に設定できるようにする予定です。

・幻惑・呪文封じの呪文を実装しました。
  マヌーサ、マホトーンです。状態異常にかかってしまった時はDQ5にならって【マヌ】【マホ】と表示されます。
  マヌーサを実装するためにDamageSourceクラスに(HitProb)命中率を追加しました。
  マヌーサ時は命中率が30%になります。
  命中率は命中率を下げて攻撃力を上げる特技とかを実装で使えそうです。
  会心率を加えれば魔神の斧とか魔神斬りとかを実装できそうです。

状態異常はあと混乱のみ     …だったと思います。

471 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 02:59:33 ID:MsaGuQh+]
自分が初心者の頃は中規模以上のソースを見てビビってたけど
それなりの規模のソースは
それなりの年月かけて蓄積されたものだもんな
はかせも このソースと付き合って1年ぐらいっしょ
勉強がてら作ってると、いつの間にかデッカくなってんだよね



472 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 07:39:34 ID:YMAFK6DN]
はかせのソースはクラスや関数の命名が分かりにくいから
意味を追いにくい。

473 名前:名前は開発中のものです。 [2008/08/18(月) 11:28:07 ID:6+bpN2CR]
それはたしかにあるな

474 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 11:54:38 ID:3GEyCFZj]
では、関数名の命名の手本をどうぞ
中規模クラス以上で分かりやすくて被らない付け方。
あ、良かったらgamedevwikiに足しておくから

475 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 12:16:13 ID:V92q0CRD]
>>474
ヒント:コーディングスタンダード

476 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:03:31 ID:3GEyCFZj]
手本になってナイヨー

477 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:11:34 ID:YMAFK6DN]
お前に言ってないしお前の手本になるつもりも無いし
gamedevwikiなんて見てないから別にいいよ。

478 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:18:00 ID:3GEyCFZj]
素直に分かりませんていっとけばいいのに

479 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:22:06 ID:YMAFK6DN]
え、なに、もう信者わいてるのw

480 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:30:27 ID:3GEyCFZj]
初めて一年のプログラマにケチつけんだから手本くらい見せてやれよ先輩w

481 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:31:59 ID:YMAFK6DN]
ちなみに ID:3GEyCFZjみたいなゴミはどうでもいいけど
はかせに注文しとくとすると、
あくまで俺の主観でしかないが
冗長になってもできるだけ省略はしないほうがいいかな
(三ヶ月たったら他人のソース化するから)
ってことと、Meta〜って命名が激しく抽象的でキモイと感じた。
機能としての抽象性はあってもいいと思うけど
名前に抽象性を持たせると意味が分からない。



482 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:44:51 ID:3GEyCFZj]
思いきり気にしてるじゃネーかw

483 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:47:27 ID:Npqpv+pJ]
俺的にはJava風のネーミングが素敵。

484 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:48:29 ID:YMAFK6DN]
Javaは長いよなw
あんま触ったこと無いけど。

485 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 14:42:39 ID:V92q0CRD]
>手本になってナイヨー
手本を書くつもりなんかはなからないよ。
馬鹿は初歩からやりなおさないと。

486 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 14:53:44 ID:PigARpVQ]
C++なんだから名前被るようなのは名前空間かクラスに閉じ込めろよ。

487 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 18:00:23 ID:oDoKx3ay]
さすが夏だなぁ

488 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 18:07:52 ID:nuhn563P]
ここは口だけのカスがよく沸くなw

489 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 20:28:35 ID:lMqtKf1z]
>>488
このスレの中では、はかせが一番スキル持ってるな。

490 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 20:49:03 ID:Ha4Ju8k8]
BattleField.cpp だけ、ちょいと眺めてみました

BattleField::cmdMonsPhase
BattleField::replace_BF
BattleField::actPhaseMakeDs
BattleField::spdSetPhase

メソッド名称にある
Mons、BF、Ds spd は略語にしない方がいいかもしれません
これらの略された名称は処理対象のオブジェクトを指す大事な情報のハズ
メソッド名称が長くなって嫌ならば
むしろ "Phase" を取るべきかもしれません

BattleField::actPhaseCanAct
BattleField::actPhaseNotGuard
BattleField::actPhaseMakeDs
BattleField::actPhaseAction
BattleField::actPhaseCheckNext

メソッド名先頭の actPhase は不要な感じがします
あまり深追いしてないので全体を理解してないですが
もし、先頭に actPhase が付いて無ければダメ! ということであれば
まだクラスが適切な粒度で形成されていない可能性があります

491 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 20:51:02 ID:Ha4Ju8k8]
BattleField::actPhaseCheckNext

判定処理で Check○○ というメソッド名称を付けてしまいがちですが
戻り値で bool を返却する場合、メソッド名称が Check○○ だと
戻り値の true、false で、どちらが何を意味するか情報を把握しにくいです
(コメントを見なくても true、false の意味を把握できるのが理想ですよね)
is、has、can などで、戻り値の意味を提示すべきかもしれません

あと、メソッド名称とは関係ないけど
evt->getDiv()->setDiv(endPattern)
みたいな、メンバの参照を取得してから Setter を呼ぶのを見かけますが
設計次第でもっとキレイに出来そうな予感

以上、ド素人の意見ですが
変なことを書いてやがる!と思った方は、どんどんダメ出しをください
よろしくお願いします



492 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 22:28:10 ID:KqDxA7UD]
同じ接頭辞をつけることで同じ種類の処理関数ということを把握したいんだと思う
名前で何をやっているかわかるよりも、名前で種類を分類してると思われる

493 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 22:57:08 ID:edRwM3ak]
C++、Java、C#限定で言うなら
○する、○を
○だ、○は
みたいな命名が一般的だよね

そして、複合的な名前が出てくる場合はメソッドを分ける。



みたいなくだらない話をさせないでちゃんと勉強しろ

494 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 23:15:13 ID:0+YHBYw/]
>>1も読まない馬鹿は黙ってなさい

495 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 00:13:22 ID:MsTO3DHj]
>>494
>>493>>1へのレスじゃないだろ

496 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 00:24:50 ID:RgLV5Kvl]
原因は>>1も読めない馬鹿だろ

497 名前:はかせ [2008/08/19(火) 02:25:44 ID:z5mLI+1V]
・パーティアタックができなくなるバグを修正しました。
・モンスターを選択するウィンドウの表示がおかしくなるバグを修正しました。
 気になっていたバグを修正しました。下のバグはネタ画像にもなったやつですね。

移転先HPですが、前の要領でフレームにしたら広告が… Orz
tp://chiekoubou.is.land.to/game/dqi/
あまりにも悲惨なのでフレームなしのとりあえず表示でやっていきたいと思います。
こういう場合ってどうやって作るのが普通なんでしょうか?

>>471
確かに、いきなりこの量のソース見たらびびりますね。
無駄なコードが多分に含まれてはいますが、改めてみてみると感慨深いですね。

>>472
命名センスのなさは認めます。規則にバラつきがあるのも認めます。慣習を知らないのも認めます。初心者故ですね。Orz
ここにあがったものだけでもだいぶ勉強になりました。ありがとうございます。
実は今までも命名についてはかなり迷っているところがあったのでとても参考になりました。


498 名前:はかせ [2008/08/19(火) 02:27:39 ID:z5mLI+1V]
続き

>>490-491
actPhase〜については492さんの言うとおりです。
あのactPhase系の5個の関数が元は一つの関数で、長すぎて見づらいので分けたので名前でわかるようにしたかったんです。
evt->getDiv()->setDiv(endPattern) みたいなヤツについてですが

対策@
Div * tempDiv = evt->getDiv();
tempDiv->setDiv(endPattern);

対策A
class Event{
 void setDiv(int i){getDiv()->setDiv(i);}
};
evt->setDiv(i);

の二通りを使ってます。ただし、あまり呼ばれない場合は対策をせずにそのまま使ってます。
他に対策があったら教えてください。お願いします。

>>493
これからはなるべく気をつけて命名するようにします。
複合的な〜 について思う節があるので、もしよかったら詳しく教えていただけませんか?

僕的にはこういう流れはすごく勉強になって好きです。
もっとがんばらないと、ですね。

499 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 17:00:18 ID:r+k2TZd5]
>>497
blogやwikiみたいな多段レイアウトはcss使えばできるし
今はそっちが主流だと思う。適当なページのソース見てみるといいよ。

>>498
> evt->getDiv()->setDiv(endPattern) みたいなヤツについてですが

横レスだし適当に流してもらって構わんけど、個人的には
・DivクラスにgetDiv()/setDiv()というメソッドがあるのは気持ち悪い
・それが、EventクラスのgetDiv()とはまったく意味・機能が違うのも気持ち悪い
と感じる。
もっと言うと、Divクラスの存在意義に疑問がある。
多分俺なら単にSTLのスタックを使い、そもそもDivクラスを作らない。

勿論スクリプトをパースして構文木を作り上げるのなら、スクリプトのDiv要素に
対応したDivというクラスを持つのは自然だけど、
今の実装はそうではないよね?
実行時の分岐情報を保持するための動的なスタックにすぎない。

STLのスタックで言うと、getDiv()はtop()、setDiv()はpush()、end()はpop()に
単に対応してると思う。
他にもSTLを使うことによって楽になるところは相当多いと思うよ。
何らかの理由があって使っていないのなら、無理に使うことはないけれども。

500 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 18:46:22 ID:1woZSuX2]
俺もC++始めた頃はSTLの存在知らなくて、動的配列クラスとか無駄に作ってたな。
結局使っちゃってるけど、設計を自分の好きなようにいくらでも変えられるから助かる時もある。
ただし、バグも出る諸刃の刃。お勧めできない

501 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 18:54:53 ID:Ph3tewl0]
テンプレート使い始めると綺麗に簡潔に書けたりするけど
コンパイルエラー時にメッセージが複雑に長くてどこが悪いのか判りにくくなるからな。
STLじゃなくて自分でテンプレートクラス書いてると単純なエラーでもどこが悪いのか悩む。
STL本格的に使うならboostも一緒に導入すると細かいところで楽になる。



502 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 19:12:30 ID:wG5Ez9Tw]
boostなんて触りだしたら一年ぐらい製作が進まなくなる

503 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 19:28:09 ID:Ph3tewl0]
以前のソース流し読みしたところlexcal_castとscoped_arrayあたりなら即戦力になりそうだけど。
shared_ptrやfunction とかは使える場面があるけど無理して使わなくてもいい。

504 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 22:45:48 ID:MDMvHR7M]
たしかにDivクラスは必要ないな
Javaならコレクション使えば一発だ

505 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 01:43:08 ID:silPLPWz]
そうか、だけどこれC++なんだよ

506 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 02:39:15 ID:hkSDB9oM]
それぐらいしか使わないなら、使わない方がマシ
lambdaとかbindを濫用するなら使わない方がマシ

507 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 08:19:33 ID:W/mvUxvV]
Javaならとか言う奴マジウザい。
職場にもいたなぁw

508 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 08:36:42 ID:qavygNSp]
Javaができないからってひがむなよ

509 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 08:50:14 ID:PMgwkPN/]
いや、つーかこのスレC++前提だし

510 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 09:34:31 ID:IPKuD1VK]
>Javaならコレクション使えば
これはBoostやSTL知らない人のレスだろうに…
Javaができないからってひがむなよってどういうこと?
C++できない人がひがんでる?

511 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 21:07:28 ID:kR/PHjf4]
Java最強すぎてサーセンw



512 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 22:36:45 ID:PMgwkPN/]
そういうことばっかりしてるからJavaは嫌われるんだよな・・・

513 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 23:23:30 ID:cYvBxw4h]
ネタをネタと(ry

514 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 23:36:15 ID:TG+l28nC]
ビルドしたときに警告でるね
自分は常に警告レベル最大にして全て潰すようにしてるけど
(warning(disable: xxxx)も使わないようにしてる)
はかせは警告あんまり気にしないん?

515 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 23:49:44 ID:tt7o9dHV]
ここって>>1専用?

516 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 23:53:59 ID:wJzqOKpl]
>>515
【C++】で【ドラクエ】っぽいRPG作ってる方ならどなたでもウェルカムです。

517 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 23:58:54 ID:tt7o9dHV]
ほー

518 名前:はかせ [2008/08/21(木) 02:01:57 ID:BIYH1H2S]
PHPが使えるみたいなので、とりあえず簡易カウンターを作りました。
tp://chiekoubou.is.land.to/game/dqi/index.php
CSSだとフレームっぽいレイアウトはできますが、
メニュー用のファイルを一つだけ作って各ページで共有する、みたいなことができなさそうなのでPHPを使うことにします。
勉強するものが一個増えちゃいましたが、まぁがんばります。

Divクラスってまさにスタックそのものですね。調べてみてびっくりです。
STLのstackクラスに書き換えようと思います。

>>499
boostは文字がいっぱい並んでて手をつけたら一年は作業が進まなくなるってのに同感です。
と、いうか前スレで存在を教えてもらったけど、理解しきれないで結局使えなかったんですよね。
今なら理解できるかもしれません。が、本気で勉強すると確実に更新がとまります。
lexcal_castはすげぇ便利そうですが、内部がどうなってるかが気になる今日この頃。
この二つだけ覚えとけ!ならなんとか即戦力でつかえそうです!
でも、Divについての質問の意図はちょっと違うんd(ry…(>>491 あと、メソッド名称とは関係ないけど〜

>>514
警告は後で修正するために残してあるのと、対処法がわからなくて残っちゃってるのの二種類です。
たしか、定数値が切り捨てられる、方が対処法がわからないやつです。
放置してるのは本当はダメですよね… Orz

>>515
うpしてくれると僕も一緒にがんばろう、って思えるのでぜひ。

519 名前:名前は開発中のものです。 mailto:sage [2008/08/21(木) 09:55:00 ID:tmUnDpCY]
定数0x81は10進で129で、charの範囲外だからさ。
charまたはunsigned charででもcastしてみるとか。

520 名前:名前は開発中のものです。 mailto:sage [2008/08/21(木) 11:20:12 ID:7HsiUGvX]
>>518
htmlをインクルードしたいだけなら、たしかにPHPでもできるけど
SSIで十分だよ

521 名前:名前は開発中のものです。 mailto:sage [2008/08/21(木) 17:50:23 ID:tdN6z+5v]
>>518
稲葉さんのboost本買って読んでみればいいと思うよ
あれはそんなにディープなところまで触れてないし
仮に1年進まなくても後々に詰まる確率はぐっと減ると思うけど、
あっちの世界に行って帰ってこれなくなる可能性もあるんで無理に触るまででもないだろうけど

lexical_castは<sstream>を使ってる
std::cout << 1ってやっても、std::cout << "moge"ってやっても表示されるのを
出力先をstd::stringに対してやってるってだけ、文字→数字も同様



522 名前:名前は開発中のものです。 mailto:sage [2008/08/22(金) 01:13:37 ID:8hzGXGJC]
DirectX弄るならATLでいい

523 名前:名前は開発中のものです。 mailto:sage [2008/08/22(金) 08:17:27 ID:+lslaMQB]
VCEEじゃ使えないだろ

524 名前:名前は開発中のものです。 mailto:sage [2008/08/23(土) 02:48:38 ID:KtWsIdoC]
>>489
だなw

525 名前:はかせ [2008/08/23(土) 08:29:01 ID:I5V34fLM]
・Divクラスをtypedef std::vecter<int>に変更。
 STLを使ってみよう第一弾って事で。自分で動的配列を作ったことは決して無駄じゃないはず。(知識的な意味で)

・アクティブになってないコマンドのカーソルが点滅しなくなりました。
 フィールドで【つよさ】【つよさをみる】とか選ぶと、後ろのカーソルが点滅するのがちょっと気になってたので修正。
 戦闘の時にメインのコマンドを選択する前にモンスターのカーソルが表示されるのがちょっと気になってたのでそれも修正。
 
・混乱の呪文を実装しました。
・混乱時の行動を実装しました。
 混乱時は通常攻撃しかしないようになってます。攻撃呪文も使わせたいですね。
 DQ4みたいに混乱時の行動リストをJobクラスに持たせると面白いかもしれません。

tp://chiekoubou.is.land.to/game/dqi/index.php

今日から旅行に行って来るので更新できません。
旅行行くより>>518さんの本買いにいきたかったなぁ…
でもあっちの世界に行って帰ってこれない可能性はかなり高いと思いますw

526 名前:名前は開発中のものです。 mailto:sage [2008/08/23(土) 10:30:46 ID:AzhheOVc]
>>525
今更だけどLet's Boostでググって
使えそうなものだけ拾い読みして利用すれば十分だと思うよ

527 名前:名前は開発中のものです。 mailto:sage [2008/08/23(土) 19:44:52 ID:fgzdK2eT]
ベクター(ベクトル)のスペルってvectorじゃないの?

528 名前:名前は開発中のものです。 mailto:sage [2008/08/23(土) 20:05:28 ID:BTMg51oc]
はかせは天然なんだからしょうがないだろw

たまにいるじゃん。
何かに対しては異常な集中力を発揮して優れた結果を残すけど
別の部分が普通の人と比べて異様に抜けてる人。
作業中はでかい声で話しかけても聞こえない。


529 名前:名前は開発中のものです。 mailto:sage [2008/08/23(土) 20:27:50 ID:YdmUVAqc]
Event.cpp とかで <TargetName> がちょくちょく出てきて
実際のイベントでは置換されるみたいだけど
こういうのって普通は定数にしておくもんなの?

530 名前:はかせ [2008/08/25(月) 04:56:43 ID:wLocDoDi]
旅行から帰ってきました。
親族16人の旅行だったんですが、やっぱり一人のほうが落ち着くなぁ…。

効果音が出るようにしました。
用意したのは
・コマンドを選択した時の音(Click.wav)
・呪文を使った時の音(Spell.wav)
・ダメージがあった時の音(Hit.wav)
の三つです。
音がしょぼいのは我慢するか、自分で作ってください。そしてできれば提供してk(ry

>>529
コレが普通の方法かどうかは僕が聞きたいくらいです。

ちなみに<TargetName>とかはイベント処理の一行ごとに変換してます。
イベントスクリプトで変数のような役割です。

また一行ずつ変換しない<Shop 3>とかはイベント開始時に変換してます。
お店とか酒場とかの処理がある程度決められているけど、いちいち全部書くのが面倒くさい、って時に使います。

音が鳴ると一気にゲームっぽくなりますね。
でも、呪文の音がへぼくてめちゃくちゃレトロな感じです。(FC黎明期
ちなみに↓のスレに乗ってた↓↓で作りました。
tp://pc11.2ch.net/test/read.cgi/gamedev/1051422096/l50
tp://www.vector.co.jp/soft/dl/win95/art/se232653.html

音楽、となるとシーケンサーか… 無料でお勧めありますか?

531 名前:はかせ [2008/08/25(月) 04:59:36 ID:wLocDoDi]
>>526
お礼言い忘れました。ありがとうございます。
さらっと呼んで頭の片隅において、使えそうな時に使ってみます。



532 名前:名前は開発中のものです。 mailto:sage [2008/08/25(月) 06:08:33 ID:8IAKXHS+]
Eventフラグのチェック関数の名前がisEF()っておかしくない?
is○○はbool値を返すときに使うけど、こういう付け方は英文としておかしいのでは
慣習的に理解はできるけど

533 名前:名前は開発中のものです。 mailto:sage [2008/08/25(月) 06:11:10 ID:8IAKXHS+]
呪文の音がレトロすぎる・・・・
ファミコンより昔のゲーム機だろこれw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<255KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef