[表示 : 全て 最新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






459 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 16:03:26 ID:ZxMw62D0]
>WIN32ライブラリリンクしてるとこも加工な
お前本当にDLL作ったことないのな・・・

単体のexeとほぼ同じ構造になってる
この意味がわかるか?

460 名前:名前は開発中のものです。 [2008/01/31(木) 16:20:07 ID:a5CfO9IL]
よく読め
俺はお前の言った
ヘッダの修正の話しをしている

それからdll版ってなんだ?
悪いが見たこともない
win32リンクされてるdll版でも配布されてんの?

461 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 16:26:06 ID:ZxMw62D0]
>よく読め
>俺はお前の言った
>ヘッダの修正の話しをしている
やっぱりお前わかってないってdll作ったこと無いなら素直に質問すればいい

>それからdll版ってなんだ?
C#版アーカイブに入っている。
C#で開発する際には、同梱の.NETのクラスライブラリを使ってアクセスするというだけなので、
dxlib.dll自身はネイティブ。

462 名前:名前は開発中のものです。 [2008/01/31(木) 16:36:15 ID:a5CfO9IL]
お?
あった

納得
つかC#かよ!!
というツッコミは辞めておく

勉強になったわ
サンキュー

463 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 17:58:32 ID:ad/sWf4T]
>つかC#かよ!!
>というツッコミは辞めておく

いや、そこはつっこめよw

464 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 18:17:56 ID:ZxMw62D0]
>463
>C#で開発する際には、同梱の.NETのクラスライブラリを使ってアクセスするというだけなので、
>dxlib.dll自身はネイティブ。

465 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 18:51:00 ID:ad/sWf4T]
1の開発環境はC#なのか?w


466 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 18:54:57 ID:ZxMw62D0]
>>465
だから、dxlib.dllはネイティブだと何度(ry

467 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 22:23:51 ID:Qxg+Khni]
>>452-466
お前らかっこ悪りぃwwww



468 名前:名前は開発中のものです。 mailto:sage [2008/02/01(金) 19:01:44 ID:eYKdS8Iu]
2008EEならPSDK付いてるだろ
同じ無料だし軽くなってるし

469 名前:名前は開発中のものです。 mailto:sage [2008/02/01(金) 19:19:54 ID:tyk5s2hE]
俺が初めにやったのはlibがRelease用なのにdebugでビルドしようとしたミスだ。

470 名前:名前は開発中のものです。 mailto:sage [2008/02/02(土) 09:02:14 ID:IBv7+ZuZ]
>>449
>吐き出されたエラーの量に愕然…。
>しかも見たことないエラーだから対処法がわかんないOrz

たぶん次プロジェクトで使おうとしても同じ部分でつまづくから
開発の合間に少しずつでいいから解決してみれ
オレもこれを VC++2005 でビルドできるようにするまでに
色々な部分をイジったから
分かんねーことがあったら全部ここで聞いてみー

あと、VC++2005 がアホだからかもしれんけど
BattleCommands クラスの giveControl メソッド内に
goto Spell;
があるんだが、Useable.h の Spellクラスと混同されてるみたいで
エラーになっている

Field.cpp の380行目で
構文エラー : ';' が '}' の前にありません
とか出てくるけど、
それ以前に Field クラスの iventProcess メソッドは
近いうちに何とかしといた方が良さそうだな

471 名前:名前は開発中のものです。 mailto:sage [2008/02/02(土) 14:00:18 ID:O0xDaWr+]
gotoのラベルは全て大文字が基本だね
エラー処理以外で使うべきではないが…

472 名前:名前は開発中のものです。 [2008/02/02(土) 17:38:17 ID:I9mkDQj0]
4819と4996の警告を無視するようにオプション付けると少し幸せになるかもしれん。

VC++コンパイラが文字コードを知らないバグはゲイツも認識しているらしいが修正は次期リリースを待て、
とのことだったような気がしたが、ソースは無い。

というわけで、文字コード警告は無視。
atoiは時代遅れ、という警告も無視。

無視するのはいいが、全角文字みたいにマジで認識できない文字が入っていたとしても警告出ないので注意な。

