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


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

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



1 名前:名前は開発中のものです。 [2007/11/02(金) 01:53:08 ID:M/fkomaJ]
C++の勉強をかねてFCのドラクエっぽい感じのRPGを作りたいんです。

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

<<使用しているもの>>
BorlandC++
DXライブラリ
ドラクエフォント


DXライブラリはここ
ttp://homepage2.nifty.com/natupaji/DxLib/index.html

ドラクエフォントはここ
ttp://slime4.hp.infoseek.co.jp/font/font.html






209 名前:名前は開発中のものです。 mailto:sage [2007/12/22(土) 01:36:50 ID:NqisS1wp]
無知じゃない奴ならいくらでもパクれるだろうが、
そんな奴はパクっても、自分が楽をするくらいの意味しかないだろ。

>>208
ソース丸々コピーしても、
その後どこを動かせばどうなるのかがきちんと分かってないと、
結局自分のしたいようにはできないんだよな。

210 名前:名前は開発中のものです。 mailto:sage [2007/12/22(土) 01:55:30 ID:wzivk57h]
俺はパクるからどうでもいいよ

211 名前:1 [2007/12/22(土) 16:57:59 ID:GupsOJNk]
プログラムって再利用の積み重ねで成り立っているものだと思ってました。
どこまでが再利用でどこまでがぱくりかの線引きは人それぞれなんでしょうが。
自分で書いたものを他人が、「俺が書いたんだぜー」見たいにいわれるとさすがにそれは違うだろ、と思いますが
でも、ソースを公開している以上、利用者の良識にまかせるしかないですよね。

直りきってない状態ですが、とりあえずUpします。
エンカウント時に生成されていないモンスターが現れるバグがあります。
名前が初期化時の【ななし】になっていてsizeが【0】だから多分。
原因は不明です。

あと敵がいくら殴っても倒れません。
ダメージ量が想定しているより少ないです。

ダメージが思うように出ない問題解決のために、ステータス表示ウインドウを作ってみます。

tp://sakuratan.ddo.jp/uploader/source/date63666.lzh

212 名前:名前は開発中のものです。 mailto:sage [2007/12/22(土) 18:06:58 ID:RJx1d8cq]
色々弄ったらVC2005でもコンパイルできた

213 名前:名前は開発中のものです。 mailto:sage [2007/12/22(土) 22:13:12 ID:76aqh1yL]
DirectXつかわないのでもOK?

214 名前:名前は開発中のものです。 [2007/12/22(土) 23:42:56 ID:dee/YD/W]
この掲示板における悪辣ないわゆる「叩き」による
ゲーム開発の業務妨害行為(刑233/234)に対する
情報提供をお待ちしております
有料で販売していたソフトを公開中止に追い込まれました
現在も無料ですが広告収入を得ており業務は継続し
民事上の損害額は発生していると考えています
よろしくお願いします
darkhouse.milan.jp/
hogehogent@hotmail.co.jp


215 名前: mailto:sage [2007/12/22(土) 23:50:21 ID:jgGcqNY9]
叩きたくて必死で己の低脳丸出しな書き込みに気づいてないのかなw

216 名前:名前は開発中のものです。 [2007/12/22(土) 23:59:13 ID:dee/YD/W]
>>215
それは具体的にどういうことですか?

217 名前: [2007/12/23(日) 03:15:11 ID:YeyPpYCN]
>>212
多分、VC用のDXライブラリに入れ替えるだけで大丈夫だと思います。
もしダメだったら、ここをこうしないとダメだよ、等のアドバイスがあるとかなり嬉しいです。

>>213
全然おkです。

>>211 のバグはなんとか直ったみたいです。
モンスターが倒れないのは、勇者一行をロードする時に攻撃力、守備力がちゃんと設定できてなかったからでした。
ななしがでるのは、モンスターのグループの数を設定し、
モンスターの総数を決定した時にサイズオーバーでグループごと切り捨てた時に起こるバグでした。

ステータスの詳細が見れるウインドウを追加しました。
モンスターがダメージを受けたときに点滅します。
モンスターを倒した時のグラが消えるタイミングを修正しました。
ダメージを受けた時のメッセージを 味方だと うけた! 敵だと あたえた!になる様になりました。

あと戦闘後のResult画面とパーティアタックを実装すれば修正作業完了です。
途方にくれていた修正作業が年内におわりそうでよかった。

