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






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()->"のような記述が沢山並んでいる
・あちこちで動的なメモリ確保を行っているにも関わらずスマートポインタを使っていない
・警告レベルが最大じゃない

こういうところ



560 名前:名前は開発中のものです。 mailto:sage [2008/02/22(金) 14:30:33 ID:ik+aPlRF]
>>559
まぁ、>>1はC++初心者のようだからな。
C++の標準記法を知らなくても不思議じゃない。

補足しておこう。
>・コンストラクタで初期化じゃなく代入をしてる
多分>>1は初期化リストを知らない。
初期化リストのほうが分かりやすいし、constな変数、参照は
これでしか初期化できない(代入できないため)。

>・継承しててもデストラクタがvirtualじゃない
デストラクタがvirtualじゃないと、
基底クラスのポインタに派生クラスのポインタを代入して
ポリモ−フィズムをしているとき、
オブジェクトを破棄するときに派生クラスのデストラクタが呼ばれない。

>・enumを使わず#define使ってる
#defineは時代遅れ。コンパイラが処理していないので。
できればenumやconstを使う。

>・ローカル変数にポインタか参照おけばいいのに"character[ci]->getDs()->"のような記述が沢山並んでいる
ローカル変数にポインタか参照を代入して、
hoge = character[ci]->getDs();
hoge->hoge();
のように呼び出したほうが読みやすい(し、関数を不必要に呼ばないので高速)
ということを言っている。

561 名前:名前は開発中のものです。 [2008/02/22(金) 14:33:59 ID:ik+aPlRF]
続き。
>・あちこちで動的なメモリ確保を行っているにも関わらずスマートポインタを使っていない
動的メモリ確保は解放し忘れてしまうので、
参照が無くなった時に自動的に解放してくれる
boost::smart_ptrのようなスマートポインタを使うのが基本。
標準のスマートポインタにはstd::auto_ptrがあるが、使い方が特殊でオススメしない。
使えるところなら、std::vectorを使うのも良い。

>・警告レベルが最大じゃない
警告を無視するのはバグの元。
むしろ、「もっと俺に警告をくれ!!」のような勢いで。

562 名前:名前は開発中のものです。 mailto:sage [2008/02/22(金) 20:29:49 ID:zYdRz8UL]
あんまり一気にダメ出ししちゃうと はかせタンが凹んじゃうから
週に1個ほど、ちょいダメ出しにしといてあげて
オレはそうしてる

まぁ、はかせタンの向上心なら幾らダメ出ししても学習しそうだけど

563 名前:名前は開発中のものです。 mailto:sage [2008/02/22(金) 20:38:44 ID:HEZBKFdo]
ダメ出しでも実力自慢じゃなくフォロー入ってるあたり良スレ

564 名前:559 mailto:sage [2008/02/22(金) 21:37:02 ID:sRPpWiqL]
ソースはそこそこ綺麗だったよ
このスレに載る疑似コードがいつもショボかったから、upされてるのも当然…と思ってたんで意外だった

>>562
この先原因不明のバグでモチベーションダウンさせるよりはいいかなと思った。
少し反省している。

565 名前: [2008/02/22(金) 22:55:08 ID:OojD/ESp]
みんなのヌクモリティで前がにじんで見えない…
みんなありがと

ダメだしが多いのは、へこまないのは嘘ですけど
消化しきるのに時間がかかるので、レスが遅くなっちゃって申し訳ない気持ちが強いです。Orz
ご飯食べてお風呂入って続きがんばります!

みんな ほんとに ありがとう!

追伸
またアク禁の食らいました。
なんでこんなに喰らうんだろう?
普通そんなもん?


566 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 02:05:15 ID:bnLD25M9]
>>565
俺も最近くらった。一日でとけたけど。

567 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 06:56:35 ID:HSvKNA24]
なんだ、DQIをつくってるのかと思ったらIIIか。
また大変なところを選んだなあ。

568 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 08:37:01 ID:N04xmAge]
>>1 に影響されました
僕はDQIIをC#で作ろうと思います!

569 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 12:16:38 ID:OuVO6QWF]
じゃ 俺はDQ4にするか



570 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 12:57:51 ID:x1Ouesp5]
俺はMASMでFF11を作るぜ!!

571 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 13:11:06 ID:F+CAkEqg]
じゃおれDQ1をC++で

572 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 14:18:01 ID:Oy3gPfcf]
果たして何人生き残れるのか・・・

573 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 14:39:52 ID:CN8IHKwV]
アセは死ねるだろw

574 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 17:13:08 ID:yJaKrN6D]
FCのドラクエは殆どアセンブラだろうが…FF11と言う所に大物の器を感じるぜ。

575 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 19:39:11 ID:5sJEeE+q]
俺は綾織で

576 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 23:32:45 ID:3EN2w25Y]
C++から汗のソース作れるけどね。