ん?
それだと警告じゃなくてエラーがちゃんと出るやもしれんが…。

どうでもいいが、コンパイラが文字コードを判別できないってアホすぎるだろ。

473 名前:名前は開発中のものです。 mailto:sage [2008/02/02(土) 17:39:12 ID:I9mkDQj0]
おっとsage忘れたごめんよ。

474 名前:1 [2008/02/03(日) 01:37:14 ID:hMoICJCS]
みんなありがとう ><
もうちょっとVCがんばってみるわ。
ちなみに、お察しの通り2005 Express Editionです。
gotoのラベルの文字衝突なんか 自力じゃ絶対わかんないって Orz
壁にぶつかったら質問しに来るね。
ほんとありがと。

475 名前:名前は開発中のものです。 mailto:sage [2008/02/03(日) 07:00:58 ID:NH1+l1Mk]
Standard Editionの俺の足元にも及ばないぜ

476 名前:名前は開発中のものです。 mailto:sage [2008/02/03(日) 13:23:59 ID:FIiEId7l]
>>474
2008でてるのに・・・

477 名前: [2008/02/04(月) 07:07:12 ID:RaDIAkOA]
2008か…
ダウソしてみる…




478 名前:名前は開発中のものです。 mailto:sage [2008/02/04(月) 12:10:13 ID:Cc7CMG8W]
>>477
俺はVisual C++ 2008 Express Editionを使っている。
使用頻度は高くないが……。
Visual C++ 2005 Express Editionと違って、
設定しなくてもWin32プログラミングが出来るのが強みだ。

479 名前:名前は開発中のものです。 [2008/02/04(月) 20:36:01 ID:RaDIAkOA]
2008ダウソしたらVC++9.0 って書いてあったけど、 Vc++6.0 の2005と どっちのほうが使ってる人多い?
それともどっちでも関係ない?
もしくは6.0で作っておけば9.0ならコンパイル通る?

480 名前:名前は開発中のものです。 mailto:sage [2008/02/04(月) 20:38:55 ID:teV1oW9H]
VC2005は8.0だよ

481 名前: [2008/02/04(月) 23:04:12 ID:RaDIAkOA]
とりあえず2008をダウソして使ってみたんですが、
DxLibのHPのガイドにそって設定を終わらせて、白い点を表示させるだけのプログラムは正常に動きました。
が、肝心のDQもどきのコンパイルは通らなかったです。
エラーメッセージはこんな感じです。

------ ビルド開始: プロジェクト: test, 構成: Debug Win32 ------
コンパイルしています...
CommandBattle.cpp
リンクしています...
.\Debug\BattleField.obj : fatal error LNK1107: ファイルが無効であるか、または壊れています: 0x23817 を読み取れません。
ビルドログは "file://c:\Documents and Settings\はかせ\My Documents\Visual Studio 2008\Projects\test\Debug\BuildLog.htm" に保存されました。
test - エラー 1、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

いろいろググって見たところ、リンカが上手く動いてないっぽい?


482 名前:名前は開発中のものです。 mailto:sage [2008/02/04(月) 23:22:27 ID:PaK1bp7B]
VisualC++用 のライブラリ使ってる?


483 名前:名前は開発中のものです。 [2008/02/05(火) 01:30:29 ID:YbsfZF5u]
>>482
ちゃんとVC用のを使ってます><
サンプルは一応動くんですよねぇ…。

ファイルの追加のやり方が間違ってる?

484 名前:名前は開発中のものです。 mailto:sage [2008/02/05(火) 01:54:57 ID:JnBm9OcX]
>>1には悪いけどはかせでワロタ

485 名前:名前は開発中のものです。 mailto:sage [2008/02/05(火) 01:57:31 ID:c8iqtCfM]
>>483
↓これはもう試した?

プロジェクトのプロパティから、構成→全般
文字セットの欄 → 「マルチバイト文字セットを使用する」に変更