tp://sakuratan.ddo.jp/uploader/source/date63747.lzh



218 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 11:05:23 ID:1h86Cx8E]
eclipse+gcc(cygwin)でビルドしようとしたらだめだった。

とりあえず、itoaは処理系依存のようなので、
char * itoa(int number,char *s,int figure){
if(figure != 10){
msgBox(std::String("itoaの引数違反"));
return NULL;
}
sprintf(s,"%d",number);
}
の関数で代用。

219 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 11:06:03 ID:1h86Cx8E]
続き。

問題はconst。
constオブジェクトからはconst以外のメンバ関数の呼び出しはエラー
になるし、当然、const関数ではメンバ変数への代入がエラーになる。
具体的に、
MetaStatus * Job::getGrowth(void)
をconst Jobから呼ぼうとすると、
const MetaStatus * Job::getGrowth(void) const
にする必要があり、この戻り値はjobのメンバ変数で、
この関数ではそのメンバ変数に代入して返そうとするのでエラー。
参照渡しにして、
void Job::getGrowth(MetaStatus &metaStatus) const{
metaStatus.setSTR(GetRand(status.getSTR()));
metaStatus.setCON(GetRand(status.getCON()));
metaStatus.setDEX(GetRand(status.getDEX()));
metaStatus.setINT(GetRand(status.getINT()));
metaStatus.setLUC(GetRand(status.getLUC()));
}
呼び出し側で、
MetaStatus growth;
party->getMember(i)->getJob()->getGrowth(growth);
とするとOK。
長くなったけど、まだ他にもたくさんconst関連のエラーが出てる。
あとは>1が自分でやってちょ。

220 名前: [2007/12/23(日) 12:06:32 ID:YeyPpYCN]
>>218
itoaって処理系によっては使えなかったんですか…。
てっきりANSI Cとかで定められてると思ってますた Orz
ここまでやってきて実はsprintf関数の存在を知らなかったりします。
実はずっとあればいいのに、って思っていた関数だったので感謝。

>>219
constに関しては意味を勘違いしていました。
警告はでてたけど、無視してました。
const MonsterParty * mp = *((MonsterParty **)valuable)
とかやってステートメントが長くなって括弧が多くなって読解不能になるのを回避するべく
マクロみたいに、コンパイル時に置き換えられるのかとばっかり思っていて
そうじゃなかったらしいことは うすうす気がついていたんですが、気づかない振りをしてしまいました。
ま、動くならいいか、と。

参照渡しについては要勉強ですね Orz
まだconst関係のエラーを直していない、リザルト画面追加Ver
tp://sakuratan.ddo.jp/uploader/source/date63778.lzh

221 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 12:43:02 ID:91qXaWQF]
>>217
入れ替える他適当にプロジェクトの設定を変えないと駄目だったけど、
それはVC固有の問題なので置いておくとして

class foo {
void func() {}
};

const foo f;
f.func(); // <- error

主にget***()のような函数でこういうのが問題になってたかな
get***のような函数では恐らくメンバの値を変更しないのでconstつけた方がいいかも

222 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 12:43:33 ID:91qXaWQF]
被った・・・

223 名前: [2007/12/23(日) 13:11:26 ID:YeyPpYCN]
const の問題を解決しました。
MetaCmdでconstメンバ変数をただの変数に変えただけ。
本来は全部手打ちする奴を手抜きするための変数だったからと思って。

でも単に値を返すためのget**()は全てconstをつけるべきですよね。
ただ、ポインタを返すget*()はconstにしちゃうとダメ。
getMember(i)->setHP(100);
みたいな使い方をして、メンバ変数を変更したいから。

メモリの効率的な使い方が分らないので、
とりあえず、と思ってなるだけクラスを作るのを避けてきたんですが、
(そのためにデコンストラクタが呼ばれた時にメッセージがでる);
そういうのもあんまりよくないんだろうなぁ…

tp://sakuratan.ddo.jp/uploader/source/date63785.lzh

224 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 16:23:12 ID:puPpIEyb]
そもそもDXライブラリはcygwinでの利用を想定していない