577 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 01:02:43 ID:l0RmX92h]
568です、2008は持ってないので、VS2005 C# Framework2.0でやります!
DirectDrawはとりあえず使わないで、やります
動くものが出来たら別スレを立て・・・るまでもないですね、
適当にうpしていきます

>>1さんに負けずにやっていきたいと思います

578 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 03:56:21 ID:nHWrFw/U]
>>576
全然意味合いが異なるのに何故得意気になって言ってるんだ?
キモイヨー

579 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 09:09:13 ID:ATsuTWws]
>>576
C++コンパイラの仕組みを理解して無いだろ。
作れないコンパイラがあったら教えて欲しいわ。



580 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 09:55:26 ID:lvcDUo5f]
if(>>576)
{
 std::cout << "作れないコンパイラがないなら正しいだろ。" << std::endl;
}

581 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 10:39:19 ID:pf6g1kUn]
ソース見たよ。
他の人が言うように、初心者にしては上出来。
動くとやっぱり感動するね。

>556
とりあえずそれがいいんじゃないかな。ベストな解かどうかわからないけど、
グローバルにするよりは確実にbetter。

全体に関していえるけど、変数のスコープをできるだけ狭くしたほうがいい。
理由はバグを減らすため。またデバッグを楽にするため。例えばある変数の値がおかしくなっていたとき、
スコープが狭いと調べる範囲が少なくてすむ。広いと大変。

なおローカル変数、非staticメンバ変数、staticメンパ変数、グローバル変数 の順にスコープが広くなる。
グローバル変数はよっぽどのことがなければ使わないこと。

class global{
public:
static std::string msg;
static char c[64];
};

これは使用している各クラスで定義できないの?

582 名前:581 mailto:sage [2008/02/24(日) 10:47:13 ID:pf6g1kUn]
あとデバッガはちゃんと使えてる?

以下のようにすると、VSでデバッグ時に画面下の「出力」欄に出力される。
要所要所で変数の値とかを出力すると楽だよ。

#ifdef _DEBUG // デバッグ時のみ出力
int value = 3;
char buf[128];
sprintf(buf, "値=%d\n", value);
OutputDebugString(buf); // デバッグ出力するWin32API
#endif

//出力欄
//値=3

583 名前:581 mailto:sage [2008/02/24(日) 10:54:51 ID:pf6g1kUn]
>これは使用している各クラスで定義できないの?

例えば以下の部分ではローカル変数で十分だよね。多分。

void BattleField::battleProcess()
{
global::msg = party->getMember(0)->getName();
global::msg += "たちは にげだした!";
coms.getMsgCmd()->setMsg(global::msg);
}

584 名前: [2008/02/25(月) 20:20:58 ID:D9lkRrNk]
土日は風邪で寝込んでました。
今日もこれから寝込むと思います。
目の前が見えなくなったのは涙じゃなくて熱の所為だったのかもしれません(ぁ

寝付けないときに少しずつ手をつけようと思ったんだけど
自分が何をやってるのかわからなくなってしまう感じで作業が進みませんでした。

一緒になにか作ってみるって名乗りを上げてくれた方、一緒にがんばりませう。
やっぱりライバルがいたほうがモチベーションあがるしね。

585 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 23:38:57 ID:sR23oxXi]
>>584
お大事に!!

586 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 23:57:44 ID:8s3HJfM7]
>>584
本当は、ロジックを真似した方が早いと思うんですが、
まったく同じじゃ意味がないですし、言語も違うことですから、
まずは C#でどれだけ出来るのか、ってことを意識しつつ、やっていこうかなと思ってます
物理層がやることって同じなんですけど、今は、FC DQII をプレイして、動きを調べています
主に、ビルダーとC#で、VC++はわかりませんが、よろしくお願いします

587 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 02:39:50 ID:4hK7dCf/]
>>584
お体お大事に
僕も今年の初めごろインフルエンザにかかって数日寝込みましてね
体調がすぐれないときは難しいことを考えるとgdgdになるので
回復に努めたほうがいいと思う…

寝付けないときは僕はようつべやニコ動を見てましたね
最近はゲームのプレイ画面などをキャプチャしてる人も多くて
検索すると同人ゲームや自作ゲーム、制作講座、開発過程なども
ちらほらとアップロードされてるみたいです
手軽に見られてなかなか興味深いです

588 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 14:11:57 ID:aeOOlTFX]
やばい、俺スレ違いすぎる・・・
二年間学校でcとjavaを習って中途半端に覚えて
RPG作ろうと思った俺が馬鹿だったぜ。
あとapiのサイト見てウィンドウの出し方とか
ちょっとづつ勉強してるが大半イミフだぜ。

589 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 15:41:39 ID:DQfrVq4A]
プラットフォームAPI使うより、簡単なライブラリ探して作ったら?