486 名前:名前は開発中のものです。 mailto:sage [2008/02/05(火) 12:53:15 ID:2IEJhn/E]
>>483
リンク時のエラーということは文字セットの問題じゃないな。
Releaseモードでコンパイルしてみたらどうだ。
確か、俺はDebugモードではライブラリが入ってなくて
実行時にエラーになった覚えがある。
Releaseモードだとデバッガが使えなくなるのが難点だが。

あと、481のログは全部のソースファイルをビルドしたやつか?
ソースファイルが1つのはずはないが……。

>ファイルの追加のやり方が間違ってる?
どのように追加したのか詳しく説明してくれ。

487 名前:名前は開発中のものです。 mailto:sage [2008/02/05(火) 18:16:38 ID:Ehp9HBzC]
>>485
それ2008からなくなったよ



488 名前:名前は開発中のものです。 mailto:sage [2008/02/05(火) 18:32:15 ID:tL3mZ0gl]
>>487
あるじゃねーかww

釣られてしまった

489 名前:名前は開発中のものです。 mailto:sage [2008/02/05(火) 21:36:16 ID:YoGlW1vl]
流れ無視で書くけど致命的なエラーだからBattleField.objってのに
単純に出力されてないとかロックがかかっててアクセスできないとか
リンカが想定してるobjではないとかそんな感じだとおも
つーかLNK1107もちゃんとヘルプで確認しろよ

490 名前: [2008/02/06(水) 09:36:50 ID:q7r4U2fq]
みんなありがとう
体調不良で早く寝て、朝起きて出かける前に少しいじって、出先から携帯カキコ。
LNK1107のエラーはBCCでコンパイルしたobjファイルを削除してからビルドしたら解決した。
>>489の言うとおりヘルプ見たら解決できた。
ググるだけで、ヘルプ見るって考えが無かったよ orz

だけど、また違うエラーがでてきた。
家に帰ってからじっくりやってみる。

491 名前: [2008/02/07(木) 08:19:47 ID:+l6ry8aS]
Useable.obj : error LNK2005:
"public: static char * global::c" (?c@global@@2PADA) は既に BattleField.obj で定義されています。
C:\Documents and Settings\はかせ\My Documents\Visual Studio 2008\Projects\test\Debug\test.exe :
fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。

現状のエラーは上の感じです。LNK2005が205箇所でてます。
エラー内容はヘッダを複数回重複して読み込んでる、ってことみたいなんですが、
#ifndef _CHARACTER_H_
#define _CHARACTER_H_

本体

#endif

とやって回避したつもりでしたが、できてない様子。
ヘルプを見ると
ヘッダに
extern BOOL MyBool;
cppソースに
MyBool = false;
と記述しろ、と書いてありましたが、記入すると

error C2146: 構文エラー : ';' が、識別子 'MyBool' の前に必要です。
とエラーが出ます。

現状報告でした。



492 名前:名前は開発中のものです。 mailto:sage [2008/02/07(木) 08:37:14 ID:XCIeOzX/]
#ifdef _MSC_VER
#define pragma once
#endif /* _MSC_VER */

ヘッダの重複を避けるなら先頭に↑とでも書いておけば。

493 名前:名前は開発中のものです。 mailto:sage [2008/02/07(木) 08:37:58 ID:XCIeOzX/]
#pragma once

だったorz

494 名前:名前は開発中のものです。 mailto:sage [2008/02/07(木) 11:11:53 ID:4ZyDT5RJ]
>>491
> cppソースに
> MyBool = false;
> と記述しろ、と書いてありましたが、

cppの方でヘッダインクルードしてる?
ってか、ソース晒したほうが早いような

495 名前:名前は開発中のものです。 mailto:sage [2008/02/07(木) 12:04:04 ID:QgLjGbkn]
>エラー内容はヘッダを複数回重複して読み込んでる、ってことみたいなんですが、
>#ifndef _CHARACTER_H_
>#define _CHARACTER_H_
>
>本体
>
>#endif
>
>とやって回避したつもりでしたが、できてない様子。
これ(インクルードガードという)は全部のヘッダにやる必要があるぞ。
面倒だったら大抵のコンパイラが対応している
#pragma once
でも良い。
ヘッダファイルにグローバル変数の定義とか
記述していると重複するのでこんなエラーが出る。