225 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 19:29:09 ID:1h86Cx8E]
>>224
というわけで、VC6でビルドしてみた。
VCでビルドするにはいくつか注意が必要。
まず、forループのintの再定義でエラーが出るので、
プロジェクトのプリプロセッサの定義に
for="if (false) ; else for"
を入れる。これでエラーが出なくなる。

226 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 19:29:51 ID:1h86Cx8E]
続き
DxLibはサイトからVC用の2.24をダウンロードしてくる。
次に、これは俺の環境でだけかもしれんが、DxLibのバージョンのせいか
(2.24使用)ウインドウ化してからDxLibを初期化するとうまく動かない。
ので、
ChangeWindowMode(TRUE); //ウインドウモードで起動
SetGraphMode(512,480,16) ; //ファミコンの画面サイズの二倍
この二行を、
if( DxLib_Init() == -1 ){
Error("DXライブラリの初期化に失敗しました。");
return -1;
}
のあとに持ってくる。

227 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 19:30:19 ID:1h86Cx8E]
さらに続き
さらに、このプログラムでは、読み込むセーブデータの形式が
デバッグモードの場合csvで、そうじゃない場合savとなっているが、
VCではデバッグ用の定義がDEBUGではなく、_DEBUGなせいで
セーブデータが読み込めない。
OpeningCommands::openSaveData
OpeningCommands::getFileAmount
の中の、
#ifdef DEBUG

#ifdef _DEBUG
にする。

とりあえずこれで動いた。



228 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 19:34:20 ID:1h86Cx8E]
で、だ。
敵とエンカウントしたら、落ちた。
MsgCmd::Draw()の中に
msgRecord[lineIndex] += c;
とあるが、
lineIndexが初期化されていない(-52が入ってた)ので
コンストラクタでlineIndex=0とやったら落ちなくなった。


229 名前:名前は開発中のものです。 [2007/12/23(日) 19:44:05 ID:tnd2Kzyl]
VC2005で開く方法はわかります?

230 名前:名前は開発中のものです。 mailto:sage [2007/12/23(日) 21:04:00 ID:jakAnU/i]
なんだかんだ言いつつパクり候補だらけで吹いたw


231 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 02:26:02 ID:sxR7bqmX]
古代イスラエルのペテン乞食の誕生日を祝う義理なんかないね。

232 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 04:20:15 ID:Qqp4Qc85]
いつもzipでupしてて大変そうな>>1
openSVNでググってみ

upの手間解消以外にもいいことあるから

233 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 12:25:44 ID:W6Vnta1P]
sourceforge以外にもこんなのがあったのか
しかもtracつきとは…
至れり尽くせりですな

234 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 13:28:12 ID:tyHiXGGL]
>>232
なにこのオレオレ証明書
怖くてアクセスできません

235 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 13:52:28 ID:Qqp4Qc85]
>>234
>>1のアーカイブ内に盗聴されてマズイものなんか明らかに含まれてないわけで。

そもそもソースが公開されてるわけだし。
何を怖がるの?

236 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 13:59:49 ID:QMo/K7QW]
2ch的には、zipでくれ
でOK

237 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 14:02:37 ID:tyHiXGGL]
>>235
>>1がオレオレ証明書の危険性とリスクを正しく理解して使うかどうか分からないので、
あえて警鐘を鳴らしてみただけ。



238 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 14:11:31 ID:Qqp4Qc85]
>危険性とリスク
背伸びしてることはよくわかった

239 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 14:25:18 ID:tyHiXGGL]
>>238
善意でいい場所教えてたところに水をさして悪かったね。

240 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 14:34:02 ID:mDb7ohkP]
オープンソースコミュニティから認証されていれば
俺俺証明書といえどもそこらの企業が発行するよりよほど信用に値する。

241 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 14:56:27 ID:VZkDqfyR]
ID:Qqp4Qc85
これがゆとりか・・・あはっ

242 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 15:41:17 ID:GMWXNbta]
オペラだと証明書の警告出るからビビる事がある

243 名前:名前は開発中のものです。 [2007/12/24(月) 15:42:27 ID:kLIOmkDP]
cygwinってitoaは駄目なのか…。へー。

17時間かけて書いたソースを一瞬で17時間前の状態に戻してしまい、即svnを導入した俺が来ましたよ。

244 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 15:45:19 ID:GMWXNbta]
TortoiseSVNが素晴らしすぎです

245 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 16:15:18 ID:jsxGAw5D]
VSSでいいや

