- 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
- 21 名前:名前は開発中のものです。 [2007/11/04(日) 01:12:01 ID:sGjq5X72]
- >>16-18
え、まじっすか?(汗 一マスの画像データを取り込む感じでやっちゃいました Orz 最終的に一マスごとのデータをクラスにして、通行可否とかももてるようにしるつもりでした… >>19 仮想マップって何でしょうか? >>20 文字も画像であつかおうとすると、仲間が死んだり、夜になったときに文字の色をかえるのがややこしそう… でも、ファミコン版だと死人が出たときに海岸線が朱に染まるよなぁ… そういうのも再現するとしたら、どうやってやるんだろ? とりあえず、すこしだけ動くようになりました。 マップの範囲がかなり狭くて、あんまり動くと不正終了します。 終わるときはウインドウズのXボタンで。 さしあたりの問題は移動が早すぎるのと、どのクラスにどこまでまかせるのか。 あと移動の判定もしなくちゃな… ttp://sakuratan.ddo.jp/uploader/source/date57047.lzh
- 22 名前:名前は開発中のものです。 mailto:sage [2007/11/04(日) 03:42:22 ID:6tIS1w9d]
- >>16
>>21 沢山レイヤーを重ねるわけじゃなさそう(ファミコン風らしいし)だし、 問題になるほどの頂点転送なんか発生しないでしょ。 自由なマップデザインの妨げにもなるし、かえって冗長なメモリ食うほうがこの場合問題になるから このままでいいんじゃないか? むしろクリッピングするほうが効果がありそうだ。
- 23 名前:1 mailto:sage [2007/11/04(日) 07:15:08 ID:7NRLPi1I]
- アク禁にくらった…
>>22 クリッピング? また新しい単語が… 少し大きめにマップを書いて、枠からはみ出た部分はカットされるとか、そういう感じですか? とりあえず移動して体の向きが変わるようにしました。 あとエンターで座標表示 ESCで終了するようにしました sakuratan.ddo.jp/uploader/source/date57068.lzh
- 24 名前:名前は開発中のものです。 mailto:sage [2007/11/04(日) 13:29:23 ID:XVaCq5Z+]
- >>21
>でも、ファミコン版だと死人が出たときに海岸線が朱に染まるよなぁ… >そういうのも再現するとしたら、どうやってやるんだろ? 背景に全て画像を使うんだったら、 死人出た時用の画像を別途用意しないと無理じゃね? それが嫌だったら、ファミコンと同じようにやるしか無いよなぁ
- 25 名前:名前は開発中のものです。 mailto:sage [2007/11/05(月) 00:38:00 ID:2iUdY2Qo]
- 8ビットDIBでパレットアニメーションっていうのはどうかな?
- 26 名前:1 mailto:sage [2007/11/05(月) 12:25:34 ID:BE3u4m/u]
- マップ一つでもこうやって考えると結構難しいんだなぁ…
マップの仕様をつめないとダメそうですね 一つのマップのデータを一つのファイルにまとめると考えて、必要なデータは class Cell{ int hGraph[8]//とりあえず時間帯で8パターンのグラを用意 int passable;//0 通行不可 //1 通行可 //2 船なら通行可 } class Field{ int xSize , ySize; Cell mapData[xSize][ySize]; //←newで動的にメモリ確保 } こんな感じでしょうか?
- 27 名前:1 mailto:sage [2007/11/05(月) 12:48:39 ID:BE3u4m/u]
- あ、違った
パレットアニメを使うなら8個もハンドル用意しなくていいのか。 …勉強してきます
- 28 名前:1 mailto:sage [2007/11/05(月) 22:33:46 ID:BE3u4m/u]
- パレットアニメーションについてはなんとなーく わかったようなわからないよ
うな… あとは実践しながら覚えろ、って感じですが、 ぐぐって出てくるのがC#ばっかり… Orz おまけにPentiumII とかいう単語が出てくる始末。。。。 素直にBMP複数用意したほうがいいのかな…
- 29 名前:1 mailto:sage [2007/11/09(金) 16:17:06 ID:YJbVYn7p]
- わからないところを後回しにしつつ、なんとなくやってます
なぜかマップの座標のxが48から57の間だけ表示されません 原因不明です orz だれかボスケテ sakuratan.ddo.jp/uploader/uploader/source/date57945.lhz
- 30 名前:1 mailto:sage [2007/11/09(金) 17:40:48 ID:YJbVYn7p]
- わからないところを後回しにしつつ、なんとなくやってます
なぜかマップの座標のxが48から57の間だけ表示されません 原因不明です orz だれかボスケテ sakuratan.ddo.jp/uploader/uploader/source/date57945.lhz
- 31 名前:名前は開発中のものです。 mailto:sage [2007/11/09(金) 22:22:32 ID:SDOrYmNB]
- >>30
ダウンロードできん どっちみち俺わからんけどがんばれ
- 32 名前:1 [2007/11/09(金) 22:46:17 ID:71zhIprC]
- すんまそん、URLまちがえてました
ttp://sakuratan.ddo.jp/uploader/source/date57945.lzh
- 33 名前:名前は開発中のものです。 mailto:sage [2007/11/10(土) 10:33:44 ID:KvJMjNmK]
- >>32
int FieldMap::setMapData()の ファイルの読み込み部分で改行コードを飛ばしてない ↓これで一応できたけど改行コードはこれでいいか分からない。 //開いたファイルを元にmapData配列にアドレスを入れていく for(int i=0;i<64;i++){ //初期化 for(int j=0;j<64;j++){ mapData[j][i] = &(tileData[3]); } } for(int i=0;i<64;i++){ for(int j=0;j<65;j++){ char c = fgetc(fp); if(c == 0x0a){ //改行コード? break; }else if(c == EOF || j == 64){ goto EXIT; } mapData[j][i] = &(tileData[atoi(&c)]); } } EXIT: あと、int FieldMap::setTileData()の tileDataAmount = fgetc(fp); ↑文字コードそのまま入れててtileDataAmountに56の値が入ってる。
- 34 名前:名前は開発中のものです。 mailto:sage [2007/11/11(日) 00:14:09 ID:I2Ef3r5N]
- なんでこんなに無駄にexeデカいんだろ
- 35 名前:名前は開発中のものです。 mailto:sage [2007/11/11(日) 04:22:42 ID:az0lrOpc]
- デバッグモードっつーのと、DxLib.lib がデカいからじゃね?
- 36 名前:1 mailto:sage [2007/11/11(日) 12:36:57 ID:Bi03rvGZ]
- //マップのタイルデータの枚数
tileDataAmount = fgetc(fp) - 0x30; に変更しました。 10枚以上のデータを確保するかもしれないことを考えてこうしました。 EXIT: の下に for(int i=47;i<64;i++){ DMsg(mapData[i][0]->getGraph()); } を付け足してみると やっぱりxが48〜57の分だけデータが入ってないんですよね… ボスケテ Orz
- 37 名前:33 mailto:sage [2007/11/11(日) 14:36:39 ID:g72Q0xxF]
- アップされたソースではDMsg()がexit(0)ってしてるから
下に変えて見てみたけどデータは入ってたよ。なんだろうね。 for(int i=47;i<64;i++){ //DMsg(mapData[i][0]->getGraph()); char c[32]; MessageBox(NULL,itoa(mapData[i][0]->getGraph(),c,10),"デバッグ",MB_YESNO | MB_DEFBUTTON2); }
- 38 名前:1 mailto:sage [2007/11/11(日) 15:47:06 ID:Bi03rvGZ]
- >>33
なんか解決したっぽいです Char c の宣言をfor文の中じゃなくて 先頭に持っていったら無事表示されるようになりますた。 まじサンクスです。
- 39 名前:1 mailto:sage [2007/11/13(火) 00:54:58 ID:DHq4bef+]
- とりあえず中途半端だったアリアハン大陸を完成させてみました。
城もマップ上に配置させてみたけど、まだ中に入れません。 FieldクラスにChar *の配列でマップの名前のリストを持たせて マップ切り替えごとにFieldMapクラスを取り替えていく感じでやってみようと思います。 マップ作ってる時に エディタが切にほしいと思いました。 そのうちマップのデータをフォルダじゃなくて一つのファイルにまとめたいけど そのためには仕様をまとめないとだめですよね。 Orz tp://sakuratan.ddo.jp/uploader/source/date58354.lzh
- 40 名前:名前は開発中のものです。 [2007/11/13(火) 01:54:20 ID:DHq4bef+]
- //**************************************************************
//* MapObjectData クラス * //* マップに配置するオブジェクトデータのクラス * //************************************************************** class MapObjectData : public MetaMapObject{ public: MapObjectData(void); MapObjectData(char *); virtual int action(); //便利ボタン用 virtual int talk(); //はなしたとき virtual int search(); //しらべるのとき virtual int onit(); //上にのったとき }; 仮想関数を四つ追加してオーバーライドすることでそれぞれの役目を持たせようと思ってます。 まず城に入って移動という機能をつけたいので onit()を継承したクラスを作りたいのですが、 返り値がintだけじゃ足りません。 移動先のマップの名前をもったChar * と 座標のint x,yが必要です。 返り値用のクラスを作ると、移動以外の処理をしたいときに困っちゃうので、何かいい解決方法はないでしょうか?
- 41 名前:名前は開発中のものです。 [2007/11/13(火) 03:11:41 ID:qyitJc6C]
- 今北
海岸線が朱に染まる件って解決したのん? 白く表示される部分を透明色でチップを作っておいて、 マップの背景に白バックを用意しとけばいいんじゃない? で、メニューも透明色で描いてやったらメニュー部分も一気に 赤表示や緑表示にできていいかなーと思うんだけど もちろんこの場合メニューと重なる部分のマップチップは描かない感じで う〜んわかりにくいかな
- 42 名前:名前は開発中のものです。 [2007/11/13(火) 03:45:11 ID:DHq4bef+]
- >>41
実は未解決です。 文字の型を抜いておいて、背景色がすける感じ、ですよね なんとなく分かったような… でも、それだとコマンドとかある程度固定のものはいいけど普通の会話を処理するとき困りません? てか それ以前に海岸線実装してないぽ… Orz やることいっぱいで嬉しいような本気の悲鳴。
- 43 名前:名前は開発中のものです。 [2007/11/13(火) 05:40:16 ID:qyitJc6C]
- >>42
ん?どうして? 任意の文字列出すときも message_window->DrawString("おお、ふるきいいつたえのゆうしゃにひかりあれっ!"); みたいな感じで描けばいいだけのような・・ もちろん普通の文字描画じゃなくグラフィックを並べて描く (スレの最初で話題になってた方法と同じ)やり方でね 海岸線とかはもっと後でもいいと思う
- 44 名前:1 mailto:sage [2007/11/13(火) 16:38:02 ID:CeANgSHM]
- >>43
あ!そういうことか! どっちみち文字描写に関しては最終的に自分でやらなきゃダメだって思ってたので 一文字ずつグラ作ってやれば解決しそう! ありがとです。 あとは時間経過のグラ変化に着いてはパレットアニメーションが有力ですが、なんか難しそう… かといって全パターンbmpで作るとメモリ食っちゃうしな… あれ?どれくらい食うんだろ?
- 45 名前:1 mailto:sage [2007/11/15(木) 02:27:58 ID:wJi13tnN]
- とりあえずやりかけてた所をつくりました。
なんちゃってスクリプトみたいなものを作ってみたら、本当にツクールみたいな感じだなって思いました。 今の方式だと命令文が各オブジェクトにつき一つしか入れられないから、そこは直さないとな。 あとイベントフラグとかどうやって実装しよう… 文字のアレも早く実装しないとな… でも画像データ作るの結構時間かかりそうだ。 sakuratan.ddo.jp/uploader/source/date58541.lzh
- 46 名前:1 [2007/11/15(木) 02:31:28 ID:wJi13tnN]
- あと、文字操作に関するクラスを作ったんだけど、問題ないか見て欲しい。
class String{ private: char *str; int pointer; public: String(char *); ~String(); char getChar();//現在位置から一文字返し現在位置を移動 char * getString();//半角スペースか改行が出てくるまでの文字列を返す char * getLine();//改行までの文字列を返す }; String::String(char *c){ pointer = 0; str = new char[strlen(c)+1]; strcpy(str,c); } String::~String(){ delete [] str; } char String::getChar(){ pointer++; return str[pointer - 1]; }
- 47 名前:1 続き [2007/11/15(木) 02:32:56 ID:wJi13tnN]
- char * String::getString(){
//初期化 char c[1024]; char cc; int i = 0; //最後の文字まで読み込んでいたら""を返す if(pointer > strlen(str)){ return ""; } //Null文字が出て来るまでWhileを回す while(cc = getChar()){ if(pointer > strlen(str))break; if(cc == 0x20 || cc == 0x0a){ //改行かスペースが出てきたら終わり c[i] = 0; return c; } c[i] = cc; i++; } c[i] =0; return c; }
- 48 名前:1 続き [2007/11/15(木) 02:33:28 ID:wJi13tnN]
-
char * String::getLine(){ //初期化 char c[1024]; char cc; int i = 0; //最後の文字まで読み込んでいたら""を返す if(pointer > strlen(str))return ""; while((cc = getChar()) != 0x0a){ if(pointer > strlen(str))break; c[i] = cc; i++; } c[i] = 0; return c; }
- 49 名前:名前は開発中のものです。 mailto:sage [2007/11/15(木) 04:35:50 ID:aSBFCf/S]
- >>46-48
・getStringとgetLineでローカル変数へのポインタを返している ・ポインタ(int String::pointer)を初期化する方法がない(0に戻せない)<いらないのかな ・「pointer > strlen(str)」の部分でintとunsigned intの比較をしている ・定数直打ちは止めといたほうが・・(1024=>STR_MAX 0x0a=>STR_LFなど)
- 50 名前:名前は開発中のものです。 mailto:sage [2007/11/15(木) 09:30:13 ID:/bSoxToM]
- ヒント
new,std::string
- 51 名前:名前は開発中のものです。 mailto:sage [2007/11/15(木) 10:15:05 ID:Dxr/BWiM]
- ポインタじゃないものにpointerなんて名前つけるのは微妙
それはインデックスだ
- 52 名前:名前は開発中のものです。 mailto:sage [2007/11/16(金) 06:33:32 ID:OV+uJg1d]
- >>50
だな
- 53 名前:1 [2007/11/16(金) 21:46:02 ID:UXZ5zvB8]
- >>49 >>51
ご指摘ありがとうございます! 早速修正をしますた! ローカル変数のポインタは危険ですのぉ… うっかりしてますた。 >>50 >>52 ぇ…? ,-、 ,,,,_ ,.-、 ./:::::\ /,'3 `っ .../::::::ヽ /::::::::::::;ゝ--`‐‐‐'´- 、._/::::::::::::::| /,.-‐''"´ \:::::::::::| / ヽ、::::| / ヽ| l l . | ● | l , , , ● l ` 、 (__人__丿 、、、 / `ー 、__ / /`'''ー‐‐──‐‐‐┬'''""´ / ,,,, ,,, .... . | ,//ミLミ ミLミ | | (_/ "" "" ヽ、_) . 、ゞ'"'ッ,、... ゞ'"'ッ,、 .. ゞ'"'ッ,、 .. ∩ ....... ミ ,'3 彡ミ ,'3 彡ミ ,'3 彡 ..ノ | ..... ...... シ,, ,;; ヾ` シ,, ,;; ヾ` シ,, ,;; ヾ二 ノ ................... `ー‐' ...... `ー‐'
- 54 名前:1 [2007/11/16(金) 21:49:14 ID:UXZ5zvB8]
- 便利なstringを知り、手当たり次第に修正しようとしたらめちゃくちゃになってしまった。。。
バックアップを使ってやり直しです Orz いやー string便利だー 便利すぎて泣けてくる。 今までの苦労はポインタの勉強をした、と思うことにしよう。
- 55 名前:1 [2007/11/16(金) 22:59:12 ID:UXZ5zvB8]
- コンパイラに怒られながらというかなり非効率なやり方ながら半分くらいstringになったかな?
はなす を実装しました。 MapObjectMap.txtで設定したオブジェクトのうち一番最後のものだけ、EOFがEOFノ とかEOF4 とか出てきます。 char型配列の呪いみたいな臭いがして、穴が開くほどコードをみたんですが、お手上げです。 誰かボスケテ Orz tp://sakuratan.ddo.jp/uploader/source/date58821.lzh
- 56 名前:名前は開発中のものです。 mailto:sage [2007/11/17(土) 03:29:57 ID:NtE6efWM]
- >>55
どうやら問題はデータが一番最後かどうかではなくデータそのものに依存するらしいところまでは分かった。 例えば「ようやく はなしが できるようになった。」の部分を""で囲ったり、 「ようやく はなしができるようになった。」とするとエラーは出なくなる。 逆にエラーが出るオブジェクトの順番を変えてやってもやっぱり同じ部分でエラーが起こる。 てかVC++だとエラーでまくりでビルドできない。 少しくらいなら直してもいいんだが最初見えてるの直すと30くらい来るから無理w 俺の為に直せとは言わないけどint型の関数なのに値を返さないとか 初歩的ミスも結構あるからそういうのは直しといた方がいいと思う。 というかBCCだとあれでもコンパイル通るんだな。
- 57 名前:名前は開発中のものです。 mailto:sage [2007/11/17(土) 04:27:22 ID:3LkIon8X]
- 今の技量で続けたら挫折しそうな予感…
上手くデバッガを使えるか知らないけど、実行時の原因不明なバグ調べてて嫌にならないか?
- 58 名前:名前は開発中のものです。 [2007/11/17(土) 10:22:23 ID:DAW7rWYI]
- >>56
BCCだと通ってしまうんです。 BCCが初めてのCコンパイラで、それ以外使ったことがないのです。 returnをつけてみました。 >>57 原因不明なバグに挫けそうです Orz 技術不足も知識不足もそのとおりなのです。 なにせstringすら知らなかったど素人ですし。 そしてその素人はデバッガの存在をしらなかったのです。 さっそく使ってみようとググってDLしようとしたらサーバが落ちてるっぽい Orz
- 59 名前:1 [2007/11/17(土) 10:25:11 ID:DAW7rWYI]
- URL書く前に間違えて送信ボタンおしちゃいました Orz
tp://sakuratan.ddo.jp/uploader/source/date58862.lzh
- 60 名前:1 [2007/11/17(土) 10:33:35 ID:DAW7rWYI]
- DXライブラリが BCC用と VC用とがあったのを思い出しました。
VC用のDXライブラリにつけかえました。 よろしくお願いします m(__ __)m
- 61 名前:1 [2007/11/17(土) 10:35:08 ID:DAW7rWYI]
- あ、またURL載せ忘れた Orz
だめだ、落ち着け僕。 tp://sakuratan.ddo.jp/uploader/source/date58864.lzh
- 62 名前:名前は開発中のものです。 mailto:sage [2007/11/17(土) 10:57:40 ID:d7I0LgHR]
- ある程度ゲーム作りに慣れてればドラクエはそれほど難しくないと思う
しかしウィンドウ、キャラクタ、戦闘、イベントなどなどやらなければ いけない事が膨大で、そのへんのゲームより作業量が非常に多くなるという罠 以上、同じようなことやってて途中で放置プレイしている人間のチラ裏
- 63 名前:名前は開発中のものです。 mailto:sage [2007/11/17(土) 16:57:44 ID:rLUooNoc]
- >>61
取り合えず そこのあぷろだにログをあげてみた sakuratan.ddo.jp/uploader/source/date58888.htm BCCだとコンパイル通るんだな、意外だ
- 64 名前:1 [2007/11/18(日) 12:14:03 ID:Y/pTO1mo]
- >>62
モンスターのデータをつくったりとか、イベントの会話データとか、ゲームを作るのは結構時間がかかると思います。 でもシステム自体を作るのは簡単… なのかな? 僕には難しくつまずいているわけですが。 とりあえず、これを完成する頃には初心者じゃないと言えるくらいにはなるのかな、と思ってみたり。 >>63 BCCだと問題なく通っちゃうんですよねぇ… enumにint型をそのままいれられたりとか。 関数の戻り値の型が入ってないのは純然たる入れ忘れです。 よくコンパイル通ったな… tp://sakuratan.ddo.jp/uploader/source/date59123.lzh
- 65 名前:名前は開発中のものです。 mailto:sage [2007/11/20(火) 05:28:57 ID:17MvCz5h]
- 処理系依存なんじゃないの?
- 66 名前:名前は開発中のものです。 mailto:sage [2007/11/20(火) 11:42:07 ID:w3lrBuf0]
- ドラクエ作るんなら
最初にツクール作った方がいいよ 意味わかる? つまりマップエディタとかキャラエディタとか 管理や汎用がラク
- 67 名前:名前は開発中のものです。 mailto:sage [2007/11/20(火) 11:56:19 ID:OVlMufIS]
- >C++の勉強をかねて
- 68 名前:1 [2007/11/20(火) 19:46:36 ID:xyOjqPZC]
- またもや アク禁です (;・д・)
>>66 最初からツクールを作るつもりだったんですが、 なにせ仕様がかたまってなくて…(汗 マップやキャラはこれ以上増やさずにシステム部を固めて ある程度仕様がみえてきてからツクールを作ろうと思ってます。 何枚ものbmpファイルと設定用のtxtファイルを一つのファイルにまとめたり、 使い回しが楽になるような、そんな感じにしたいなぁ…。 デバッガが落とせなくてBolandにメール送ってしまった。 早くデバッガ使ってみたいなぁ… 濁点と半濁点の文字を力技で表示できるようにしました。 43さんのやり方にするためにはBMPを用意しなくちゃいけないので、もうちょっと時間が… Orz 会話のカーソルを上手く点滅させられなくて困っています。 BCC用 tp://sakuratan.ddo.jp/uploader/source/date59584.lzh VC用 tp://sakuratan.ddo.jp/uploader/source/date59585.lzh
- 69 名前:名前は開発中のものです。 mailto:sage [2007/11/20(火) 19:58:55 ID:EuIapzs3]
- 余計かもしれないけど、ある程度仕様を固めてから作らないと、あとでデータ構造で困る可能性があるよ。
そうじゃないとデータ構造のせいで仕様に制限が生まれてしまう。
- 70 名前:1 [2007/11/21(水) 19:27:04 ID:H4c55rmu]
- >>69
仕様を考えてみました。 大まかに分けて5つのデータを作ります。 マップデータ モンスターデータ 職業データ アイテムデータ 呪文データ それぞれのデータはお互いの中身を知っていることにして、 お互いを文字列を使って呼び出せるとします。 詳細 ・マップデータ マップサイズ マップのタイルのデータ グラフィック 移動判定 モンスターの出現率 タイルのデータを使った実際のマップのデータ マップに配置するオブジェクトの元になるデータ グラフィック タイプ(物、生き物) 移動判定 オブジェクトの中身のデータ モンスターの配置データ 出現するモンスターのパターン =>モンスターデータを参照する パターンをセットしたデータ
- 71 名前:1 [2007/11/21(水) 19:27:57 ID:H4c55rmu]
- ・モンスターデータ
モンスターのグラフィック 強さ(Lv,HP,Mp,攻撃力、守備力、すばやさ、経験値) 攻撃方法 =>呪文データも参照する 耐性 落とすアイテム => アイテムデータを参照する ・職業のデータ グラフィック(4方向*2パターン) 成長データ 取得呪文リスト =>呪文リストを参照する ・アイテムリスト アイテム名 タイプ(武器、兜、鎧、盾、装飾品、消耗品、貴重品) 使用可能な職業 =>職業リストを参照する 効果 ・呪文リスト 呪文名 消費MP 対象(敵一匹、敵グループ、敵全体、味方一人、味方全員、自分) タイミング(移動中、戦闘中、両方) 効果 つっこみお願いします。
- 72 名前:名前は開発中のものです。 mailto:sage [2007/11/21(水) 20:53:38 ID:+bb6+Uy/]
- >>71
>対象(敵一匹、敵グループ、敵全体、味方一人、味方全員、自分) これだとパルプンテみたいに効果によって対象が変わる呪文が実装できない。 パルプンテ作る気ないならいいけど。
- 73 名前:名前は開発中のものです。 mailto:sage [2007/11/21(水) 23:25:21 ID:QAMIESYX]
- モンスターデータなどは
パラメータ等を格納したマスターデータと 今戦闘しているモンスターのみが必要なサブデータは分けて考えた方がいい。 クラスとインスタンスの関係のような感じ。
- 74 名前:名前は開発中のものです。 [2007/11/22(木) 00:00:20 ID:YnWGqx+/]
- いちお、うちは、ドラクエオンラインを目指してるのだw
ドラクエの上位版な。力ある奴こい CreateGameー陸海空オンラインー www112.sakura.ne.jp/~kaientai-project/creategame.htm うちは、背景がぐいぐい動くゲームを想定しておりまする。 イメージ3D www112.sakura.ne.jp/~kaientai-project/joyful/img/1.jpg www112.sakura.ne.jp/~kaientai-project/joyful/img/9.jpg よろすくw
- 75 名前:名前は開発中のものです。 [2007/11/22(木) 00:17:26 ID:Gx1wHKMf]
- 物理エンジン「フェニックス」日本名『 鳳 凰 』を
開発できる者いたら来るのだ。 www112.sakura.ne.jp/~kaientai-project/creategame.htm
- 76 名前:1 [2007/11/22(木) 13:36:00 ID:1nrzvj+v]
- >>72
なるほど… パルプンテか… あとラナルータとかアバカムとかトヘロスとかあるな… 対象に「空間」を加えてみよう。 パルプンテの実装はかなりめんどくさそうだ… >>73 ですね〜 とりあえずマスターデータに必要なものをあげていきたいと思います。 あと、セーブデータの使用も考えないとだ(汗
- 77 名前:名前は開発中のものです。 mailto:sage [2007/11/23(金) 07:48:06 ID:aIwuXGYs]
- >グラフィック(4方向*2パターン)
横向きのグラフィックは反転すれば2種類で済むじゃん と思ったんだが、 ドラクエ3って、右向きと左向きでグラフィック違うんだな 初めて知ったわ
- 78 名前:名前は開発中のものです。 mailto:sage [2007/11/23(金) 07:49:13 ID:aIwuXGYs]
- >グラフィック(4方向*2パターン)
横向きのグラフィックは反転すれば2種類で済むじゃん と思いきや ドラクエ3って、右向きと左向きでグラフィック違うんだな 初めて知ったわ
- 79 名前:名前は開発中のものです。 mailto:sage [2007/11/23(金) 07:50:08 ID:aIwuXGYs]
- ゴメン、2回書いてしまった
- 80 名前:1 [2007/11/23(金) 21:19:47 ID:EqvVctbz]
- >>77
そうなんすよ。 モンスターの中にはグラを反転させてるのもいるみたいですね。 性別のデータはどこに入れるべき? キャラクタの中にするか、職業に そうりょ・おんな みたいな感じにするか、 …両方やった方がいいのかな?
- 81 名前:名前は開発中のものです。 mailto:sage [2007/11/23(金) 22:07:20 ID:bo2lQ7Oe]
- >>1って何を見てC++の基礎的な部分を学んだの?
- 82 名前:1 [2007/11/24(土) 00:52:56 ID:MS8gIJ0s]
- >>81
tp://wisdom.sakura.ne.jp/programming/index.html ↑ここ あとは気になる単語をひとつづつググっていって… っていう感じですかね。 まだまだ分からないことだらけです。 Orz
- 83 名前:1 [2007/11/24(土) 01:22:41 ID:MS8gIJ0s]
- 仕様がにつまらないまま、とりあえず四人PTが動くような感じにしました。
wを押すと移動モードが変わります。 tp://sakuratan.ddo.jp/uploader/source/date60147.lzh 壁に当たった状態で向きをかえ、そのまま動くと二人目以降が変な動きをし 横方向に一周すると二人目以降が一瞬消え、 縦方向に一周すると、なぜか背景がずれる。 問題は山済みだぁ…
- 84 名前:名前は開発中のものです。 mailto:sage [2007/11/24(土) 06:15:15 ID:LF10ZKGk]
- >>83
>>壁に当たった状態で向きをかえ、そのまま動くと二人目以降が変な動きをし 移動できなかった時の処理を修正すれば解決するから、何とかしれ あと、int型の関数なのに 値を返さないヤツは VC++だとエラー吐きまくりだから、何とかした方がいいかもね
- 85 名前:1 [2007/11/24(土) 13:06:36 ID:tttKXuAd]
- >>84
壁に当たって移動できないときの向きを保存しておくしかなさそうですねぇ… VC++もインストールした方がよさそうかしら? ってかBCCってあんまり使われてない!?
- 86 名前:名前は開発中のものです。 [2007/11/24(土) 16:17:37 ID:28bRJwv0]
- >>85
VSEEが登場してから確かにBorlandを進める入門書も激減したね。 どっちでもいいと思うけど、VSEEにはヘルプが充実してるから無料だし 入れておいても損は無い。 学生ならAcademic 2005が4500円ほどで買えるし
- 87 名前:名前は開発中のものです。 mailto:sage [2007/11/24(土) 21:15:26 ID:mZLg9kAb]
- bccでも
「関数は値を返すべき(Function should return a value)」 という警告が出るはずだが。
- 88 名前:名前は開発中のものです。 [2007/11/25(日) 08:54:44 ID:dvwP3UD3]
- BCCから始めてVSseに移った漏れは早いうちにVC++に移ったほうがいいと思う
API使うにつれ構造体が多くなるから、あのIDEはかなり強力
- 89 名前:名前は開発中のものです。 [2007/11/26(月) 21:41:21 ID:kVJVN9m4]
- >>86
ぢつは 学生ではないです、。Orz >>88 VC++を落としたのですがXP SP2じゃないと使えないみたいですね。 メインで使っているPCが二台あって、うち一台はSP1のままで 勝手にSP2にできないので、このままBCCを使う方向で。 ちょっと使ってみたけど、VCEEの方が便利そう… >>87 よくよくIDEをいじってみたら、警告を返さない設定になっていました Orz できる限りなおしてきます。 Orz
- 90 名前:1 [2007/11/27(火) 00:47:00 ID:d34z+KuU]
- ファイルを読み出すときに fgetcをchar型で受け取っていたのをint型に直しました。
↑かなりバグの原因になっていた気がします。 壁に当たった際の移動処理の修正をしました。 横方向に回るときに63⇔0の時に二人目以降が消えるバグを修正しました。 キーの入力の処理をちょっと修正しました。 今まで押されている状態と押されていない状態しか判別できなくて困っていましたが ちゃんと4つの状態を取り出せるようになりました。 (押されていない、押した瞬間、押している、離した瞬間) 縦方向に方向に世界一周する時ずれるバグの原因が不明です。 デバッガの使い方が良く分かってないのが悪いよなぁ… tp://sakuratan.ddo.jp/uploader/source/date60604.lzh
- 91 名前:名前は開発中のものです。 [2007/11/27(火) 15:53:32 ID:XifSZqNn]
- 関係ないけどDXライブラリで
#include <iostream> するとエラーが出まくるんだけど何でだろう・・・
- 92 名前:名前は開発中のものです。 mailto:sage [2007/11/27(火) 16:08:10 ID:uGSxxWdB]
- STLを使うときはDxLib.hを見て
「STLを使うときはここのコメントアウトをはずしてください」 ってところがあるからそのとおりにしてみる
- 93 名前:名前は開発中のものです。 [2007/11/27(火) 17:28:56 ID:XifSZqNn]
- >>92さんありがとう。
でもなんでデフォルトをこれにしなかったんだろう・・・。 高速化のためかな
- 94 名前:1 [2007/11/28(水) 15:34:05 ID:zLkvDFFj]
- >>91 さん
僕は警告が止まりません。 STDの意味も分らなかったり Orz ちょっとヘッダー見てきます >>90 でfgetcをchar型で受け取っていたのが悪いとかいってたけど int型で受け取っても問題なかったみたいですね Orz
- 95 名前:名前は開発中のものです。 [2007/11/28(水) 22:13:35 ID:u4wU15z0]
- がんばれ
- 96 名前:1 [2007/11/29(木) 07:49:09 ID:8WyJyauK]
- >>95
がんばります! ぼちぼち戦闘を作りたいと思ってます。 二回目以降の戦闘で メッセージが二回表示されちゃうバグの原因が分りません。なんでだろ? tp://sakuratan.ddo.jp/uploader/source/date60858.lzh
- 97 名前:名前は開発中のものです。 mailto:sage [2007/12/02(日) 15:23:38 ID:86yI1zZh]
- >>1に触発されて、俺もRPGの土台作ってるわ
こりゃぁたしかにC++の勉強になるわな
- 98 名前:1 [2007/12/03(月) 08:16:10 ID:TADfcfNf]
- 煮詰まってぜんぜん進んでないんですが、とりあえず生存報告。
tp://sakuratan.ddo.jp/uploader/source/date61465.lzh >>97 おたがいがんばりませう。 あんまり人が書いたソース見たことないので よかったら97さんのソースもうpしてくれると嬉しいかも。
- 99 名前:名前は開発中のものです。 [2007/12/03(月) 08:43:22 ID:3su1LaOd]
- WaitVSync(1) ;
メインループのなかにいれてみたら?
- 100 名前:97 mailto:sage [2007/12/03(月) 19:02:30 ID:b9C0qSJp]
- >>98
>>1のと比べたら、見せられるほど効率的なプログラムじゃないよ・・・
- 101 名前:1 [2007/12/03(月) 21:11:55 ID:TADfcfNf]
- >>97
ぜんぜん効率よくないっすよ… デバッグも力技だし。 メモリとかめちゃくちゃ無駄遣いしてるし すでにスパゲッティ化してて自分でも訳分らなくなったりしてるし Orz
- 102 名前:97 mailto:sage [2007/12/03(月) 22:05:34 ID:b9C0qSJp]
- メインとかまだぐちゃぐちゃだし、容量も大きいぜ・・・
ハズイのでそのうち消すわ ttp://sakurachan.dip.jp/up/src/up8417.lzh
- 103 名前:名前は開発中のものです。 mailto:sage [2007/12/03(月) 22:07:54 ID:tyrMCse6]
- 参考にさせてもらいます
- 104 名前:1 [2007/12/04(火) 07:55:53 ID:gS+kwsGk]
- >>97
わーい うpだ うpだ。 グラフィックを一枚にして分割して読み込んでるんですね。 たしかにこの方がわかりやすい! まねしてみよっと。
- 105 名前:名前は開発中のものです。 [2007/12/04(火) 13:14:06 ID:tD4LtuOS]
- ayusya.hp.infoseek.co.jp/ProgramCString3.html
便利だよ
- 106 名前:名前は開発中のものです。 [2007/12/06(木) 20:10:16 ID:5cqYyHrM]
- スレはよくみてたのになかなかソース見る機会なかったが、
試験前日だってのに今見た。 しかしまぁよく書いたな。お疲れ。そしてこれからもがんばれ。 とりあえず>>1応援ノ
- 107 名前:1 [2007/12/07(金) 03:38:39 ID:TqKt9CYS]
- >>105
便利そうだけど、今から使うとCharとstringとStringがごちゃごちゃになって収集つかなくなるのでやめておきます。 今度、また新しく作るときに使ってみます。 >>106 汚いソース見てくれてありがとです。 試験前日は勉強以外のことがしたくなりますよね。。。 試験がんばってください。 なんか、応援されると涙でるくらい嬉しいな。 とりあえず現状こんな感じ。 tp://sakuratan.ddo.jp/uploader/source/date61918.lzh 戦闘に入ると、にげるを選ぶまでずっとコマンドを選び続けることになります。 攻撃とかの処理はまだ入れてません。 パーティアタックの要素もいれるつもりですが、まだ全然ですね。 BattleFieldに敵味方含めて全部のキャラクタのポインタを持たせ すばやさ順に並び替えて キャラクタが保持しているCommand,subCommand,Targetを元に行動させてみたいと思います。
- 108 名前:名前は開発中のものです。 [2007/12/07(金) 05:13:38 ID:G3CHG+0v]
- 煮詰まる・・・・
- 109 名前:裕釐@106 [2007/12/07(金) 07:07:51 ID:9GENbEd8]
- >>107の最新版bだがウィンドウが表示されたと思うと消えてしまう。。。
- 110 名前:名前は開発中のものです。 [2007/12/07(金) 11:04:20 ID:ZFkfzkEg]
- fatalita.sakura.ne.jp/SoftReview/img/DQTEST.gif
こんなん作ってたんですけど、ソースとかアップしてもいいですか? 全然開発進んでないんで多分見ても面白くなさそうですけど
- 111 名前:名前は開発中のものです。 mailto:sage [2007/12/07(金) 11:27:46 ID:SfdXkRE6]
- どうぞ
- 112 名前:名前は開発中のものです。 [2007/12/07(金) 21:41:34 ID:ZPLhqQBz]
- なんか餅ベーションあがってきた
俺もRPG作る! 目標年内で、初期FC程度の遊べるレベルまで しかし、DQドット絵って、どこかで流れてるの? みんな、自分で手打ちしてるの?
- 113 名前:1 [2007/12/07(金) 22:02:06 ID:TqKt9CYS]
- >>108
僕も煮詰まってます。 挫折しそうな時に、このスレを見てがんばってます。 >>109 DLありがとうございます。 今Upしたやつ試してもらってもいいですか? >>110 ぜひUpしてください。 見た目DQ1なのに、台詞が3で宝箱が4だw 敵味方全部のポインターをBattleFieldクラスに持たせるようにしようとしたけど なかなか上手くいかずにずっと悩んでました。 デストラクタが呼び出されるタイミングについて質問があったんですが どこだったか忘れました Orz tp://sakuratan.ddo.jp/uploader/source/date61994.lzh
- 114 名前:裕釐 [2007/12/07(金) 22:30:50 ID:9GENbEd8]
- かわりませんね。。
VC++で再コンパイルを試みているんだがコンパイルできない。。 ・KeyTest.cppは何? 関数らしき宣言が見当たらないのだが。。
- 115 名前:裕釐 [2007/12/07(金) 23:11:43 ID:9GENbEd8]
- 連レスすまん。 起動できた
どうやらDQフォントに問題が。。tk別のほうのをインストールしてた //フォント変更 if(ChangeFont("DragonQuestFCIntact") == -1){ DMsg("できればドラクエフォントをインストールしてください。"); } これうまく作動してないかと。 何故Error関数じゃないのか気になるね
- 116 名前:1 [2007/12/10(月) 08:14:42 ID:P9jsj/2m]
- >>114-115
KeyTest.cpp はキー入力のテストで作ったファイルで、今はもう必要なかったです。 //フォント変更 if(ChangeFont("DragonQuestFCIntact") == -1){ DMsg("できればドラクエフォントをインストールしてください。"); } ↑は確かに思うように動作してないですね… Orz Error関数じゃないのは、 で き れ ば インストールしてください ってことで。 僕の汚いコードを見てくれるのにわざわざフォントのインストールまで強制するのはどうかと思ったので。 あんまり進んでないけど最新版 ****のこうげき! ****は **のダメージをうけた! と表示されます。 今度は実際にダメージ計算をして HP計算をして、死亡判定、戦闘の勝利判定までやりたいと思います。 tp://sakuratan.ddo.jp/uploader/source/date62360.lzh
- 117 名前:もつ ◆3hrQ9eL3.Q mailto:sage [2007/12/10(月) 21:47:12 ID:8T67gjbd]
- コンソールゲームスレで途中でやめたDQ1
コンソールなんですべてキャラクタ(文字) ttp://sakuratan.ddo.jp/uploader/source/date62420.zip 一応、人、会話、戦闘、復活の呪文等を実装。 魔法はつかえん。バグたくさん。 ↑、↓、←、→、スペース、BS が操作キー
- 118 名前:名前は開発中のものです。 [2007/12/11(火) 13:12:14 ID:i04hax3Y]
- ドラクエふぉんとのないパソコンで起動すると
DrawStringDQ関数呼んだときに強制終了くらうよ。 対戦中の敵のパラメータは構造体で管理するとして、 対戦全体を管理するのにもクラス作ったほうが楽な気がする。
- 119 名前:名前は開発中のものです。 mailto:sage [2007/12/11(火) 16:54:54 ID:xDs0NYc0]
- >>2
int hn2fn(char c) { return c + ('0' - '0'); }
- 120 名前:1 [2007/12/11(火) 19:12:31 ID:ANDKxxZg]
- >>118
僕のPCだとDQフォント無しで動いちゃってるんですよねぇ… でもChangeFont("DragonQuestFCIntact")が-1を返しているわけではないみたいです。 ちょっとDxライブラリの掲示板に質問ぶつけてこようかな。 対戦全体を管理するのがBattleFieldクラスです。 …のつもりだったんですが、いまいち機能が中途半端なんですよねぇ…。 どんな機能をどこに持たせるべきなのかっていう判断が初心者には難しい…。 っていうか、それがそのままPGの力量に直結するんだろうなぁ… BattleField ↓ ↓ PlayerParty MonsterParty ↓ ↓ PC MonsterGroup ↓ Monster あれ?矢印の向き逆? >>119 レスありがとうございます。 今のところ char c[2]; char[0] = 0x82; // char[1] = 0x みたいな感じで無理やりやってましたw char型を取ってint型を返すのか… なんか目からうろこだな。
- 121 名前:1 [2007/12/11(火) 19:21:33 ID:ANDKxxZg]
- 現状UPです。
敵を倒すと戦闘終了するようになりましたが、 経験値やゴールドの増減はありません。 ステータス表示がパーティの人数で伸び縮みするようになりました。 モンスターの行動パターンとかどうしようか悩んでます。 今のところ攻撃一辺倒で、勇者一行の先頭キャラしか攻撃しません。 経験値とゴールドを解決したら、いちおう遊べるのかな? tp://sakuratan.ddo.jp/uploader/source/date62496.lzh
|

|