C++でドラクエっぽいRPGを作る 2
■ このスレッドは過去ログ倉庫に格納されています
0001代理
2008/05/14(水) 02:52:59ID:WT/twc82しょっぱなからつまずいています、知恵を貸してください。
前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1193935988/
0408名前は開発中のものです。
2008/08/09(土) 03:18:10ID:AfcxpITZよくこんなの構築できるな・・・・
0409名前は開発中のものです。
2008/08/09(土) 12:42:11ID:VXbASS0N草地を無視して、道と建物だけ注目してみるとローグっぽいマップだな
0410名前は開発中のものです。
2008/08/09(土) 13:20:17ID:5tCzU1PQ歴史だよな〜。
0411名前は開発中のものです。
2008/08/09(土) 21:09:36ID:Uo36B+c7const.h にずらーっと定義されている定数値群みたいヤツって
こういう形にするのが普通なんすか?
属性用の定数定義とか、色情報の定数定義とか
ごっちゃにしないで、各々クラスに分けて定数と持たせるなり
enum にするなりするものだと思ってたんだけど
0412名前は開発中のものです。
2008/08/09(土) 21:20:05ID:AfcxpITZこういうゲームみたいに定数がたくさん必要だと、
ひとつにまとめたほうが管理がラクだと思う
0413名前は開発中のものです。
2008/08/09(土) 21:25:56ID:rmn4CrKanamespaceで閉じ込めた方が管理はしやすいけどな。
実行環境依存で変わる定数なら最初にインスタンス作っておくとかするし。
0414名前は開発中のものです。
2008/08/09(土) 21:31:09ID:AfcxpITZどの定数がどのクラスにあるのか把握しないといけないからめんどい
0415名前は開発中のものです。
2008/08/09(土) 21:40:52ID:rmn4CrKa変わらん上にインテリセンスに任せるから。
数学定数ならMathだろうしキャラクターの状態ならキャラクタークラスだろ。
スコープの範囲を狭めておけば把握する範囲も狭くて済む。
定数増やしても再コンパイルの必要なファイルが減るし。
0416名前は開発中のものです。
2008/08/09(土) 21:48:36ID:AfcxpITZ適切なクラスに割り振るなんて、ある程度仕様や設計が固まらないとできないし
最初はひとつにまとめておいたほうが設計側としてはラク。
最初から最適化まで考慮できないだろ
0417名前は開発中のものです。
2008/08/09(土) 21:57:25ID:rmn4CrKanamespaceで区切るだけでも影響範囲を狭めることができるし
実際にすべてのクラスで必要な定数なんて皆無だから一つのファイルでまとめるよりは
ジャンルや参照別で作っておいて後でもいいから閉じ込めるべきだと。
まずはファイル別に分けるのは適当に作っていても出来ることだし。
マップオブジェクトの種類と戦闘パートの定数が一緒に定義されている必要が無いことは明らかだし
仮に両方必要なら必要なときにincludeすれば良い。
0418名前は開発中のものです。
2008/08/09(土) 21:59:05ID:Uo36B+c7なるほどー
そういや、WinUser.h とか見るとスゴイことになってますね
Java とか .NET に慣れてしまうと信じられないっす
0419名前は開発中のものです。
2008/08/09(土) 22:17:13ID:5VaRpRJNファイルは確か200以上とか膨大になっているけど。
Sintai.h 身体能力(力、賢さなど)
SINTAI_SUU SINTAI_NAME_LENGTH
Job.h (Sintai.hをインクルード)
職業(勇者、スライムなどの種族も)
JOB_SUU JOB_NAME_LENGTH
Chara.h (Sintai.hをインクルード)
キャラクター(パーティーの4人や登場モンスター、ルイーダの仲間)
CHARA_SUU CHARA_NAME_LENGTH CHARA_ITEM_SUU
CHARA_FRIEND_POS CHARA_FRIEND_SUU
CHARA_ENEMY_POS CHARA_ENEMY_SUU
typedef struct {
char name[CHARA_NAME_LENGTH + 1];
int abi[SINTAI_SUU];
int item[CHARA_ITEM_SUU];
BOOL equip[CHARA_ITEM_SUU];
}CHARA_STRUCT;
Item.h
アイテム、魔法
ITEM_SUU ITEM_NAME_LENGTH ITEM_ABI_SUU
enum{
ItemAbiEff = 0, //効果 攻撃、回復など
ItemAbiTech, //使用技術 剣、炎など
ItemAbiTimes, //使用回数、消費MPなど
ItemAbiPow, //威力
};
0420名前は開発中のものです。
2008/08/09(土) 22:36:37ID:EduQWhQl二倍表示できるようになった!あととりあえずスクロールも
明日は歩けるようにするぜ!
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0307.png
お前らが何を言ってるのかさっぱりなんだぜ・・・Σヽ(`д´;)ノ
0421名前は開発中のものです。
2008/08/09(土) 22:47:53ID:AQ4AyvVP0422名前は開発中のものです。
2008/08/09(土) 23:20:54ID:tvv/JpM/性懲りもなくSS撮ってみた。
前回がやっつけすぎたので、今回はちょいと凝ってみた。
あと、前回言い忘れていたことを…
HP解説おめ!!!
SS使ってくれてありがとう!
0423名前は開発中のものです。
2008/08/10(日) 07:13:00ID:d6+gRodnレベルが高いか低いかはおいといてw
で、誰かDivの仕組みを俺に伝授したい教えたがり屋さんはいませんかw?
0424名前は開発中のものです。
2008/08/10(日) 10:49:34ID:rBsfGzay0425402 422
2008/08/10(日) 16:19:58ID:DW9soSXFこれでMacの人でも安心だ!
ネタもあるよ。
ttp://sakuratan.ddo.jp/uploader/source/date89412.zip
0426はかせ
2008/08/10(日) 23:58:22ID:e6aICf9F>ルカニ・ルカナン・スカラ・スクルト・ボミオス・ピオリムです。
>バイキルトは重ねがけできないことを思い出しました。単純に二倍じゃダメそうです。
>バイキルト用のフラグを作って、真の時はダメージ二倍とか、ですかね。
If分岐の条件に指定のオブジェクトの位置を追加しました。
>具体的にいうと岩を動かして進むダンジョンを作れるようになります。
>ルイーダの酒場の地下にエジンベアの倉庫を作りました。
>ただし、岩を並べ終わった後に、階段そばの女に話しかける必要があります。
>そのうち並べ終わった瞬間に道ができるようにしたいですね。
>>402
マジでありがとうです。
真面目な方はポイントを抑えてていい感じですね。
ネタ?笑わしてもらいましたが何か?
ネタSS貼り付けられる掲示板を設置したら盛り上がるかもとか思いましたが、よさそうなところ知りませんか?
0427はかせ
2008/08/11(月) 00:04:19ID:mLo398O/@クラス内にconstを宣言する方法を知らない。
AEnumの定義の仕方と使い方がわからない。
以前何回か試したんですが、コンパイル通らないので諦めちゃったんですよね(汗
で、今の方法で落ち着いたわけです。
FieldCommandの定数関係はEnumで定義できたらかなり見やすくなるし、挿入削除が楽になると思うんですよねぇ…。
>>407
解説のページを作ろうかと思ったんですが、うまく説明できなかったので保留で。
期待しないでお待ちいただきたいです。
0428名前は開発中のものです。
2008/08/11(月) 00:30:47ID:h3nO6Vheとりあえずヒント。
・static constとconstとの違いは理解しているか?
・enumはググればすぐ出る。恥ずかしくなるくらいすぐ出るはず。
0429名前は開発中のものです。
2008/08/11(月) 00:36:10ID:WrgeuR9B・ちゃんと1マスずつ歩くようになった(足踏みもするよ!)
・とりあえず屋根を表示できるようになった!
明日はあの印象深い屋内への切り替わりのエフェクトを作るぜ!
でもあれはなかなか手強そうだ・・・
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0308.png
ってSSだけだと昨日とかわんねーぜ(/ω\)
0430402
2008/08/11(月) 00:44:05ID:SdqRjPTH笑ってくれてありがとう。
まぁ、そろそろネタが切れてたりするけどw
すまない… 掲示板とかはよくはわからないんだ…
0431名前は開発中のものです。
2008/08/11(月) 11:12:26ID:mz9MqFyj@"If 〜"など分岐する行でDiv::setDiv(分岐の値、-1)を実行して
Div::div[Div::divCnt]に分岐の値を入れる。Div::divCntを1増やす。
A"Div @でDiv::divに入れた値"の行までスキップし、Div::setDiv(0,Div::divcnt-1)を実行。
Div::div[Div::divCnt-1]に0を入れる。
B"Div -1"の行にいくまで通常処理をする。
C"Div -1"の行があればDiv::divCntを1減らす。
Fieldクラスを見てみるとこんな感じで、Divは状態を保持しているだけ。
後はABの処理中に関係ない"If 〜"とか"Div 〜"があると
Div::divに-1を入れて対応している。
0432名前は開発中のものです。
2008/08/11(月) 11:32:03ID:mz9MqFyj自己レスだけど、入れ子にも対応しているからBで"If〜"などの分岐があれば@にいく。
0433名前は開発中のものです。
2008/08/11(月) 11:35:29ID:WrgeuR9Bやべえ全然C++じゃないよ・・・今さらだけど
0434名前は開発中のものです。
2008/08/11(月) 11:42:47ID:8S8L71vBそれじゃ仕方ないね、さようなら ノシ
0435名前は開発中のものです。
2008/08/11(月) 16:33:03ID:phiaAekxどの言語でも作れるだろうし。
0436名前は開発中のものです。
2008/08/11(月) 17:11:00ID:wLikp14pやったことがダイレクトに見た目に反映されるからね
0437名前は開発中のものです。
2008/08/11(月) 20:04:17ID:ofDQ//Piうーん。でも、だいたいのはダイレクトに反映されないか?
呪文の実装にしても、イベント周りの実相にしても。
0438名前は開発中のものです。
2008/08/11(月) 23:08:55ID:MRq2YTh1まあ、いいんじゃない
スレに433ひとりだけだったら突っ込むところだかw
0439はかせ
2008/08/11(月) 23:44:04ID:mLo398O/>やっぱりバイキルト用のフラグを作りました。
ループの継ぎ目の時にキャラクタがうまく表示されないバグを修正しました。
>地下室を作ってる時に発覚したので修正しました。
今日はあまり進んでませんが、とりあえずUpします。
constですが、今日試してみたらなぜかすんなりできちゃいました。
なんで、あんなに試行錯誤したのにダメだったんだろう…?
全部の定数を一気に適切なクラスに以降させるのはアレなので、徐々にやっていきたいと思います。
>>431-432
解説ありがとうございます。
でもBは少し違うと思います。
【Div -1】以外が出てきたらが出てきたら【Div -1】が出てくるまでスキップ
ですね。
じゃないとDiv 1を実行してたのにいつの間にかDiv 2の内容に入っちゃいます。
クラスの役割はそのとおりです。結構苦労して組んだところだったので話題になってうれしかったり。
>>433
せっかくだから画像だけじゃなくてexeうpしてくれれば良いのに、って思ったのは僕だけでしょうか?
がんばってる人がいると思うと僕もがんばろうって思います。
0440名前は開発中のものです。
2008/08/11(月) 23:49:31ID:eWlEXfVnで、マップエディタ連携確認して満足してしまうorz
0441402
2008/08/12(火) 01:40:45ID:TlhAAscMttp://sakuratan.ddo.jp/uploader/source/date89544.zip
ついにネタが切れた。
あとは、温かく見守ったり見守らなかったりするよ…
P.S.ゴメスを扱いたかったorz
さて、ksgを作る作業に戻るか。
c言語だけどwww
0442名前は開発中のものです。
2008/08/12(火) 06:10:17ID:scU+b90qDiv全然ワカンネーお!
解説ページまだーーーーーーーーーーーーー
0443名前は開発中のものです。
2008/08/12(火) 08:09:10ID:x5PTY6AN間違ってる上にDivの説明分かりにくくてごめんorz
0444名前は開発中のものです。
2008/08/12(火) 12:12:24ID:g8zRwFNG何がわからないのかがよくわからない。
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の
処理が終わってスタックからポップされたら、自然にトップに戻る、という
仕組みだ。
スタックという言葉を聞いたことが無いのなら、一番基本的で有用な
抽象データ型なので、ぐぐれ。
0445名前は開発中のものです。
2008/08/12(火) 17:45:48ID:GuZCLZSJ0446はかせ
2008/08/13(水) 01:40:42ID:Rk75Ed6t全力で解説したつもりですが、長文で読むのがいやになるかも。
理解「不」能 だと感じた方はどこが理解不能なのかを教えてくれれば、訂正が加わるかもしれません。
すでに理解済みの方で ここの表現を変えたほうが伝わるんじゃないか?とかあったら教えてください。
>>402 さん
いろいろありがとうございました。
自分の作ったものを使っていろいろ遊んでもらうのがこんなにうれしいものだとは思わなかったです。
いろんな意味でありがとうございました。
そちらも作業もがんばってください。
0447名前は開発中のものです。
2008/08/13(水) 07:42:13ID:v6VnVmuaお人好しというかなんというか
0448名前は開発中のものです。
2008/08/13(水) 07:58:21ID:0VYg1NiV・操作説明は無い
・勝手にDLLをシステムフォルダにインスコ、アンインストーラーなどあるはずが無い
・勝手にフルスクリーン起動、終了後デスクトップの解像度はもちろんそのまま
0449名前は開発中のものです。
2008/08/13(水) 08:07:28ID:v6VnVmuaはかせの余裕というかすごさに少し嫉妬してたのかもな
0450名前は開発中のものです。
2008/08/13(水) 08:10:16ID:wP8/G76v0451名前は開発中のものです。
2008/08/13(水) 08:42:34ID:1/MHNyFQ0452名前は開発中のものです。
2008/08/13(水) 09:53:26ID:wp22Rkaa0453名前は開発中のものです。
2008/08/13(水) 15:49:58ID:u5Lx77F6何が悔しかったんだ…?
0454名前は開発中のものです。
2008/08/13(水) 16:26:26ID:+YfHE5Q5違法
0455名前は開発中のものです。
2008/08/15(金) 09:23:07ID:JhQWLpQG0456名前は開発中のものです。
2008/08/15(金) 18:48:50ID:JhQWLpQG・Divのインスタンスはゲーム中に一つですか。
・スクリプトは終了するまで他の処理ができない仕組みですか。
(途中抜けとかできる仕組みになっているのですか)
0457はかせ
2008/08/15(金) 18:50:01ID:4Tpurkoj自動的に削除される仕組みらしいです。
拡張子だけjpgとかに変えてうpする方法も考えたんですが、面倒くさいですよね。
別のサービスを探したほうがよさそうです。
ちなみに今現在ですが、岩を並べ終わった時に壁が開く仕組みにしたんですが
その弊害で通常のエンカウントをしなくなりました。
対策を考え中です。
0458はかせ
2008/08/15(金) 18:56:48ID:4Tpurkoj・Divのインスタンスはゲーム中に一つですか。
>一つしか生成してないつもりです。
>ただ、今後はどうなるかわからないです。
・スクリプトは終了するまで他の処理ができない仕組みですか。
(途中抜けとかできる仕組みになっているのですか)
>質問の意図がちょっとわからないのですが
>イベントの途中で処理を終わらせる、ということなら、処理を終了させる【Exit】という命令文を用意しています。
>内部動作的に一回抜けてまた戻って来る、という仕組みがあるか、ということなら【Fight】や【FightDiv】がそうなってます。
>一回イベント処理を抜けて戦闘に入って終了後にイベントに戻るようになってますので。
>イベントAを処理している途中でイベントBを呼び出せるかどうか、ということでしたら今現在は不可能です。
>でも、あると便利そうなので実装したいな、とは思ってます。
0459名前は開発中のものです。
2008/08/15(金) 22:30:25ID:0c2Q/86j他人の発言を引用するときには引用記号を付けずに、自分の発言には引用記号が付いてる。
普通とまったく逆なんだが、なんかこだわりでもあるの?
0460名前は開発中のものです。
2008/08/15(金) 22:34:51ID:yLTfmg3F0461名前は開発中のものです。
2008/08/15(金) 22:43:46ID:0QPM8ZlH0462名前は開発中のものです。
2008/08/15(金) 23:12:18ID:vO0KR++t0463名前は開発中のものです。
2008/08/16(土) 16:08:43ID:VXSFCnuOHPにBMP画像貼ってたし。
0464名前は開発中のものです。
2008/08/16(土) 18:33:49ID:3SqfE/JQ0465はかせ
2008/08/16(土) 20:31:44ID:KTTO2HyY知っててやらないのと知らないでやらないのは別物で、僕の場合は後者が多いです。
BMP事件も引用符事件も後者です。
知ってて存することは無いので、バトルにならない程度に教授いただければ幸いです。
暫定で新しいページ作りました。
本格的な引越しは月曜日以降になりそうです。
tp://chiekoubou.is.land.to/
・一歩歩くごとに起動するイベントMapEventが使えるようになりました。
エジンベアの岩パズルとかを実装しました。
ほかにも使いどころは多そうです。
・定型文<TrapBox>を実装しました。
罠、というかミミックですね。2にはミミックは存在せず、ダメージとか毒とかを与える罠があったような気がします。
倒した場合はあきますが、全滅した場合は閉じたままです。
・船に乗れなかったバグを修正しました。
そういえば今回は呪文は実装してなかった… Orz
0466名前は開発中のものです。
2008/08/16(土) 23:55:27ID:Kqt9T6HF0467名前は開発中のものです。
2008/08/17(日) 00:08:38ID:ZlBFK7+lfunc() {また第三者が騒いでうざいパターン}
end
これでかなりレスが節約されたな
0468名前は開発中のものです。
2008/08/17(日) 07:30:26ID:x0RxME7G自殺するかもしれない
0469名前は開発中のものです。
2008/08/17(日) 11:47:24ID:axO6ZNE/ひとりでつくれ
あと焼きそばパン買って来い
0470はかせ
2008/08/18(月) 02:13:21ID:FQStXatd・罠判定呪文を実装しました。
インパスですね。SFC3以降のアイテムにかけられるようにするかは考え中です。
・一撃死系呪文(自爆・成仏・追放)を実装しました。
メガンテ・ニフラム・バシルーラです。
ニフラム耐性とアンデッド設定を一緒にしたかったのですが、
中ボスのアンデットを使いたい場合に困るので別々に設定できるようにする予定です。
・幻惑・呪文封じの呪文を実装しました。
マヌーサ、マホトーンです。状態異常にかかってしまった時はDQ5にならって【マヌ】【マホ】と表示されます。
マヌーサを実装するためにDamageSourceクラスに(HitProb)命中率を追加しました。
マヌーサ時は命中率が30%になります。
命中率は命中率を下げて攻撃力を上げる特技とかを実装で使えそうです。
会心率を加えれば魔神の斧とか魔神斬りとかを実装できそうです。
状態異常はあと混乱のみ …だったと思います。
0471名前は開発中のものです。
2008/08/18(月) 02:59:33ID:MsaGuQh+それなりの規模のソースは
それなりの年月かけて蓄積されたものだもんな
はかせも このソースと付き合って1年ぐらいっしょ
勉強がてら作ってると、いつの間にかデッカくなってんだよね
0472名前は開発中のものです。
2008/08/18(月) 07:39:34ID:YMAFK6DN意味を追いにくい。
0473名前は開発中のものです。
2008/08/18(月) 11:28:07ID:6+bpN2CR0474名前は開発中のものです。
2008/08/18(月) 11:54:38ID:3GEyCFZj中規模クラス以上で分かりやすくて被らない付け方。
あ、良かったらgamedevwikiに足しておくから
0475名前は開発中のものです。
2008/08/18(月) 12:16:13ID:V92q0CRDヒント:コーディングスタンダード
0476名前は開発中のものです。
2008/08/18(月) 13:03:31ID:3GEyCFZj0477名前は開発中のものです。
2008/08/18(月) 13:11:34ID:YMAFK6DNgamedevwikiなんて見てないから別にいいよ。
0478名前は開発中のものです。
2008/08/18(月) 13:18:00ID:3GEyCFZj0479名前は開発中のものです。
2008/08/18(月) 13:22:06ID:YMAFK6DN0480名前は開発中のものです。
2008/08/18(月) 13:30:27ID:3GEyCFZj0481名前は開発中のものです。
2008/08/18(月) 13:31:59ID:YMAFK6DNはかせに注文しとくとすると、
あくまで俺の主観でしかないが
冗長になってもできるだけ省略はしないほうがいいかな
(三ヶ月たったら他人のソース化するから)
ってことと、Meta〜って命名が激しく抽象的でキモイと感じた。
機能としての抽象性はあってもいいと思うけど
名前に抽象性を持たせると意味が分からない。
0482名前は開発中のものです。
2008/08/18(月) 13:44:51ID:3GEyCFZj0483名前は開発中のものです。
2008/08/18(月) 13:47:27ID:Npqpv+pJ0484名前は開発中のものです。
2008/08/18(月) 13:48:29ID:YMAFK6DNあんま触ったこと無いけど。
0485名前は開発中のものです。
2008/08/18(月) 14:42:39ID:V92q0CRD手本を書くつもりなんかはなからないよ。
馬鹿は初歩からやりなおさないと。
0486名前は開発中のものです。
2008/08/18(月) 14:53:44ID:PigARpVQ0487名前は開発中のものです。
2008/08/18(月) 18:00:23ID:oDoKx3ay0488名前は開発中のものです。
2008/08/18(月) 18:07:52ID:nuhn563P0489名前は開発中のものです。
2008/08/18(月) 20:28:35ID:lMqtKf1zこのスレの中では、はかせが一番スキル持ってるな。
0490名前は開発中のものです。
2008/08/18(月) 20:49:03ID:Ha4Ju8k8BattleField::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 が付いて無ければダメ! ということであれば
まだクラスが適切な粒度で形成されていない可能性があります
0491名前は開発中のものです。
2008/08/18(月) 20:51:02ID:Ha4Ju8k8判定処理で Check○○ というメソッド名称を付けてしまいがちですが
戻り値で bool を返却する場合、メソッド名称が Check○○ だと
戻り値の true、false で、どちらが何を意味するか情報を把握しにくいです
(コメントを見なくても true、false の意味を把握できるのが理想ですよね)
is、has、can などで、戻り値の意味を提示すべきかもしれません
あと、メソッド名称とは関係ないけど
evt->getDiv()->setDiv(endPattern)
みたいな、メンバの参照を取得してから Setter を呼ぶのを見かけますが
設計次第でもっとキレイに出来そうな予感
以上、ド素人の意見ですが
変なことを書いてやがる!と思った方は、どんどんダメ出しをください
よろしくお願いします
0492名前は開発中のものです。
2008/08/18(月) 22:28:10ID:KqDxA7UD名前で何をやっているかわかるよりも、名前で種類を分類してると思われる
0493名前は開発中のものです。
2008/08/18(月) 22:57:08ID:edRwM3ak○する、○を
○だ、○は
みたいな命名が一般的だよね
そして、複合的な名前が出てくる場合はメソッドを分ける。
みたいなくだらない話をさせないでちゃんと勉強しろ
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
■ このスレッドは過去ログ倉庫に格納されています