>>491
> cppソースに
> MyBool = false;
> と記述しろ、と書いてありましたが、記入すると
これはBOOL MyBool = false;
の間違いじゃないか?
多分MyBoolの実体をcppソースに定義する必要があるはず。

>error C2146: 構文エラー : ';' が、識別子 'MyBool' の前に必要です。
>とエラーが出ます。
MyBool = false;
の前には何がある?
多分読み込んでいるヘッダファイルの中身がおかしい。
このエラーだと;の抜けか?

496 名前:名前は開発中のものです。 mailto:sage [2008/02/07(木) 13:24:18 ID:/8kqxVw7]
BOOLのtypedefしたヘッダ読んでないんだろうよ
あとBOOLはfalseじゃなくFALSEだな

497 名前:名前は開発中のものです。 mailto:sage [2008/02/07(木) 21:59:20 ID:tz5rxEMj]
そういやー、Usable.h の
static int amount;
static Item *itemList;
に対する
int ItemList::amount = 0;
Item * ItemList::itemList = NULL;
の部分は、上のと似たような理由でコメントアウトしたような気がするなー
そもそも静的変数って 0 で自動的に初期化されるんだっけか?



498 名前:1 [2008/02/07(木) 23:31:34 ID:+l6ry8aS]
コンパイルとおったぁぁぁああああああああああああああああ!

>>491のエラーの原因は
ヘッダファイルで関数の中身を書いてたからみたいです。
たとえば
//* const.h
class global{
 public:
  static char c[64];
  static std::string msg;
};
char * global::c = 0;
std::string global::msg = "";
はダメで


//* const.h
class global{
 public:
  static char c[64];
  static std::string msg;
};

//* const.cpp
char * global::c = 0;
std::string global::msg = "";

と、ファイルを分ければおk。
…仕様なのかな?

ろだの調子が悪いみたいなので、あとでファイルあげます。
みんな本当にありがとう T◇T

499 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 00:51:30 ID:8VOzPRyE]
>>498
静的メンバ変数はグローバル変数と似たような扱いになる。

common.hにてグローバル変数g_varが存在し、a.cpp, b.cppがそれぞれincludeしているとする。
a.cppがコンパイルされる→a.objにg_varが存在する
b.cppがコンパイルされる→b.objにg_varが存在する
最終的にリンクするときにg_varがバッティングする。

500 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 01:11:45 ID:MoDyMZB7]
某ランドでは動くのにね

501 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 11:48:47 ID:sAmmpMO4]
>>498
> //* const.h
> class global{
>  public:
>   static char c[64];
>   static std::string msg;
> };
>
> //* const.cpp
> char * global::c = 0;
> std::string global::msg = "";
こうではなくて、こちらが正しい。

//* const.h
class global{
 public:
  static char c[64];
  static std::string msg;
};
extern char * global::c;
extern std::string global::msg;

//* const.cpp
char * global::c = 0;
std::string global::msg = "";

つまり、ヘッダファイルに記述するのは
変数や関数、クラスの宣言であって、定義ではない。
これはBorland C++でも問題が出たと思うぞ。
多分Borland C++でコンパイルした時は複数のcppファイルで
ヘッダファイルをインクルードしていなかったから問題が起こらなかったのだろう。

502 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 12:50:49 ID:l8JQSvGp]
>>501
デタラメ書くなよ
コンパイルできないぞ

あと配列をポインタに変換してexternさせると長さ失うからお勧めしない

503 名前:501 mailto:sage [2008/02/08(金) 13:15:21 ID:sAmmpMO4]
>>502
すまん、間違えた。
クラスのstaticメンバだったんだな。
普通のグローバル変数と勘違いしていた。
クラス自体が宣言だ。
> extern char * global::c;
> extern std::string global::msg;
これはいらない。501で言ったことは忘れてくれ。

あと、確かに>>502の言うように
//* const.cpp
char global::c[64];
としたほうがいいな。

それで気づいたのだが、
char * global::c = 0;
はバグだな……。
ここで配列の初期化はできないぞ。
しかもポインタで代入してるし……。
>>1にはコンストラクタを使えといっておく。