246 名前:1 [2007/12/24(月) 16:35:47 ID:dQ2B5wP/]
とりあえずなんか証明書が出たのはびびりましたw
オレオレ証明書って、そういう意味か。ちょっと吹いた。

とりあえず登録はしてみたものの、英語が得意ではないので、使い方がわかんない。
日本語で解説してくれるところも見つからないし
うpロダを使うよりもどういう風に良くなるのかさっぱりなんですが、
とりあえず使ってみよう、と思った次第です。

っていうか そもそもSVNってなんだ?ってレベルなので Orz
いろいろ勉強になるなぁ。。。
初心者ながらにスレ立ててよかったよ。
おまいら 本当にありがとう。


247 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 19:18:12 ID:eeQyTJgH]
俺もあんまり詳しくないけどCVSとかSubversionとかでググって見ると良いかも
要するにソースを差分更新できるって奴じゃないかな。
で、バージョン戻したりとかブランチ切ったりする時に管理が楽になるんだと思う。

なんか勘違いしてたらごめん。



248 名前:名前は開発中のものです。 [2007/12/24(月) 22:15:23 ID:vSGEO8zs]
で、VC2005での開き方おね

249 名前:名前は開発中のものです。 [2007/12/25(火) 01:26:04 ID:EFT5OR5C]
おねがいします

250 名前:名前は開発中のものです。 [2007/12/25(火) 07:21:53 ID:3AGd3eRU]
空のプロジェクト作って、その中にインポートすればいいんじゃない?
試してないけど。


バックアップということを考えて、ローカルにsvn環境入れるのが吉。

251 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 09:04:51 ID:bD/x789M]
無能が必死になっててワラタw

252 名前:名前は開発中のものです。 [2007/12/25(火) 09:28:03 ID:3AGd3eRU]
homepage2.nifty.com/natupaji/DxLib/DxLib_VC2_24.exe
ここからVC用のを落として、 >>1のソースフォルダ中に上書き。
空のプロジェクト作って、プロジェクトフォルダに>>1の中に入ってるファイルをコピー。
最後に既存項目の追加。


でもGetColorなんちゃらが未定義だってエラーが出る。
何のこっちゃ。

253 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 09:33:38 ID:/Ih03gre]
VCでコンパイルするには
DxLib.hの#define DX_USE_VISUALC_MEM_DEBUGのコメントを解除した上で
その周辺に書いてあるようにランタイムライブラリをスタティック(/MT,/MTd)にする

254 名前:名前は開発中のものです。 [2007/12/25(火) 09:58:55 ID:3AGd3eRU]
>>253
そうだった忘れてたorz


コンソールアプリケーションにしちゃってたwww
なんかもうね…。

255 名前:名前は開発中のものです。 [2007/12/25(火) 10:21:58 ID:3AGd3eRU]
win32で作り直してみたらビルドできた。わーい。


でもキーが反応しねぇ…。
最初の画面から先に進まねぇぞ。

256 名前:名前は開発中のものです。 [2007/12/25(火) 10:25:27 ID:3AGd3eRU]
>>225
>>226
>>227
>>228
をやってみた。

めんどくせぇwwww

257 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 10:45:33 ID:yp96yKtz]
なんだこの無能集団はw
ソース晒すと乞食が集まってくるのな



258 名前:名前は開発中のものです。 [2007/12/25(火) 11:55:44 ID:EFT5OR5C]
ありがとう 開けた
しかしC++って本当にコード量多いんだな
別にVBでRPGを作って、今も拡張してるんだが
その3倍はあるわ


259 名前:名前は開発中のものです。 [2007/12/25(火) 11:57:43 ID:EFT5OR5C]
ちょ;しかもよく見ると未実装部分が多いな〜〜
動かんはずだわ;;

260 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 12:55:54 ID:QQlPLUh8]
ATLかCLR使ったのでもOK?

261 名前:名前は開発中のものです。 [2007/12/25(火) 15:01:31 ID:cauaNc1L]
C++ってライブラリ面倒だよねぇ。
JavaでドラクエっぽいRPGつくってる俺は勝ち組w
ビットマップもサウンドもスレッドまで「標準」装備だから、楽だよ。

一度書けば、WindowsにMac、Linuxはもちろんちょっと書き変えて携帯でも動かせるしね。


