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






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 名前: 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 名前: 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 名前: [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 名前: [2007/11/16(金) 21:46:02 ID:UXZ5zvB8]
>>49 >>51

ご指摘ありがとうございます!
早速修正をしますた!
ローカル変数のポインタは危険ですのぉ… うっかりしてますた。

>>50 >>52

        ぇ…?

      ,-、     ,,,,_       ,.-、
     ./:::::\   /,'3 `っ  .../::::::ヽ
    /::::::::::::;ゝ--`‐‐‐'´- 、._/::::::::::::::|
    /,.-‐''"´          \:::::::::::|  
  /                ヽ、::::|  
 /                   ヽ|
 l                         l
. |    ●                 |
 l  , , ,           ●      l
 ` 、      (__人__丿    、、、   /
   `ー 、__               /
      /`'''ー‐‐──‐‐‐┬'''""´
      / ,,,,    ,,,  .... . |
     ,//ミLミ   ミLミ |  |
     (_/ ""    ""  ヽ、_)
  .  、ゞ'"'ッ,、... ゞ'"'ッ,、 .. ゞ'"'ッ,、 .. ∩
 ....... ミ ,'3 彡ミ ,'3 彡ミ ,'3 彡 ..ノ |
..... ...... シ,, ,;; ヾ` シ,, ,;; ヾ` シ,, ,;; ヾ二 ノ
 ................... `ー‐' ...... `ー‐'


54 名前: [2007/11/16(金) 21:49:14 ID:UXZ5zvB8]
便利なstringを知り、手当たり次第に修正しようとしたらめちゃくちゃになってしまった。。。
バックアップを使ってやり直しです Orz

いやー string便利だー
便利すぎて泣けてくる。

今までの苦労はポインタの勉強をした、と思うことにしよう。

55 名前: [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 名前: [2007/11/17(土) 10:25:11 ID:DAW7rWYI]
URL書く前に間違えて送信ボタンおしちゃいました Orz


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

60 名前: [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 名前: [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 名前: [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 名前: [2007/11/21(水) 19:27:04 ID:H4c55rmu]
>>69
仕様を考えてみました。
大まかに分けて5つのデータを作ります。

マップデータ
モンスターデータ
職業データ
アイテムデータ
呪文データ

それぞれのデータはお互いの中身を知っていることにして、
お互いを文字列を使って呼び出せるとします。

詳細
・マップデータ
マップサイズ
マップのタイルのデータ
グラフィック
移動判定
モンスターの出現率
タイルのデータを使った実際のマップのデータ
マップに配置するオブジェクトの元になるデータ
グラフィック
タイプ(物、生き物)
移動判定
オブジェクトの中身のデータ
モンスターの配置データ
出現するモンスターのパターン =>モンスターデータを参照する
パターンをセットしたデータ

71 名前: [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 名前: [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 名前: [2007/11/23(金) 21:19:47 ID:EqvVctbz]
>>77
そうなんすよ。
モンスターの中にはグラを反転させてるのもいるみたいですね。


性別のデータはどこに入れるべき? キャラクタの中にするか、職業に そうりょ・おんな みたいな感じにするか、

…両方やった方がいいのかな?

81 名前:名前は開発中のものです。 mailto:sage [2007/11/23(金) 22:07:20 ID:bo2lQ7Oe]
>>1って何を見てC++の基礎的な部分を学んだの?



82 名前: [2007/11/24(土) 00:52:56 ID:MS8gIJ0s]
>>81

tp://wisdom.sakura.ne.jp/programming/index.html
↑ここ

あとは気になる単語をひとつづつググっていって… っていう感じですかね。
まだまだ分からないことだらけです。 Orz

83 名前: [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 名前: [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 名前: [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 名前: [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 名前: [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 名前: [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 名前: [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 名前: [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 名前: [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 名前: [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 名前: [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 名前: [2007/12/11(火) 19:21:33 ID:ANDKxxZg]
現状UPです。

敵を倒すと戦闘終了するようになりましたが、
経験値やゴールドの増減はありません。

ステータス表示がパーティの人数で伸び縮みするようになりました。

モンスターの行動パターンとかどうしようか悩んでます。
今のところ攻撃一辺倒で、勇者一行の先頭キャラしか攻撃しません。
経験値とゴールドを解決したら、いちおう遊べるのかな?


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



122 名前:裕釐 [2007/12/11(火) 21:00:59 ID:31kIAbMQ]
BattleFieldね。おk。
敵数と敵の情報をまとめればいいかな、と℃素人は思ってしまう。。。あとで必要だと思うときに
付け足せるような形にまとめておくのがいいと思うよ。

戦闘中、複数種の敵がいる場合、たたかうを選んだときに
どれに攻撃するか選ぶよね。あの敵リスト?を更新するようにしないと。
倒してもリストからは消えないのは問題。



123 名前:名前は開発中のものです。 mailto:sage [2007/12/11(火) 22:50:31 ID:FZGhBsSs]
>>119

return c + '0';

でよくね?ちなみにマルチバイトだと…

124 名前:名前は開発中のものです。 mailto:sage [2007/12/11(火) 22:54:54 ID:FZGhBsSs]
おっとこの場合数値から全角文字か

125 名前:名前は開発中のものです。 [2007/12/12(水) 07:39:59 ID:J/TJHZ+a]
全角文字を' 'で囲むな

126 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 08:37:22 ID:7RFZk29b]
ドラクエフォントを入れなくても動くように、
ドラクエフォントを画像データにしたほうが良いのでは?
字数知れているし。

127 名前:名前は開発中のものです。 [2007/12/12(水) 13:27:41 ID:DWQ3Q4UI]
>>126
サイズetcの変更はどうする


128 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 15:32:17 ID:DfKtb5wZ]
>>125
C#ならOK

129 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 16:09:05 ID:9ySxVkow]
サイズ変更なら、StretchBiltなりDrawExtendGraphなりでできるだろ。

130 名前:名前は多分開発中のものです。 [2007/12/12(水) 16:17:11 ID:m1CVZqe+]
>>128
残念ながらココはC++のスレ。


ストレッチは1ブロックあたりがでかく汚くなる。

131 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 20:51:46 ID:DYTuCNrB]
ドット絵ベースなゲームに、TTフォントを使うこと自体間違っている。



132 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 22:58:46 ID:VmmQnXXX]
WCHARでいいんじゃね

133 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 22:59:54 ID:M90VuyCU]
いっそC++/CLIで






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

前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