504 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 22:54:29 ID:1LutvMl1]
ぼ、ぼ、ぼくも、C++でゲーム作るんだお。
すーぱーマリおだお。
members2.tsukaeru.net/ogawa/gameprogu2.html

さん、をつけて、ねっ。はずかしがりや、さんっ。
ぼ、ぼ、ぼくは、言語にふりまわされないんだからっ。えっへん、だお。
なんかー、言語名を冠につけるってはずかしいお。きゃっ。
すれちがっている。ミーンがすれちがっている。しゅーるだお。
ぼくね、IQ300なんだおって細君にいったら、絶対30だからっ!って言われたの。
1回転して、30になっちゃたんだね。って言ったら、ほんとに30だねって感心されたお。ぶぃっ!

なにがいいたいかってーと、まぁ、言語に振り回されんなや、ゲームなんて、たかだか、数値と画面を
更新してるだけのもんだで。まじでそんだけ。ぷっ。だよな。むずかしいことなんて、ひとつもないぜ。
まぁ、頑張れや。ぼ、ぼくは、いま、がんばれ屋さんです。がんばれ、1。
あんまりにも言語に振り回されている様が、恥ずかしかったので、まぁ、書き込んでしまた。

ぼくのオーバードライアブ(波紋)が、伝わっただろうか。夕陽のオレンジのオーバードライアブ(覚醒の波紋(あの裏側が目覚める!))

505 名前:名前は開発中のものです。 mailto:sage [2008/02/09(土) 00:26:46 ID:41azRV47]
C言語ぐらいわかってからゲーム作れよw

www.ascii.co.jp/books/books/detail/4-7561-1639-6.shtml
オススメ

506 名前:名前は開発中のものです。 mailto:sage [2008/02/09(土) 00:35:32 ID:ucOS0Odn]
pc11.2ch.net/test/read.cgi/gamedev/1034694683/
ここのオガワンってヤツだろ

507 名前:名前は開発中のものです。 mailto:sage [2008/02/09(土) 02:08:54 ID:uWdwi6vy]
ホームページに自分の画像を載せてるけどナルシストなのかな?

members2.tsukaeru.net/ogawa/index.html



508 名前:名前は開発中のものです。 mailto:sage [2008/02/09(土) 02:17:17 ID:OEsnMtz3]
>>504
あまりにも酷いソースでお茶噴いたww

509 名前:名前は開発中のものです。 mailto:sage [2008/02/09(土) 21:35:27 ID:vKTa7a8F]
>>504
宣言わろた

510 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 00:36:09 ID:Ze9YCxYS]
>>504
> int TIME[3]; //基本的に、通番の変数は1番から使う。0番は無視。
クソワロタww


511 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 07:51:48 ID:DQWHtX5v]
using namespace std; //?

512 名前:1 [2008/02/11(月) 00:04:10 ID:vFv6OLzk]
ろだの調子が悪いんじゃなくて、サイズオーバーでした Orz
VCに変えたとたんいきなり5倍くらいサイズが増えたみたいでびっくり。

コンパイル事態は通ったものの、会話するとエラーで落ちる。
どうやらhakase.hのStringクラスが悪さしてるみたいだけど、まだ原因の特定には至ってません。

IDEに慣れるまで少し時間はかかりそうだけど
とりあえずデバッグ機能は使いこなせるようになりたいな。

tp://sakurachan.dip.jp/up/src/up9332.lzh

513 名前:名前は開発中のものです。 [2008/02/11(月) 02:35:47 ID:vFv6OLzk]
あとなんか良く分からなくなってきたので質問なんですが

const.h
class global{
  public:
   static char c[64]; //これが宣言
};

const.cpp
char global::c[64] = ""; //これが定義

でいいんですよね?
ちなみにこのクラスはexternを知らなかったので
無理やりグローバル変数として使ってた。
グローバル変数って言っても、宣言無しで使いまわしてなるだけメモリを使わないように、って用途ですけど。
コンストラクタは一回も呼び出されないので、cppで定義しました。
もしクラスを生成するなら
const.cpp
char global::c[64];
global::global(){
 c="";
}
でいいのかな?
でもコンストラクタが呼び出されるたびに初期化されちゃう?