262 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 15:13:58 ID:/Ih03gre]
最近見たアクションゲームのコードはC++で3600行弱
それをほとんど分割せずに一つのファイルに書いてた
管理できる作者が凄いと思った


263 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 15:14:09 ID:iHzefklh]
多様性というか宗教がね

264 名前:名前は開発中のものです。 [2007/12/25(火) 15:24:50 ID:EFT5OR5C]
今、手持ちのVB製RPGのコードを数えてみたが
システム部が530行しかないぞ?
Win標準のコントロールは多用してるが・・


265 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 17:44:19 ID:HsCI0IW/]
そもそもC++とかwindows以外日陰言語じゃね?

266 名前: [2007/12/25(火) 19:00:35 ID:y+e7ShHG]
いろいろお騒がせしてすみません。
>>255
最初の画面で なにかぼたんをおしてください と出てますが
反応するのはじつは【X】だけです。
ちゃんとわかるように修正しました。ごめんなさい。

>>225-
>>225
 プリプロセッサが良くわかんないので、ごめんなさい。
>>226
 僕がコンパイルしたやつが上手く起動できるか教えていただけますか?
 Init()の前に書くと、最大で表示されてから、ウインドウに戻るのがなんかかっこ悪くて、もたつくので避けたいです。
>>227
 定数を設定しているconst.hに
#ifdef _DEBUG //VCのDEBUG定義用
#define DEBUG
#endif
 と追加してみました。 これで多分動くと思います。
>>228
直しました。リファクタリングが完璧じゃなかったですね。ほんとごめんなさい。

225さん、マジ感謝です。

267 名前:1 続き [2007/12/25(火) 19:01:04 ID:y+e7ShHG]

>>229
 ごめんなさい、わかりません。

>>232
 openSVNは英語でさっぱり分かりませんでした。
 使い方が理解できるようになるまでは今までどおりでいくのでお願いします。

>>258-
ソースが長いのは僕の力量不足が原因だと思います。
初心者なんであんまり激しく叩かないでね(はぁと


MsgBox::lineIndex が初期化されていなかったバグを修正しました。
パーティアタックができるようになりました。
戦闘のコマンドのカーソル位置が前回の位置のままだったのを、常に一番上になるように修正しました。
フィールドのコマンドで、何を選んでも一応反応はするようになりました。
「しらべる」を実装しました。
なんちゃってスクリプトにGetItemを実装。でも、持ちきれなかった時の処理はまだやってません。

ちゃんと何を持っているかを表示して、選択して使えるようにしたいです。
tp://sakuratan.ddo.jp/uploader/source/date64082.lzh



268 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 22:07:35 ID:YDMhjtcq]
>>262
まぁ、3600ぐらいなら稀にいるよなwww
保守なんかでぶち当たると、担当者をおもいっくそぶん殴りたくなるけど。

269 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 23:06:27 ID:a/8xYA/E]
ワシのコードは20000行まであるぞ

移動手段は主にCTRL+F。

270 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 23:20:42 ID:ag668EB8]
イタリアンなスレでした。ごちそうさま。

271 名前: [2007/12/26(水) 02:57:21 ID:1u83AD+Q]
>>270
関係ないけど、僕チーズ苦手なんだ。
今、克服しようとがんばってるんだけど、なにかいい克服方法ないかな?


戦闘中に表示されるメッセージがとりあえず変になる不具合を修正しました。
アイテムコマンドが開けて、アイテムを捨てられるようになりました。
【つかう】と【わたす】も一応開いて、相手を選べるけど何もおこりません。

はやく使えるようにして、あと そうびもできるようにしたいなぁ…
tp://sakuratan.ddo.jp/uploader/source/date64290.lzh

272 名前:名前は開発中のものです。 [2007/12/26(水) 10:56:47 ID:7EU3RgUI]
2000行のRPG(VC++)だと、こんな感じみたい。

www.sm.rim.or.jp/~shishido/rpgp.html


273 名前:名前は開発中のものです。 mailto:sage [2007/12/26(水) 11:17:05 ID:cowMx0h2]
おまえらMeiryoKe_Consoleでソース印刷オススメ。
プリンタの設定いじれば2.5ポイントまで小さくしても識別できる。
段組4段くらいで両面印刷すると1MBくらいのソースでもA4用紙数枚に収まるぞ。
2000行どころか20000行あっても余裕

