C++でドラクエっぽいRPGを作る 2
■ このスレッドは過去ログ倉庫に格納されています
0001代理
2008/05/14(水) 02:52:59ID:WT/twc82しょっぱなからつまずいています、知恵を貸してください。
前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1193935988/
0494名前は開発中のものです。
2008/08/18(月) 23:15:13ID:0+YHBYw/0495名前は開発中のものです。
2008/08/19(火) 00:13:22ID:MsTO3DHj>>493は>>1へのレスじゃないだろ
0496名前は開発中のものです。
2008/08/19(火) 00:24:50ID:RgLV5Kvl0497はかせ
2008/08/19(火) 02:25:44ID:z5mLI+1V・モンスターを選択するウィンドウの表示がおかしくなるバグを修正しました。
気になっていたバグを修正しました。下のバグはネタ画像にもなったやつですね。
移転先HPですが、前の要領でフレームにしたら広告が… Orz
tp://chiekoubou.is.land.to/game/dqi/
あまりにも悲惨なのでフレームなしのとりあえず表示でやっていきたいと思います。
こういう場合ってどうやって作るのが普通なんでしょうか?
>>471
確かに、いきなりこの量のソース見たらびびりますね。
無駄なコードが多分に含まれてはいますが、改めてみてみると感慨深いですね。
>>472
命名センスのなさは認めます。規則にバラつきがあるのも認めます。慣習を知らないのも認めます。初心者故ですね。Orz
ここにあがったものだけでもだいぶ勉強になりました。ありがとうございます。
実は今までも命名についてはかなり迷っているところがあったのでとても参考になりました。
0498はかせ
2008/08/19(火) 02:27:39ID: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
これからはなるべく気をつけて命名するようにします。
複合的な〜 について思う節があるので、もしよかったら詳しく教えていただけませんか?
僕的にはこういう流れはすごく勉強になって好きです。
もっとがんばらないと、ですね。
0499名前は開発中のものです。
2008/08/19(火) 17:00:18ID:r+k2TZd5blogや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を使うことによって楽になるところは相当多いと思うよ。
何らかの理由があって使っていないのなら、無理に使うことはないけれども。
0500名前は開発中のものです。
2008/08/19(火) 18:46:22ID:1woZSuX2結局使っちゃってるけど、設計を自分の好きなようにいくらでも変えられるから助かる時もある。
ただし、バグも出る諸刃の刃。お勧めできない
0501名前は開発中のものです。
2008/08/19(火) 18:54:53ID:Ph3tewl0コンパイルエラー時にメッセージが複雑に長くてどこが悪いのか判りにくくなるからな。
STLじゃなくて自分でテンプレートクラス書いてると単純なエラーでもどこが悪いのか悩む。
STL本格的に使うならboostも一緒に導入すると細かいところで楽になる。
0502名前は開発中のものです。
2008/08/19(火) 19:12:30ID:wG5Ez9Tw0503名前は開発中のものです。
2008/08/19(火) 19:28:09ID:Ph3tewl0shared_ptrやfunction とかは使える場面があるけど無理して使わなくてもいい。
0504名前は開発中のものです。
2008/08/19(火) 22:45:48ID:MDMvHR7MJavaならコレクション使えば一発だ
0505名前は開発中のものです。
2008/08/20(水) 01:43:08ID:silPLPWz0506名前は開発中のものです。
2008/08/20(水) 02:39:15ID:hkSDB9oMlambdaとかbindを濫用するなら使わない方がマシ
0507名前は開発中のものです。
2008/08/20(水) 08:19:33ID:W/mvUxvV職場にもいたなぁw
0508名前は開発中のものです。
2008/08/20(水) 08:36:42ID:qavygNSp0509名前は開発中のものです。
2008/08/20(水) 08:50:14ID:PMgwkPN/0510名前は開発中のものです。
2008/08/20(水) 09:34:31ID:IPKuD1VKこれはBoostやSTL知らない人のレスだろうに…
Javaができないからってひがむなよってどういうこと?
C++できない人がひがんでる?
0511名前は開発中のものです。
2008/08/20(水) 21:07:28ID:kR/PHjf40512名前は開発中のものです。
2008/08/20(水) 22:36:45ID:PMgwkPN/0513名前は開発中のものです。
2008/08/20(水) 23:23:30ID:cYvBxw4h0514名前は開発中のものです。
2008/08/20(水) 23:36:15ID:TG+l28nC自分は常に警告レベル最大にして全て潰すようにしてるけど
(warning(disable: xxxx)も使わないようにしてる)
はかせは警告あんまり気にしないん?
0515名前は開発中のものです。
2008/08/20(水) 23:49:44ID:tt7o9dHV0516名前は開発中のものです。
2008/08/20(水) 23:53:59ID:wJzqOKpl【C++】で【ドラクエ】っぽいRPG作ってる方ならどなたでもウェルカムです。
0517名前は開発中のものです。
2008/08/20(水) 23:58:54ID:tt7o9dHV0518はかせ
2008/08/21(木) 02:01:57ID:BIYH1H2Stp://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してくれると僕も一緒にがんばろう、って思えるのでぜひ。
0519名前は開発中のものです。
2008/08/21(木) 09:55:00ID:tmUnDpCYcharまたはunsigned charででもcastしてみるとか。
0520名前は開発中のものです。
2008/08/21(木) 11:20:12ID:7HsiUGvXhtmlをインクルードしたいだけなら、たしかにPHPでもできるけど
SSIで十分だよ
0521名前は開発中のものです。
2008/08/21(木) 17:50:23ID:tdN6z+5v稲葉さんのboost本買って読んでみればいいと思うよ
あれはそんなにディープなところまで触れてないし
仮に1年進まなくても後々に詰まる確率はぐっと減ると思うけど、
あっちの世界に行って帰ってこれなくなる可能性もあるんで無理に触るまででもないだろうけど
lexical_castは<sstream>を使ってる
std::cout << 1ってやっても、std::cout << "moge"ってやっても表示されるのを
出力先をstd::stringに対してやってるってだけ、文字→数字も同様
0522名前は開発中のものです。
2008/08/22(金) 01:13:37ID:8hzGXGJC0523名前は開発中のものです。
2008/08/22(金) 08:17:27ID:+lslaMQB0524名前は開発中のものです。
2008/08/23(土) 02:48:38ID:KtWsIdoCだなw
0525はかせ
2008/08/23(土) 08:29:01ID:I5V34fLMSTLを使ってみよう第一弾って事で。自分で動的配列を作ったことは決して無駄じゃないはず。(知識的な意味で)
・アクティブになってないコマンドのカーソルが点滅しなくなりました。
フィールドで【つよさ】【つよさをみる】とか選ぶと、後ろのカーソルが点滅するのがちょっと気になってたので修正。
戦闘の時にメインのコマンドを選択する前にモンスターのカーソルが表示されるのがちょっと気になってたのでそれも修正。
・混乱の呪文を実装しました。
・混乱時の行動を実装しました。
混乱時は通常攻撃しかしないようになってます。攻撃呪文も使わせたいですね。
DQ4みたいに混乱時の行動リストをJobクラスに持たせると面白いかもしれません。
tp://chiekoubou.is.land.to/game/dqi/index.php
今日から旅行に行って来るので更新できません。
旅行行くより>>518さんの本買いにいきたかったなぁ…
でもあっちの世界に行って帰ってこれない可能性はかなり高いと思いますw
0526名前は開発中のものです。
2008/08/23(土) 10:30:46ID:AzhheOVc今更だけどLet's Boostでググって
使えそうなものだけ拾い読みして利用すれば十分だと思うよ
0527名前は開発中のものです。
2008/08/23(土) 19:44:52ID:fgzdK2eT0528名前は開発中のものです。
2008/08/23(土) 20:05:28ID:BTMg51ocたまにいるじゃん。
何かに対しては異常な集中力を発揮して優れた結果を残すけど
別の部分が普通の人と比べて異様に抜けてる人。
作業中はでかい声で話しかけても聞こえない。
0529名前は開発中のものです。
2008/08/23(土) 20:27:50ID:YdmUVAqc実際のイベントでは置換されるみたいだけど
こういうのって普通は定数にしておくもんなの?
0530はかせ
2008/08/25(月) 04:56:43ID: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
音楽、となるとシーケンサーか… 無料でお勧めありますか?
0531はかせ
2008/08/25(月) 04:59:36ID:wLocDoDiお礼言い忘れました。ありがとうございます。
さらっと呼んで頭の片隅において、使えそうな時に使ってみます。
0532名前は開発中のものです。
2008/08/25(月) 06:08:33ID:8IAKXHS+is○○はbool値を返すときに使うけど、こういう付け方は英文としておかしいのでは
慣習的に理解はできるけど
0533名前は開発中のものです。
2008/08/25(月) 06:11:10ID:8IAKXHS+ファミコンより昔のゲーム機だろこれw
0534名前は開発中のものです。
2008/08/25(月) 06:19:20ID:ixFVssZy0535名前は開発中のものです。
2008/08/25(月) 06:42:15ID:8IAKXHS+0536名前は開発中のものです。
2008/08/25(月) 11:05:32ID:aZofoDFcあと別の人がソース見たときに、程度が低いと見られてまともに読んでもらえなくなる。
0537名前は開発中のものです。
2008/08/25(月) 12:08:34ID:M89mqnrmちゃんとフルスペルで書かないと、
後々困るのは自分だぜ
0538名前は開発中のものです。
2008/08/25(月) 13:19:48ID:m1ItHVq3goukeiとかfuragu1みたいな変数名がゴロゴロしてて萎えた覚えがある・・・
一応名の通ったSIに発注した管理システムでの話
0539名前は開発中のものです。
2008/08/25(月) 13:54:00ID:KMXLLuM8日本語変数名も場合によっては有り、伝えたいことがはっきりしていれば長さも短いし。
ただ混在表記や○○_001とか連番でわけられるのは辛い。
0540名前は開発中のものです。
2008/08/25(月) 13:56:12ID:bEp/Ybeu0541名前は開発中のものです。
2008/08/25(月) 14:49:06ID:NJGLNsKR0542名前は開発中のものです。
2008/08/25(月) 17:44:32ID:ixFVssZy0543名前は開発中のものです。
2008/08/25(月) 17:47:43ID:R0cq6O4p0544名前は開発中のものです。
2008/08/25(月) 17:56:55ID:vWQVvn+h一端全て日本語でプログラムして、
それをhtml形式に変換してサクラのレンサバにうpしてから
エキサイトのページ翻訳で英語に直して、
それをメモ帳にコピペして.txtに保存してから
VC++4.0でプロジェクト作り直してmain.cppをつくって、
さっき保存した.txtを友達に読み上げてもったものをipodでボイスレコして、
それをペリカンの着払いで自宅に送ってもらって
ノイズが酷い時は一端除去して、
それを聞きながらmain.cppに打ち込んで、
最終的に学校のVC++8で新しいバージョンに変換してコンパイルしてる。
どうだろう、全然面白くないだろ?
0545名前は開発中のものです。
2008/08/26(火) 00:40:38ID:E+9qtV0Kあるあ、、、、ねーよ、と思うだろ、でもこれマジ話だったりするんだぜw
ちなみに別働のシステムを依頼したら今度は日本語の変数名だったんだぜww
まあわかりやすさって意味じゃ、開発段階ではメリットがあるのかもしれないが、
入力の手間とストレスだけでもくだらない工数とも呼べない手数が増えてそうだと思ったよ
0546はかせ
2008/08/26(火) 02:34:08ID:cnIrd0Ueメタルスライムが倒しにくくなったはずです。まだルカニが効くのでそれで倒せるかも。
英語は苦手です。命名センスがないのもわかってます。
isEFlagのisは慣習なのでそれはそれで良いとして、省略のしかた、ですよね。
countをcntとかctにするのはみんなやってるから問題ないと思うのですが、
MonsterをMonsとかはこのソースに触ってればすぐなれると思いますが、
Vihとかいきなり出てきても意味不明ですもんね。
ただ、適当に数字をつけて管理するのだけはしません。
0547名前は開発中のものです。
2008/08/26(火) 03:22:17ID:N84veEKyすごいな
頑張れ、応援してる
0548名前は開発中のものです。
2008/08/26(火) 03:32:28ID:WPzuCDpO後で見た時に省略すればしただけ困る。
まぁ、リアルタイムで作ってるときは面倒くさいから省略したくなるけどね。
0549名前は開発中のものです。
2008/08/26(火) 09:52:32ID:ns4EvLV8一画面内に収まるような小さな関数のローカル変数なら省略もまあ有り。
クラス内で参照、引数などの外部とやり取りするなら省略しない方がいい。
RedGreenBlueをRGBとするような一般的な短縮ならいいけど複数の意味になりやすいのは避ける。
0550名前は開発中のものです。
2008/08/26(火) 10:03:11ID:NgnK2efHと(1人で)突っ込みを入れてしまう・・・
0551名前は開発中のものです。
2008/08/26(火) 10:09:33ID:SI0sQ/D9わかりにくすぎる
ひとりよがりなコードは他人が苦労する
0552名前は開発中のものです。
2008/08/26(火) 10:16:47ID:DNuurAC9cntはiとかjとかkとかの親戚みたいなもんだしなあ
tmpもそうだな・・・由来は知らんが3文字じゃないとダメな理由でもあったんだろう
0553名前は開発中のものです。
2008/08/26(火) 10:30:01ID:Uv7rJDSU0554名前は開発中のものです。
2008/08/26(火) 10:31:35ID:UCjEaVk+creatつーCの標準関数もバカだがw
0555名前は開発中のものです。
2008/08/26(火) 10:38:00ID:ns4EvLV80556名前は開発中のものです。
2008/08/26(火) 10:41:46ID:73a5uErC少なくとも俺は書けなかったが
今は普通にそれで飯食ってるよ
そんなのは共同作業になってから覚えても全然遅くないと思うが
0557名前は開発中のものです。
2008/08/26(火) 12:51:52ID:ZkQxvwE+0558名前は開発中のものです。
2008/08/26(火) 14:11:47ID:+eP2LVtiこのスレでダメ出し食らいながら
少しずつ掴んでいけばいいねー
あと、部分的にコメント文が不足してるかもしれないねー
色んな人が見てくれてるソースだから
最低限メソッド一つに説明文一つ欲しいねー
構造的に組めてれば簡潔な説明文が書けるハズだしねー
焦らずちょっとずつ改良してけば良いソースになるよー
以前よりかなり綺麗になってるからねー
0559名前は開発中のものです。
2008/08/26(火) 23:12:22ID:TEbD/TEf0560名前は開発中のものです。
2008/08/27(水) 09:10:23ID:viPvqIpE「// Aボタンの処理」とか。
最近のはすごいね。
0561名前は開発中のものです。
2008/08/27(水) 09:58:21ID:+eBBtNxp最低のコメントですな
0562名前は開発中のものです。
2008/08/27(水) 10:39:59ID:iGQm+pNvC#のXMLみたいなやつ
0563名前は開発中のものです。
2008/08/27(水) 12:55:43ID:U6GVpPon> 最低限メソッド一つに説明文一つ欲しいねー
オープンソースでもいちいち関数単位でコメントなんぞ書かないソースは沢山あるし、
むしろそっちのが多いという印象だけどな。
getter/setterは通常自明だし、メンバ関数は名前見れば機能が分かる、
ぐらいのほうが望ましい。
無論つけとくとツールにドキュメントを自動生成させるときに御利益があるが
そういうのは「お仕事」としてやる時だけでいいだろ。
基本的にはソースの字面からは自明でないこと(意図やデザインなど)
を説明するのにコメントをつける。
関数よりは、クラス、定数、メンバ変数などの「データ」につけるコメントのほうが
重要だと思う。
0564名前は開発中のものです。
2008/08/27(水) 14:41:50ID:Vqvxsafr「ここはこう処理してて、するとこういう結果が出るのだー」みたいな
だから俺のソースは関数が一番コメントが多い、時点でクラスのメンバ
0565名前は開発中のものです。
2008/08/27(水) 14:47:04ID:Vqvxsafr0566名前は開発中のものです。
2008/08/27(水) 15:39:25ID:eZz9Mb0sぱっと見て分かりにくい処理につけるコメントを間違ったりするとホントに詰むぞw
マジで気をつけた方がいい。
0567名前は開発中のものです。
2008/08/27(水) 16:08:25ID:KNXd2k3Y0568名前は開発中のものです。
2008/08/27(水) 23:44:24ID:EYYJ4VR00569名前は開発中のものです。
2008/08/28(木) 01:57:39ID:Qlb2/Pnmがすばらしい実績を披露してくれるそうです
0570名前は開発中のものです。
2008/08/28(木) 05:42:25ID:JaubmWscもし実績を示せる人間がいるとするなら相当な暇人でないと
なんてマジレス
0571名前は開発中のものです。
2008/08/28(木) 08:57:56ID:8n+roiwR関数内は手段の説明
と分けるといいと思う。
関数ヘッダにチュートリアルまがいのこと書く奴は苦手。
>>568
コード示さないと理解できないゆとりですね?
わかります。
>>570
プロなんか珍しく無いし実績とは無関係
今言ってる実績って未踏採用経験者レベルでしょう
誰でもなれる職業で分け%8
0572名前は開発中のものです。
2008/08/28(木) 09:20:59ID:P5/Qw9kuそうそう
だから基本的な事でしか粋がれない(笑)
0573名前は開発中のものです。
2008/08/28(木) 09:24:32ID:JopJTyIq0574名前は開発中のものです。
2008/08/28(木) 09:33:05ID:+z0j1ZJt結構臭い奴がいるし
0575名前は開発中のものです。
2008/08/28(木) 09:36:28ID:P5/Qw9kuやっぱりそう思ってた奴って俺以外にもいたんだな(笑)
口だけのカスまじ笑える
0576571
2008/08/28(木) 11:49:42ID:8n+roiwR0577名前は開発中のものです。
2008/08/28(木) 11:52:18ID:B/qP5Zqrそうでないなら、自分から行動するものね
0578名前は開発中のものです。
2008/08/28(木) 12:02:07ID:JaubmWscこれは触っちゃいけない人
0579名前は開発中のものです。
2008/08/28(木) 12:10:24ID:yDQ1isxe0580名前は開発中のものです。
2008/08/28(木) 12:18:59ID:uGs1SCzy0581名前は開発中のものです。
2008/08/28(木) 12:23:11ID:+z0j1ZJtググれば分かるようなものばかりだったからな・・・
知識の要するものはスルーしてたんだから仕方ない。お前ら哀れw
0582名前は開発中のものです。
2008/08/28(木) 12:28:32ID:0kCumnRy口 だ け で 否 定 す る の は 簡 単 だ よ な
0583名前は開発中のものです。
2008/08/28(木) 12:53:16ID:B/qP5Zqrプロを神聖化すんなって。コード書けなくてもなれる。
>>581
>知識の要するものはスルーしてたんだから仕方ない
具体的にどこよ?
ソース読まなきゃダメってのは面倒(落とすのが)だから俺も答えたこと無いけど
0584名前は開発中のものです。
2008/08/28(木) 12:53:18ID:JaubmWsc0585名前は開発中のものです。
2008/08/28(木) 13:02:32ID:+z0j1ZJtだから前スレ嫁よ
いくつか出てくる筈
0586名前は開発中のものです。
2008/08/28(木) 13:34:39ID:B/qP5Zqr具体的に言えよ
難易度の高い話なんて出てきたことないだろ
0587名前は開発中のものです。
2008/08/28(木) 13:47:40ID:48xI/Bcq難度の低いものすら答えられなかった無能どもの巣窟だったわけだwww
0588名前は開発中のものです。
2008/08/28(木) 13:49:23ID:weQxm8cX外野のスキルが高かろうと低かろうと、はかせが望むドラクエクローンを
作れればそれでいい話なのに、スレ違いだから別スレ立ててやれよ
0589名前は開発中のものです。
2008/08/28(木) 13:51:18ID:+z0j1ZJtそういう事になるなw
前スレも読めない・はかせの疑問をスルーした事実から目を背けるかわいそうな子どもばかりだな、ここは。
0590名前は開発中のものです。
2008/08/28(木) 15:42:17ID:Qlb2/Pnm0591名前は開発中のものです。
2008/08/28(木) 16:19:31ID:Q17AYcJS0592名前は開発中のものです。
2008/08/28(木) 17:34:25ID:7Nbjl+bK自分を上の立場にいると思い込もうとしてる
大した輩じゃないな
0593名前は開発中のものです。
2008/08/28(木) 18:21:38ID:XPrdyQ+I共同制作スレで口だけだったらアレだけど。
■ このスレッドは過去ログ倉庫に格納されています