590 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 16:20:44 ID:MEOj2U2m]
>>589
ID:DQおめ

591 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 20:10:21 ID:DQfrVq4A]
あり
記念に俺もDQ作るかなw

592 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 22:07:55 ID:HLcSYJXY]
MDXあぼーんされたしGDI+だとBitBltすらないからなー。
XNAに逃げるか、DllImport連呼か、C++/CLIか。

593 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 22:57:31 ID:gUk7N6wJ]
それでもまだ非C/C++の中では恵まれてるけどな
自分でラッパー書かなくてもSlimDX(非公式MDX)とかSDL.NETとか探せばいろいろあるし

594 名前:オワンワン mailto:sage [2008/02/26(火) 23:02:50 ID:CncrBCpj]
ライバルがきましたよ。
ぼくはね、関数とかクラスとかポインタとか構造体とか
仮想関数とかローカル変数とかを一切使わないでゲームを作ります。
必要不可欠でないことをがんばっている1さんとは好対照ですね。
ま、さ、に、ライボー。
更新してないんでリンクは貼りませんが、進展したら貼りにきますよ。
よろしこっ。ぼく、おじさんだけど、、、なかよくしてね。ぶちゅー。
おれの、おれの屍をこえていけよ、わかうどよ。ふっふっふ。
「未来の人よ 僕を思い出してくれ 僕は 王者の滅びる時代に生きていた」
「未来の人よ 僕を崇めたたえよ 僕は あなたたちよりも未来の時代を生きていた」
だれだ!?
タキシードのロングハットのコケティッシュな、、、ぼく!?
「不可思議という点において、この世界の不可解という点において、みな平等ではないかね」
、、、
「形而上の話をしてるわけではありません。形而下において、、、ふふふ、
僕は何百年先を生きているんだろう!ふあははー」
、、、
「ぼくはぼくはぼくは、、いや、結果がすべてか、結果をだせてない僕は、
まだ、天才ではないか、、、」
、、、
「はぁ、遠いね、境地は遠いね。凡人とは違って僕には見えているが、遠い」


595 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 23:22:32 ID:oa0uM2zA]
>>594ふむふむ、なるほど、ほほぉ〜。それでそれで!?

596 名前:名前は開発中のものです。 mailto:sage [2008/02/28(木) 19:08:36 ID:SwMCkkQw]
いちはにげだした。
しかし(ry

597 名前: [2008/02/29(金) 00:27:49 ID:PbvqMElj]
まだ全部直ったわけじゃないけど報告age

とりあえずdefineはconstに直しました。
デストラクタも仮想関数に変えました。(なんか上手く動かないって悩んでたことがあったけどこれが原因だったのか?
コメントもこれからなるべくつけていきたいと思います。(全部つける前に心が折れそうです。
初期化リストも一箇所だけやってみました。
実はこれもっと先に知っておきたかったことだったかも。
引数無しのコンストラクタと引数ありのコンストラクタの二つ用意しなくちゃいけないって悩んでたんですよ。Orz
親クラスのコンストラクタも明示的に呼び出したいと思ってたし…。
ま、あとの祭りなんですが。 Orz

スマートポインタ、っていうかboostなんですが、
じつは<>の意味が分からなくて手をつけられなかったんですよ。
<>でぐぐるわけにもいかず途方にくれていたんですが
ようやくクラステンプレートと言うものだったことが判明。
コンテナクラスもなんとなくは理解できたのですが
今から組み込むのは結構大変そうだなぁ…
とりあえず多重deleteはNULL代入で回避できそうっていうのは分かりましたが、
del忘れは回避できないですよね。
でもハンドルの開放し忘れもおんなじような問題がおこるので、
ある程度は仕方がないのかも、と割り切ってます。(いや、ダメだろ

*****************************************************************
イベントアイテムを使ってイベントを起動できるようになりました。

アリアハンの右の女にゴールドオーブを使うとイベント起動します。

現状、はなす、とアイテム使用の両方同時に起動スイッチに指定することはできますが
起動方法によって起きるイベントを別々にすることができません。


…あ、警告レベル変え忘れてたOrz

598 名前:名前は開発中のものです。 [2008/02/29(金) 00:33:14 ID:PbvqMElj]
おまけにURLも貼り忘れた… Orz

シャワー浴びてくるOrz
p://sakuratan.ddo.jp/uploader/source/date72377.lzh

599 名前:名前は開発中のものです。 mailto:sage [2008/02/29(金) 00:40:35 ID:cTbpZwm+]
:p



600 名前:名前は開発中のものです。 mailto:sage [2008/02/29(金) 11:44:13 ID:DrPXVtO6]
むしろあれだけのコードをよくコメント無しでやってられたな。
今の俺はコメントだらけだよ






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

前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