274 名前:名前は開発中のものです。 [2007/12/26(水) 15:10:48 ID:50qxxoia]
>>273
やっぱ印字して管理かぁ
極力分散化して、仕様書なしで開発してるけど、もう限界かな;

275 名前:名前は開発中のものです。 mailto:sage [2007/12/26(水) 15:46:09 ID:SCmg4E2p]
YOzFontOTWLが好き

276 名前:255 mailto:sage [2007/12/26(水) 21:36:50 ID:U+VPBuDi]
>>266
プリプロセッサの定義ってのは、簡単にいうと#defineでの定義ってこと。
_DEBUGとかのね。VisualStudio2002くらい(?)までは、同じスコープにint i
を使ったforループが二個あるとコンパイルエラーになってしまうので、
それを回避するためのマクロをソースコード外で定義してる。
最近のVCを使ってる人は問題なし。

配布されているexeはちゃんと動いてる。
ただ、俺の環境ではそうなっちゃってるんで、自分でビルドしてみたけど
同じ症状が出ちゃってる人は、こうすると、とりあえず動くよって話。

俺もリファクタリングしちゃろうかなと思ったけど、C++じゃEclipse使っても
名前の変更くらいしかできんのでアレだね。
Javaはいいぞ。IDEのリファクタリング機能が充実してるから(C#もらしい)

277 名前:名前は開発中のものです。 [2007/12/27(木) 18:56:27 ID:niNmKkqY]
Windows + EclipseでC++開発ってできるの?
できるなら俺もそうしたいが…。
Cygwin入れないと駄目だYOね…やっぱ…。



278 名前:名前は開発中のものです。 mailto:sage [2007/12/27(木) 19:25:50 ID:StfaQThG]
いや普通に出来たと思ったが。>>Eclipse

でもC++ならVC++かDelphiでいいんじゃね?
VC++もExpress Editionなら唯だし。

279 名前:名前は開発中のものです。 mailto:sage [2007/12/27(木) 23:34:33 ID:5OqnPp7P]
>>269
なんという俺ww

280 名前:名前は開発中のものです。 mailto:sage [2007/12/27(木) 23:50:02 ID:kJ7Tc5xf]
VCEEてどとねとしか作れなくね?

281 名前:名前は開発中のものです。 mailto:sage [2007/12/27(木) 23:55:21 ID:rPpTSPbm]
>>280
お前みたいな素人でもWin32のソフトが作れるようになったから
ダウンロードしてインスコしろ
www.microsoft.com/japan/msdn/vstudio/express/

VC2005EEでもちゃんと手順を踏めば作れたが
VC2008EEは勝手にインスコしてくれる
ミクロソフト様に感謝汁


282 名前:名前は開発中のものです。 mailto:sage [2007/12/28(金) 17:46:11 ID:bBukVEqP]
linuxでも動くようにSDLかirrichtでおk

283 名前:名前は開発中のものです。 mailto:sage [2007/12/28(金) 21:00:05 ID:vFKC9i1/]
>>282
釣りか?
突っ込み所満載なんだが

284 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 00:13:30 ID:E8hFcf4X]
DXライブラリの画像置き換えとかどうすればいいんでしょうか。

285 名前:名前は開発中のものです。 [2007/12/29(土) 21:57:12 ID:Wv0RLQJj]
ほす

286 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 00:19:42 ID:BeUezp3c]
【目指せ】2ch_city【世界一】

■以下のURLを踏めば街が発展する

・人口 2chcity.myminicity.com
・工業 2chcity.myminicity.com/ind
・交通 2chcity.myminicity.com/tra
・治安 2chcity.myminicity.com/sec
・環境
・ビジネス

工業以降は人口の増加に比例して選べるようになる

■発展のコツ
単に人口だけを増やしても、街は発展しない!
失業率が増えると人口が減ってしまうので、バランスよく発展させよう

■参照画像
www.uploda.org/uporg1178757.jpg
www.imgup.org/iup528827.png
www.vippers.org/img/uho2118.png