514 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 04:10:20 ID:pgtIh2EL]
文字列と文字は違うからどちらもコンパイルできないよ

515 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 08:30:36 ID:aDsF8YDL]
>>512
たぶん 拡張子 .ncb ってヤツが一番巨大だと思うんだけど、
.ncb は各々の環境で勝手に作られるから、配布時は不要っすね、
配布用からは消して圧縮すればいいよー。

あと、すごい昔から気になってたけど
はかせって何よ?

516 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 14:28:47 ID:UBlSMgHv]
俺もそれが気になる。すげー気になるw>はかせ

517 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 14:37:13 ID:dALXccIV]
>>481を見るとユーザ名みたいだけど
1の名前なのかな



518 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 14:50:42 ID:G+Qy0YvV]
これからは>>1をはかせと呼ばせていただきます

519 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 20:01:42 ID:o0lcrIeV]
NCBはインテリセンスのキーワードデータベースだな
STL使うと相当膨れる。

520 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 22:31:24 ID:ummcWhTi]
余計なファイルを作らせない設定ってないんですか?

521 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 23:57:52 ID:HhQuAIPA]
インテリ切れば?

522 名前: [2008/02/12(火) 00:22:15 ID:tLRoXqiP]
はかせ は僕のあだ名です。
もっとも今もそうやって呼ぶ人はいなくなったけど、気に入ってるから使ってます。かたわれも同様。
本名ってのもアレだし。
>>512のエラーですがデストラクタで
delete [] restr;
をする時にエラーになってるっぽい。
危険だけどコメントアウトすると動くんだけどなんで?
コンストラクタはそれぞれ引数に char* FILE* std::string を取る三種類しかなくて
それぞれで char str[] と char restr[] を new してて
strとrestrの配列は同じ長さをとってあるはずなのになんで?

でも、まったく違うところが原因かも。

523 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 00:28:40 ID:IKtCZVK3]
>>520

ツール(&T)→オプション(&O)→テキストエディタ→C/C++→全般→入力候補
自動メンバ表示(&M) [OFF]
パラメータヒント [OFF]
→OK

524 名前:はかせ [2008/02/12(火) 01:22:27 ID:tLRoXqiP]
バグの原因がわかりました。
Stringクラスを作る時の引数が、空の文字列だとエラーになるみたいです。
とりあえずMsgCmd::Draw() 側ではじくようにしたんですが
本来はStringの方で何らかの処理をすべきですよね。

さて、どうやって処理するのが一番いいんだろう?
ゆっくり考えてみます。
さて、ようやく前に進めそうなのでモチベーションあがってきました!

↓とりあえず動くようにしたバージョン↓
tp://sakuratan.ddo.jp/uploader/source/date70346.lzh


525 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 04:46:08 ID:XWB4jY1F]
おー、久々にビルドしてみたら、スゴい進化してるではないか
ルーラとかまで実装されてんのな

画面上のウィンドウを生成するところは
装備ウィンドウやステータスウィンドウごとに力技で作ってるように見えるけど
ウィンドウ生成部分は、もっと部品化していいんじゃないっすかね?
基本的に # とか % で長方形を作ってるだけっしょ?
難しいんかな?

526 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 18:37:02 ID:oGlnsN82]
解凍した中のDebugフォルダの中のtest.exeクリックしたら、
「デバッグ」
「GameData\Useable\SpellList.csvが開けませんでした。」
が出て、プログラム終了してもプロセス残っててCPU100%になるんだけど、なんで?
これこっちでVC入れてコンパイルしないと実行ファイル試せないの?

527 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 19:09:02 ID:fyhPt8Zk]
.\GameData\Useable\SpellList.csv
を用意してやれば



528 名前:はかせ [2008/02/13(水) 11:01:51 ID:husK91Sv]
>>526
解凍したフォルダにdebugフォルダとGameDataフォルダがあると思います。
GameDataフォルダをdebugフォルダに入れてからtest.exeを起動するとできると思います。
プロセスが残ってる件は、これからやっつけます orz

