09/09/08 11:29:49 6MhMNrx0
自分が作りたいゲームで作れそうなの作れば
210:名前は開発中のものです。
09/09/09 12:09:38 eLuVrXen
>>200
>C++だと、カードっていうスーパークラスがあって、
ここの所もうちょい詳しく
そういうクラスが標準で用意されてるのかと思ってググってみたんだけど、全然ヒットしないです
これは基底クラスを自前で作ってそこから派生させろという話?
211:名前は開発中のものです。
09/09/09 14:17:10 vKyxO6xF
>>210
自分で作るんだよ。
たとえば「戦士は敵Aを攻撃」「魔法使いは呪文で全体攻撃」とか、行動の記録を構造体の配列なんかで持たせて
全部出揃ってから素早さ順なんかでソートする。
200のやり方はこのカードからプレイヤーや敵のクラスを継承させるみたいだけど
俺はキャラデータからカードを完全に分離させて、カードの仕事は行動解釈だけに絞るほうが好み。
212:名前は開発中のものです。
09/09/09 21:51:16 UMpltBwW
>>211
ありがとうございます
>>200は「カードっていうスーパークラスを作って」の意味でしたか
213:名前は開発中のものです。
09/09/29 05:17:35 kGLDkUja
C言語でちょっと数値計算できる程度の実力ですがC++でゲーム制作に挑戦することにしました。
とりあえず数当てゲーム作ったけど、数字じゃなくて文字が入力された場合の例外処理がよくわからなくて棚上げ
ひとまず次頑張ってみます
214:名前は開発中のものです。
09/09/29 05:56:42 tenDfojw
標準関数のisdigit使えば何とかならん?
215:名前は開発中のものです。
09/09/29 08:18:06 kGLDkUja
aとかaaaとかは抜けれるようにできましたが1aとかがまだでした
一回寝てからもう少し頑張ります
216:名前は開発中のものです。
09/09/29 13:45:22 /Wz8dUNK
atoiの存在に今気付いた
isdigitなんか使う必要ねーじゃん
217:名前は開発中のものです。
09/09/29 13:59:20 yWA5tZHN
URLリンク(kansai2channeler.hp.infoseek.co.jp)
けっこう連続入力とか嵌るんだよな
218:名前は開発中のものです。
09/09/29 16:08:36 ryAGnP+G
ご丁寧にありがとうございます
とても参考になりました
219:名前は開発中のものです。
09/10/12 09:30:46 fQgZRfDp
C言語暦約一ヵ月半、winapi暦2週間の初心者ですが、練習のために>>7に挑戦してみました。
URLリンク(www1.axfc.net)
ソースはあまりにもぐちゃぐちゃなので恥ずかしいので載せてません。
載せたほうがいいですか?
いちおうそれっぽいのはできたんですが、一点うまくいってないところがあって、敵の動きがうまくいきません。
敵位置を配列にしてるんですけど、for文で、敵[i]をまず消して、敵[i]の位置情報を変えて、敵[i]を再描画する、という順序なんですが、
敵[i-n]が移動した先が敵[i]の移動前の位置だとするじゃないですか。
すると、敵[i]の移動に伴って、敵[i-n]が消えちゃうんですよね。
かといって、まず全部敵を消してから位置情報を変えて、改めて全部の敵を表示するようにすると、こんどは敵が消えている時間帯が多く発生するので、画面がなんかちかちかするんですよ。
どうやって解決したらいいんだろう?
220:名前は開発中のものです。
09/10/12 10:41:42 PNg7pEvy
>>219
後者のやりかたの発展になるけど、裏画面に画像を用意してWM_PAINTのタイミングで入れ替える。
ホワイトボードの裏側に回って絵を描いて、合図がきたら裏返すイメージ。
ダブルバッファリングとかオフスクリーン描画とかで調べるといい。
C系のWindowsでゲーム作るなら必須の知識になる。
しかし1ヵ月半でここまでできるのはすごいな。
221:名前は開発中のものです。
09/10/15 06:26:55 5kHMShZk
>>220
ありがとうございます。
URLリンク(www1.axfc.net)
こうなりました。
どうでしょうかね?
もとがぐちゃぐちゃなので直すのに結構苦労しました。
ついでに、敵に当たっても移動できてしまうのを直しました。
222:名前は開発中のものです。
09/10/23 09:54:20 r4hfvq6d
カソル
223:名前は開発中のものです。
09/12/07 01:50:47 cfqCdEHC
あのさ、ActionScript3で質問なんだが、
FLASHってゲームループの概念なし?
それともEnterFrameとかタイマーイベント使ってやるのか?
イマイチピンとくる説明が検索でけんかった。
224:名前は開発中のものです。
09/12/08 17:07:56 cuTUnnQj
空気を読まずにお題を出してみる。
下記のデータ(ソース)がある。
const int max_choice_num = 3;
/* シーン */
struct Scene {
const char* const message; /* メッセージ文 */
int choice_num; /* 選択肢の数(0= 終了, 1= 強制移動, 2> 選択) */
int next[max_choice_num]; /* 次のシーンID */
};
/* シーンデータ(添え字がID) */
const Scene scene_data[] = {
{ "よくきた、勇者よ\n", 1, 1, },
{ "魔物を退治してくれんか?\n0: 任せてください\n1: いやです\n", 2, 2, 3, },
{ "では、行ってまいれ!勇者よ!\n", 0, },
{ "そんなこと言わずに・・・\n", 1, 1, },
};
225:224
09/12/08 17:09:39 cuTUnnQj
実行すると
よくきた、勇者よ
魔物を退治してくれんか?
0: 任せてください
1: いやです
> 1 <- 入力待ち
そんなこと言わずに・・・
よくきた、勇者よ
魔物を退治してくれんか?
0: 任せてください
1: いやです
> 0 <- 入力待ち
では、行ってまいれ!勇者よ!
となるようなプログラムを書け。
226:名前は開発中のものです。
09/12/08 21:47:41 dR/37Ta8
プログラムつうより普通スクリプトでやる処理だわな
227:224
09/12/08 23:54:51 LCrDR7+W
>226
これができたら、データを外部ファイルに出して処理してみるとか
ステップアップしていくと勉強になるかなと思ったんだけどね。
少しがんばればコンソールで簡単なテキストADVが作れるってのが
分かればモチベーションも上がるかなと思ったんだ…
つか過疎ってるから模範解答を出すタイミングが難しいな。
228:224
09/12/12 16:11:25 W7i0pvEF
模範解答。エラー処理とか一切してません。
int main() {
const Scene* active = NULL;
const Scene* next = &scene_data[0];
do {
active = next;
printf("%s", active->message);
if(active->choice_num == 1) {
next = &scene_data[active->next[0]];
}
else if(active->choice_num >= 2) {
int index;
printf("> ");
scanf("%d", &index);
next = &scene_data[active->next[index]];
}
} while(active->choice_num != 0);
return 0;
}
229:名前は開発中のものです。
10/05/27 17:19:08 cXVnDiqT
保守age