2chの力で世界1位を目指そう(`・ω・´)

287 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 00:49:10 ID:+C5YkyEz]
>>286
うぜえな
このコピペあっちこっちで見るし
よっぽど暇なんだな




288 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 00:55:37 ID:xBMBsl4k]
つか、xipとか名乗るのが来ている時点で、
このスレにもこんなのが出入りしているんだなぁと幻滅。

289 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 10:19:34 ID:D5MQ9R0C]
非2ch民乙

290 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 13:36:17 ID:FTDXJbxl]
運営が推せと言ってるわけでもないし
そもそも2ちゃん関係の街がいくつもあるだろ

291 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 13:47:05 ID:bQOjHSJq]
2ch発にこだわるバカだろ

292 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 20:57:55 ID:vox8eoxh]
【目指せ】2ch_city【世界一】

■以下のURLを踏めば街が発展する

・人口 2chcity.myminicity.com
・工業 2chcity.myminicity.com/ind
・交通 2chcity.myminicity.com/tra
・治安 2chcity.myminicity.com/sec
・環境
・ビジネス

工業以降は人口の増加に比例して選べるようになる

■発展のコツ
単に人口だけを増やしても、街は発展しない!
失業率が増えると人口が減ってしまうので、バランスよく発展させよう

■参照画像
www.uploda.org/uporg1178757.jpg
www.imgup.org/iup528827.png
www.vippers.org/img/uho2118.png

2chの力で世界1位を目指そう(`・ω・´)


293 名前:1 [2007/12/31(月) 23:48:38 ID:FFzcA1fJ]
年末の行事に追われてなかなか作業が難航してますが、挫折したわけではないので見捨てないでください。

それでは おまいら よいお年を。

294 名前:名前は開発中のものです。 mailto:sage [2008/01/01(火) 00:16:46 ID:6htQfom6]
>>1 は にげだした

295 名前:名前は開発中のものです。 [2008/01/01(火) 12:44:38 ID:bYZxBYfp]
ドラクエの逃げる効果音は秀逸

296 名前:名前は開発中のものです。 mailto:sage [2008/01/01(火) 15:44:46 ID:0nVkScXG]
久々に来たがもう二ヶ月続いてるのか
うまくいけば年内には最低限ガワくらいは出来るんじゃないの?

297 名前: [2008/01/02(水) 13:30:49 ID:MAyGlp63]
あけましておめでとうございます。

あんまり進んでないけど久しぶりのUp。
「わたす」をとりあえず実装したものの、まだ動作が変。
自分に渡すと「わたすふりをしたが…」って表示しなくちゃだったよね。

tp://sakuratan.ddo.jp/uploader/source/date65133.lzh




298 名前:1 [2008/01/04(金) 04:25:06 ID:4fMs9e5G]
フィールドのアイテム関連の実装です。
じぶんにアイテムを【わたす】と わたすふりをしたが〜 と表示されるようになりました。
【やくそう】が使えるようになりました。

tp://sakuratan.ddo.jp/uploader/source/date65379.lzh

CommandsField::giveControl()が極端に長いのが嫌です。
switch文の多様でインデントつけると逆に見づらい、みたいな現象ですが、
各コマンドごとに関数に切り分けるべきでしょうか?

アイテム使用時に
use(MsgCmd *,Character *user,Character *target,int partyState);
みたいな感じにしたかったけど、Useable.hとCharacter.hがお互いをインクルードしなくちゃいけないので無理でした。
今のところCommandsFieldクラスで無理やりやってるけど、あんまり美しくないですよねぇ…。


299 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 14:01:08 ID:aDuyr57S]
Sugeeeeeeeeeeeeeeeeeee

300 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 14:31:35 ID:OF7wpiKh]
>>298
ソース読んでないけど、互いにincludeさせられないのなら、
UserクラスとTargetクラスを作って、
CharacterクラスがUserクラスとTargetクラスを継承すれば、
Useable.hにはUser.hとTarget.hをincludeして、
Character.hにはUserable.hをincludeすればいいので、
use(MsgCmd *,User *user,Target *target,int partyState);
みたいな感じになって(゚д゚)ウマー

301 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 14:59:40 ID:0MJJiUxP]
ファイル分割と前方宣言を駆使すれば
循環インクルードは回避できるYO!

302 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 15:08:51 ID:0MJJiUxP]
あ、今回のは循環インクルード問題じゃなくて相互参照の問題だった