529 名前:はかせ [2008/02/15(金) 08:08:59 ID:Vnl/Si0U]
城などの入り口の位置を修正しました。
大きい扉を実装しました。
移動中に【e】を押すとエンカウントを無効にできます。

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

岬の洞窟に入った時に二人目以降のグラがおかしいです。
原因は分かっているので、それを上手いこと修正したいと思います。

530 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 09:04:54 ID:5vT1hdTU]
インテリoffってどこの馬鹿だよ…

531 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 19:41:30 ID:mWyYNOjz]
本人が余計なものと認識しているんだから仕方ない。

532 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 19:53:52 ID:Rkucko5s]
>>531
インテリ機能が邪魔なわけじゃなくて、.ncbを消したいだけなんだろ
バッチ書くとかビルドイベントいじるとかいくらでも方法はあるだろうに・・・

533 名前:1 [2008/02/16(土) 02:56:55 ID:ArwSTL4u]
ごめんなさい。インテリOffにした馬鹿です。
邪魔とかうざいとかそういうの以前に
nbcがなんなのか、インテリセンスが何なのかまだ理解してないので
その辺はご理解くださいませ。

がんばって勉強しなくちゃなー



534 名前: [2008/02/16(土) 03:58:26 ID:ArwSTL4u]
マップ切り替え時の二人目以降のキャラクタの描写をなんとかしました。
リレミトを使うと落ちるバグを修正しました。

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


まだVCになれない… Orz

535 名前:名前は開発中のものです。 mailto:sage [2008/02/16(土) 06:06:27 ID:CcpxY//e]
ttp://homepage1.nifty.com/rucio/main/nyumon/nyumon5.htm
インテリセンスの機能はここに書いてある。
(C++の場合もうちょっとしょぼいけどw)

536 名前: [2008/02/16(土) 13:28:46 ID:ArwSTL4u]
>>535
ありがとうございます。
たしかにこれ切ったら馬鹿って言われるなー Orz

537 名前:名前は開発中のものです。 [2008/02/16(土) 21:32:02 ID:CmBL2sVg]
vsよりイクリプスの方がインテリ強くね?



538 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 13:14:43 ID:aHSAdthd]
VCに比べてCDTがショボいのは定説
WindowsアプリでVS使わない奴は頭湧いてる

539 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 14:23:07 ID:Cg2VWlwZ]
その辺の主張はム板でやればいいと思うよ

540 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 17:20:33 ID:rRXJwyg0]
ム板にも持ち込まなくて結構。マ板でやれ。

541 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 21:35:01 ID:XOQbsCvL]
補完使ってると馬鹿になるよ。

542 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 00:28:07 ID:BBbqDL5F]
↑こういう奴に限ってコンパイル通らないソースをオープンソースのプロジェクトにコミットしたがるから困る

543 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 00:36:07 ID:08DD/JC7]
有名な哲学者も文字なんか使うと脳が退化するとか言ってたからねw

544 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 01:08:34 ID:vUYQTiug]
小説読まずに漫画ばかり見てると馬鹿になるとも言われてたなw

これについてだけは当たってなくもない気がするが

545 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 01:14:50 ID:UpTmLwcj]
VCのインテリセンスはVBやVC#が神すぎるからしょぼく見えるんだよね

546 名前: [2008/02/20(水) 08:18:05 ID:V7ld5O9y]
現在新機能実装中なわけですが、作業が難航してます。
FieldMapのMapObj[i]をField.party->iventFlag[i]に対応させて表示/非表示を切り替えたかったのですが
FieldMapクラスで表示/非表示を切り替えさせようと思ったけど

check(PlayerParty *party)
として引数にポインタを取るか
あらかじめFieldMapクラスにポインタ変数を格納しておくか
PlayerPartyクラスをグローバル化してしまうか
悩んでます。
どっちにしてもFieldMapクラスにPlayerPartyクラスをヘッダを読み込ませないとだめですよね?


547 名前:名前は開発中のものです。 mailto:sage [2008/02/20(水) 10:01:13 ID:eusdqHEV]
iventじゃなくてeventにしたほうが



