[過去ログ] C言語でアクションゲームが作りたい (268レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
72: _ 02/08/11 19:46 ID:??? AAS
>>64
天才プリグラマ
73(2): _ 02/08/11 20:03 ID:??? AAS
二次元のマップって普通1次元配列でするよね?
X方向120、Y方向100のマップがあったら
$define MAPX 120
$define MAPY 100
$define MAP_SIZE MAPX*MAPY
int main(void) {
int map[MAP_SIZE];
int x=0,Y=0;
省11
74: 02/08/11 20:08 ID:??? AAS
1マス1オブジェクトなんてどうだろう?
75: 02/08/11 20:12 ID:??? AAS
>>73
うんいいよ。
76(1): 02/08/11 23:35 ID:YyqnVN0I(1) AAS
>>73
サイズが大きかったり可変長だったりすると配列ではなくalloc系で取得する
ことになるだろうし、1次元のほうがいいとおもう。
77: 02/08/12 14:35 ID:??? AAS
>>76
callocだと0クリアしてくれるから便利だよな
78: 02/08/12 15:07 ID:??? AAS
MAP面積がX:120 Y:100、ビュー面積(表示される面積)がX:16 Y:16。
map配列内には山や海などのイメージ番号が収納されている。
1ブロックの大きさが16*16ドットとするとブロック単位での全方向スクロールの処理は
$define MAPX 120
$define MAPY 100
$define VIEWX 16
$define VIEWY 16
$define MAP_SIZE MAPX*MAPY
int main(void) {
int i,m=0,x=0,y=0,map[MAP_SIZE]; // x,y変数はビューの左上を指す
省16
79: 作れ 02/08/12 15:17 ID:1r6GcreU(1/2) AAS
↑
1どっと単位でスクロールしたければ
ビュー画面より少し大きめのバックバッファ(裏画面)を作り、そこへブロックを配置する。
ようするにVIEWXとVIEWYの大きさをバックバッファ用に大きくしてやるだけ。
あとは元のビュー画面の大きさでクロップして表画面に出せば、はいおしまい。
楽勝だろ? さっさと作れ
80(1): 作れ 02/08/12 15:20 ID:1r6GcreU(2/2) AAS
ちなみにエラールーチン入れとけよ(藁
X,Yが負なったり、(x+VIEWX)がMAPXをこえないようにするとか。
81(1): 02/08/12 16:02 ID:??? AAS
>>80
ンな事気にしてるんじゃねーよ。
この手の問題へのアプローチは3つある。
1 呼び出し側でチェックを入れる
2 呼び出された側でチェックを入れる
3 チェックしない(デバッグ段階でassertで潰す)
どれも間違いではない。
82(2): 02/08/12 16:30 ID:??? AAS
>>81
1だとプログラムが汚くなりませんか?
2が正しいと思います
83(1): 02/08/12 17:06 ID:??? AAS
>>82
1だと汚くなるっていうけど、
2でも返り値を見てエラー処理をしないといけない。
そもそも、この場合に範囲外の座標が与えられるというのは、
完全な論理エラー(バグ)なんで、取り除かなければいけないことを考えると、
チェックを入れるのは、正常なケースなら必要ないコードを入れると言うことなので、
assertしてしまうのが正しい。
84: 02/08/12 17:51 ID:??? AAS
>>82はアサートを知らない初心者と見た
85: 02/08/12 18:06 ID:??? AAS
>>83
どのみち、例外処理は必要だよ
assertはデバグ作業でしかつかえんし
86: 02/08/12 18:07 ID:??? AAS
>assertはデバグ作業でしかつかえんし
んなこたぁない。
87(1): 02/09/06 05:44 ID:??? AAS
どのみちassertなんて初心者をコケにする為の
道具でしかない。
88: 02/09/06 22:21 ID:??? AAS
>>87
それだけの道具ならわざわざJavaが新版に取り入れてくるはず無い
89: 02/09/06 23:53 ID:??? AAS
Java信奉派か・・・
90: 02/09/13 21:35 ID:??? AAS
Cとかからの移行組とのズレ摩擦を減らしただけとかではないのかな。
あんまりassertは重要視してない、ジブソの場合
命令全般にしても周りが使ってるものを優先的に使うが、
実質意味のない命令である事も多いわけだし
91: 02/10/13 02:16 ID:??? AAS
保守下げ
上下前次1-新書関写板覧索設栞歴
あと 177 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.019s