303 名前: [2008/01/04(金) 17:31:29 ID:4fMs9e5G]
>>300
確かに回避できますが…
HPやらNameやらを全部実装させないといけないので、あんまり意味がないような気が…
実際Characterを継承しているPCクラスがItemBoxを持っているので、ヘッダを別ければいけるんですが、
つかうと独自に設定したメッセージを表示できるアイテムとかを作れるようにしたいので
なんちゃってスクリプトの方に投げる形式にすることにしました。
static Useable::outMsg , who , to を作ってFieldクラスから命令文、使用者、対象者を見れるようにして

Field::iventPriProcess(std::string*)で
"<UserName>" とかを使用者の名前に変換して命令文を実行するようにしました。
PriProcess関数を使うと普通の村人の会話を作る時に先頭の人の名前を呼び出せたりできます。

Useableを自作スクリプトで解決する以上、
戦闘中のアイテム使用や、呪文使用も同じ方法で解決しなければいけないため
FieldとBattleFieldの上位クラスを作って継承させるか、
それぞれに独自に実装させるべきか迷ってます。
もしくは両方つかって、共用部は親クラスで、専用部は子クラスで実装すべき?
書いててわけわかんなくなってきたので 頭冷やしてきます。

tp://sakuratan.ddo.jp/uploader/source/date65423.lzh



304 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 18:14:08 ID:uTfk0Xu7]
>>298
メンバは基本ポインタのみにすれば
前置宣言だけで、継承元のクラス以外のファイルはincludeする必要はない。
というか実体を持たせるとそのクラスを作成したときにメンバに実体を持っている
クラスのインスタンスも作成されて複雑になってくると問題が発生しやすいので
基本的には単にデータをまとめたようなクラス以外はポインタで持つのが基本。
ゲーム作るのと平行してC++の勉強をもっとした方がいい。

305 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 19:53:41 ID:OF7wpiKh]
>>303
まずはそれぞれ独自に実装して、共通する部分が多いなら分離してクラス化すべし。
最初から共通部分を使いまわすことを前提に作ると、かえって冗長な部分が多くなって失敗することがある。

コードの美しさが気になるなら、リファクタリングとかデザインパターンを勉強するといいかも。

306 名前: [2008/01/04(金) 20:22:51 ID:4fMs9e5G]
>>304
基本型以外のメンバ変数はなるべく作らずにするべき、という事でしょうか?
class TestClass{
public:
int x;
};

class TestMain{
 private:
  TestClass obj;
 public:

  void setObj(TestClass *obj){
   this->obj = *obj;
  }
×
  void setObj(TestClass obj){
   this->obj = obj;
  }
};
こんな感じですか?
でも、前置宣言だけで、継承元のクラス以外のファイルはincludeする必要はない。
って言うのが いまいち理解できなくて… Orz
すみません Orz

307 名前:名前は開発中のものです。 [2008/01/04(金) 20:27:35 ID:4fMs9e5G]
>>305
なるほど。確かにそんな感じがします。
個別に作っていって見ますね。
デザインパターンはGofは買ったんですが、半分くらいしか読んでねぇ。Orz
経験を重ねて、どう便利なのか理解しないと、身にならないなー、と実感してる次第でございます。



308 名前:名前は開発中のものです。 mailto:sage [2008/01/05(土) 10:54:21 ID:NGmgLj5+]
Gofはひととおりどんなパターンがあるのか目を通しておくだけで、
あとは必要に応じて辞書みたいに引くんでいいと思う。
「ここはもっと綺麗に実装できなかな?」と思ったときにちょうどいいパターンがないか探す感じで。

最初からパターンどおりに作ろうとするとこういう罠にはまることがある。

「ここはコマンド機能だからCommandパターンで作ろう!」
 ↓
「あれ…? なんでこんなに面倒な構造にしなきゃいけないんだ…?」
 ↓
「せっかくデザインパターンを適用したのにちっとも効率良くならない。やっぱデザパタなんて糞だな。」

309 名前:名前は開発中のものです。 mailto:sage [2008/01/05(土) 12:52:55 ID:6sNkPPyH]
>>308
でも、それができるのってある程度以上パターンを実際に見たり使ったりして
ある種のとっかかりがあればの話じゃないかなぁ?

なんというか、最低限の所は抑えておかないと部分的に”より綺麗な実装”とかって困難な作業じゃん。
下手したら、一から作ったほうが早かったりするし。







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

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

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