548 名前:名前は開発中のものです。 mailto:sage [2008/02/20(水) 18:18:28 ID:a8QXZ2ge]
いくらイージス艦のレーダーが凄いからって
戦時でもないのに常に最高の警戒レベルで巡航していることなんか有り得ないわけで…

549 名前:名前は開発中のものです。 mailto:sage [2008/02/20(水) 18:24:11 ID:V7EDVY0P]
そうは言ってもあれじゃ中国や朝鮮が船で攻めて来たら何もできずに沈められちゃうよ

550 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 02:26:57 ID:Wf5Zb2+X]
漁船と衝突してイージス艦が沈んだら面白かったのにw

551 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 04:48:12 ID:vbUxjJ5P]
最強の楯は殴るのにも最強でした

552 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 07:03:01 ID:R8XN2vkw]
デュエル バスター ブリッツ

553 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 20:21:58 ID:fJ0DkPYJ]
>>546
アクセサ書くってのはどうだい?
ソース見てないから最適解かどうかは知らんが。

554 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 21:52:45 ID:iy0K8pSX]
class PlayerParty;
class FieldMap
{
 check(PlayerParty *party);
 いろいろ…
};

でいいんじゃないか。

555 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 21:53:00 ID:0C4L3kC+]
マップオブジェクトの表示制御に必要なのは
パーティ情報じゃなくて、イベントの状態なんだから
わざわざパーティ情報の扱いを考慮するんじゃなくて
フィールドマップはイベント情報だけ受け取るべきじゃね?

そうでないと、
フィールドオブジェクトとパーティ情報の結合度が強くなり過ぎて
ちょっと気持ち悪い感じがする
(ドラクエだったら、パーティ情報 = フィールドの状態
 で構わないかもしれないけどね・・・)

556 名前: [2008/02/21(木) 23:28:46 ID:9ZwlGJuJ]
たしかに あんまり依存関係を強くしたくないのはありますね。
イメージ的にこうやってFieldクラスがFieldMapクラスとPlyartPartyクラスを見て仲介するようにしたかったのかも。

          Field class
    ┌─────┴─────┐
PlayerParty class      FieldMap class
                      │
                 MapObject class

ただしPlayerPartyクラスにイベントのフラグが入っていたため
FieldMapの中にあるMapObjectクラスから、何番のフラグがたっているかは見えない、っていうのが問題でした。

こうなると Fieldクラスで
if(PlayerParty.getIventFlag(FieldMap.MapObject.getEventFlag())){
 //以下普通に処理

みたいな感じに処理するふうになるのかな?


557 名前: [2008/02/21(木) 23:29:37 ID:9ZwlGJuJ]
あと
×
 ivent

 event

は、めっちゃ恥ずかしくて死にたくなった。




558 名前:名前は開発中のものです。 mailto:sage [2008/02/22(金) 00:45:22 ID:/6yYYp4N]
ええー

559 名前:名前は開発中のものです。 mailto:sage [2008/02/22(金) 12:19:02 ID:gAchg6ey]
>FieldMap.MapObject.getEventFlag()
POD型ではないのにpublicなメンバ変数があるのは変だと思う。
インスタンスの利用者が階層を深く掘るのが当たり前な実装はOOPじゃないし。
かといって、万能クラスを作るのもおかしい話だけど・・・
あとインスタンスがPascal記法ってどうなの?

とここまで書いてからソース読んでみた。
いくら擬似コードでも実態とかけ離れすぎだろww
publicになってないし、インスタンスは小文字始まりの名前になってるし・・・

むしろ気になったのは
・コンストラクタで初期化じゃなく代入をしてる
・あちこちにハードコーディングしてる
・継承しててもデストラクタがvirtualじゃない
・enumを使わず#define使ってる
・関数に対するコメントが無い(doxygenやxml code commentのような)
・ローカル変数にポインタか参照おけばいいのに"character[ci]->getDs()->"のような記述が沢山並んでいる
・あちこちで動的なメモリ確保を行っているにも関わらずスマートポインタを使っていない
・警告レベルが最大じゃない

こういうところ






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

前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