トップページgamedev
253コメント88KB

C言語でアクションゲームが作りたい

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/05/03 18:22ID:jHGxuzaQ
0044名前は開発中のものです。02/08/07 01:05ID:???
>>40
http://www.3dgamers.com/dl/games/quake2/Thirdparty/q2source-3.21.zip.html
0045名前は開発中のものです。02/08/07 03:23ID:???
>>43の「猫でも…」はなんでエディタをエジタってかいてるんだ?
0046名前は開発中のものです。02/08/07 04:52ID:5/IuBIvM
エジタ(・∀・)
0047名前は開発中のものです。02/08/07 05:11ID:???
>45
ローマ字でeditaでは? うちはエヂタになるけど。
COBOLerがいうエディッタよりはマシかと。
0048名前は開発中のものです。02/08/07 09:57ID:???
>>40
つーか本買え
0049名前は開発中のものです。02/08/07 10:23ID:???
editorだろ。
んで、ジジ臭い読みかたすりゃエジタ。
老人がTシャツを「てーしゃつ」って言うようなもんだ。
0050名前は開発中のものです。02/08/07 10:30ID:???
この場合は初心者がネットで探すよりも本を一冊買ってきたほうが
はるかに早く情報手に入れることができるだろうに…
0051名前は開発中のものです。02/08/07 11:31ID:???
>>49
老人がTシャツを「てーしゃつ」と発音するのは、
あの形状をアルファベットのTではなく、
漢字の「丁 (てい)」に見立てたものなんじゃないの?
Tが敵性語だったときの名残で。
0052名前は開発中のものです。02/08/07 11:40ID:???
オバハンがステンレスの事をステンレースって言うみたいなもんか
0053名前は開発中のものです。02/08/07 12:29ID:???
大阪のおばはんの場合
×ステンレス
×ステンレース
○ぼっこんぼっこんゆーやつ
0054fusiagesan ◆7oP.BAKA02/08/07 13:46ID:hFP19G/E
>>53
ワロタ
0055名前は開発中のものです。02/08/07 13:53ID:???
>>40 http://www.gametutorials.com/
0056名前は開発中のものです。02/08/07 19:54ID:???
>>51
由来なんてシランが、ジジ臭いことに変わりはあるまいw
0057名前は開発中のものです。02/08/07 23:04ID:???
Dをデーと読む由来も解説キボン
0058名前は開発中のものです。02/08/08 01:27ID:q1hbC62g
>>57
ドイツ語だろ。
0059名前は開発中のものです。02/08/08 01:33ID:00f86gEQ
明治〜大正期はイギリスの他、ドイツに習う分野も多かった影響だろう。

電話で聞き間違えやすい(例えばBとD)から、わざとデーと発音する場合もありますな。
0060名前は開発中のものです。02/08/08 07:22ID:???
ハクションゲーム
0061名前は開発中のものです。02/08/08 09:22ID:???
>>59
漏れの場合英語習う前までデーの方が英語らしい発音だと思ってたり。(w
0062名前は開発中のものです。02/08/08 10:20ID:z6PUmBpA
丁字路
0063名前は開発中のものです。02/08/08 14:26ID:???
マジンガー世代は Z=ゼット
0064名前は開発中のものです。02/08/08 23:19ID:???
簡単なアクションゲームだったら、経験から言って制御文、構造体(自己参照構造体含む。これ重要。)、
グラフィックの表示まで分かれば十分作れると思う。
まあ、本気で勉強すれば半年で、物分りの悪い人でも1年やればできると思うよ。
多分、以下のソースがなにやろうとしてるか分かれば制御文については大丈夫だと思う。
(もちろん実行しないで。2分ぐらいで作ったんでscanf使っててスマソ)

#include<stdio.h>

void main(void)
{
  int a,b,i,j
  a=1;
  b=0;
  i=0;
  scanf("%d",&j);
  while(i<j)
  {
    switch(i%2)
    {
      case 0:
        a+=b;
        printf("%d\n",a);
        i++;
        break;
      case 1:
        b+=a;
        printf("%d\n",b);
        i++;
        break;
    }
  }
}
0065名前は開発中のものです。02/08/08 23:21ID:???
変数の宣言の最後に「;」忘れた・・・鬱。
0066名前は開発中のものです。02/08/08 23:43ID:???
いまだにmainの戻り値をvoidにするヤシがいるのか

とか言ってみるテスト
0067名前は開発中のものです。02/08/09 00:31ID:???
>>66
そういう入門書が消えない限りは
0068名前は開発中のものです。02/08/11 00:50ID:PnUKFloM
あえ
0069名前は開発中のものです。02/08/11 00:57ID:???
>67
いや、2chで蔓延した可能性もあるぞ・・・
こうなると最初にvoid main(void)で本を書いた奴は責任重大だな。
0070名前は開発中のものです。02/08/11 02:26ID:???
どっちでもいいんじゃネーノ
0071名前は開発中のものです。02/08/11 02:55ID:???
>>70
http://game.2ch.net/test/read.cgi/gamedev/1028266779/119-120n
0072_02/08/11 19:46ID:???
>>64
天才プリグラマ
0073_02/08/11 20:03ID:???
二次元のマップって普通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;

for(i=0;i<MAP_SIZE;i++) map[i]=0;
// もし X:54 Y:33 の位置に1を代入したければ
x=54; y=33;
map[x+(y*MAPX)]=1;





}

でいいんだよね??
2次元使ったほうがいいかいな?
0074名前は開発中のものです。02/08/11 20:08ID:???
1マス1オブジェクトなんてどうだろう?
0075名前は開発中のものです。02/08/11 20:12ID:???
>>73
うんいいよ。
0076名前は開発中のものです。02/08/11 23:35ID:YyqnVN0I
>>73
サイズが大きかったり可変長だったりすると配列ではなくalloc系で取得する
ことになるだろうし、1次元のほうがいいとおもう。
0077名前は開発中のものです。02/08/12 14:35ID:???
>>76
callocだと0クリアしてくれるから便利だよな
0078名前は開発中のものです。02/08/12 15:07ID:???
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変数はビューの左上を指す
while(1) {
m=key(); // key関数はテンキーからの入力を返す
if(m!=0) mapdraw(x,y,m); }
m=0; }

void mapdraw(int x,int y,int m) {
int nn;
if(m==8) y--;
if(m==6) x++;
if(m==2) y++;
if(m==4) x--;
for(i=0;i<VIEWY;i++) {
for(j=0;j<VIEWX;j++) {
nn=map[(x+j)+(y+(i*MAPX)];
put(img[nn],x+(j*16),y+(i*16)); // put関数はブロックを書く
} } }
でいいんじゃないかな?それよりもはよ、アクションゲーム作れや。1よ。
0079作れ02/08/12 15:17ID:1r6GcreU

1どっと単位でスクロールしたければ
ビュー画面より少し大きめのバックバッファ(裏画面)を作り、そこへブロックを配置する。
ようするにVIEWXとVIEWYの大きさをバックバッファ用に大きくしてやるだけ。
あとは元のビュー画面の大きさでクロップして表画面に出せば、はいおしまい。
楽勝だろ? さっさと作れ
0080作れ02/08/12 15:20ID:1r6GcreU
ちなみにエラールーチン入れとけよ(藁
X,Yが負なったり、(x+VIEWX)がMAPXをこえないようにするとか。
0081名前は開発中のものです。02/08/12 16:02ID:???
>>80
ンな事気にしてるんじゃねーよ。
この手の問題へのアプローチは3つある。

1 呼び出し側でチェックを入れる
2 呼び出された側でチェックを入れる
3 チェックしない(デバッグ段階でassertで潰す)

どれも間違いではない。
0082名前は開発中のものです。02/08/12 16:30ID:???
>>81
1だとプログラムが汚くなりませんか?
2が正しいと思います
0083名前は開発中のものです。02/08/12 17:06ID:???
>>82
1だと汚くなるっていうけど、
2でも返り値を見てエラー処理をしないといけない。
そもそも、この場合に範囲外の座標が与えられるというのは、
完全な論理エラー(バグ)なんで、取り除かなければいけないことを考えると、
チェックを入れるのは、正常なケースなら必要ないコードを入れると言うことなので、
assertしてしまうのが正しい。
0084名前は開発中のものです。02/08/12 17:51ID:???
>>82はアサートを知らない初心者と見た
0085名前は開発中のものです。02/08/12 18:06ID:???
>>83
どのみち、例外処理は必要だよ
assertはデバグ作業でしかつかえんし
0086名前は開発中のものです。02/08/12 18:07ID:???
>assertはデバグ作業でしかつかえんし
んなこたぁない。
0087名前は開発中のものです。02/09/06 05:44ID:???
どのみちassertなんて初心者をコケにする為の
道具でしかない。
0088名前は開発中のものです。02/09/06 22:21ID:???
>>87
それだけの道具ならわざわざJavaが新版に取り入れてくるはず無い
0089名前は開発中のものです。02/09/06 23:53ID:???
Java信奉派か・・・
0090名前は開発中のものです。02/09/13 21:35ID:???
Cとかからの移行組とのズレ摩擦を減らしただけとかではないのかな。
あんまりassertは重要視してない、ジブソの場合

命令全般にしても周りが使ってるものを優先的に使うが、
実質意味のない命令である事も多いわけだし
0091名前は開発中のものです。02/10/13 02:16ID:???
保守下げ
0092名前は開発中のものです。02/10/13 10:40ID:???
   ____
  /      ヽ
  / __A___|〆
  ヽ(____> 
   ノ从ハ)从〉   シュ シュ
   クノ ´∀`§へつ シュウリョウ〜♪
    √ ヽ@_X  .|
   /│    ヽ丿 ))
  /  \    |つ
/    ヽ__ノ
く        │
 ヾ=====┘
   し  し
                       〜完〜
0093名前は開発中のものです。02/10/13 12:20ID:???
とりあえずC++を覚えるべき。
0094名前は開発中のものです。02/10/13 13:28ID:???
C覚えたけど全然ゲームつくれない
0095名前は開発中のものです。02/10/14 12:45ID:???
>>とりあえずC++を覚えるべき。

知ったか君です。C++を覚えるのは目標です。

>>C覚えたけど全然ゲームつくれない

知ったか君です。足し算を覚えたのかな?
0096名前は開発中のものです。02/10/14 15:04ID:???
掛け算もファイルアクセスもソートも覚えた
次なにすりゃいいんだ?
お前が知ったかじゃなければ答えてくれ
0097名前は開発中のものです。02/10/14 17:23ID:???
JROGEみたいなものならできるはず。テキストゲームとか。
javascriptなら画像・サウンドも簡単に扱えますが重いです。

HSPはBASIC寄りなので、Cからは多少遠くなります。
しかしゲームを作るのは簡単です。
よほどの(処理速度を要求される)ゲームでも作らない限りはこれで良し。

vcならelを使えば簡単にゲームが作れます。
普通に使えばDirectX直接使用よりもややパフォーマンスは下がり
ますが、簡単に作れるには、変わり有りません。

bcbやbccでは多少扱いは難しいかもしれません。おおよそ可能ですが。

http://mikata.curiocube.com/oop/
ここを読めばプロパティ、メソッドなどのオブジェクト思考が分かり易いです。
http://www.asahi-net.or.jp/~yf8k-kbys/index.html
ここと併用すればC++の基礎が分かります。

もっともelでしたら、::の記号を気にしなければCのつもりで使えた筈です。
http://www3.justnet.ne.jp/~botchy/index.html
http://www.uri.sakura.ne.jp/~cosmic/yuno/main.html

命令は標準的なもの以外全て時代の変遷の影響を大きく受けます。
言語もどれがいつ廃れるかもわかりません。
0098名前は開発中のものです。02/10/14 19:44ID:???
DirectX使えるようになったよー。
記念下げ
0099名前は開発中のものです。02/10/15 17:45ID:j6LmSqrj
あげ
0100名前は開発中のものです。02/10/15 17:46ID:j6LmSqrj
そして100
0101名前は開発中のものです。02/10/15 21:28ID:S7By066D
>>96
C だとして、

libxml: Web 関連
SDL: マルチメディア関連、ゲーム制作
GTK+: アプリケーション一般
OpenGL(Mesa): 3D関連、ゲーム制作

好きなのを選ぶがよい。

洩れ的には先にアルゴリズムの本を一冊やっておくことを勧める。
010210102/10/15 21:31ID:S7By066D
スレのタイトル見たらCだった。(鬱

ちなみにワシは95ではない。
0103名前は開発中のものです。02/10/15 21:51ID:???
漏れら極悪非道の終了ブラザーズ!
クソスレは終わらせてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧   ∧_∧    END
 (・∀・∩)(∩・∀・)    ENDE
 (つ  丿 (   ⊂) FIN
  ( ヽノ   ヽ/  )   了
  し(_)   (_)J  完
0104エロい人02/10/16 04:59ID:oEmVn/CP
>>103
ぶっ死ろす!!
0105名前は開発中のものです。02/10/16 07:21ID:???
漏れら極悪非道の終了ブラザーズ!
クソスレは終わらせてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧   ∧_∧    END
 (・∀・∩)(∩・∀・)    ENDE
 (つ  丿 (   ⊂) FIN
  ( ヽノ   ヽ/  )   了
  し(_)   (_)J  完

0106名前は開発中のものです。02/11/25 21:11ID:GdbLUHO/
age
0107名前は開発中のものです。02/11/25 21:12ID:XfGdcqYm
         /´,,,.`ヽ
        (,´._ヾ、 )
         L_ "q 丿    もう・・・終りにしましょう・・・
          __`フ ~l."
       / / / ̄ヽ
       /〈" ''´ ~~/ミ)━・~~~      *このスレは終了いたしました*

0108名前は開発中のものです。02/12/17 14:58ID:k+UqhiHH
なんとなく保守してみるtest
0109北の国から ◆KI8qrx8iDI 03/03/09 20:26ID:VdwtYCdS
このスレは珍しくいいスレだな
ババシャツのくだりはワラタしw
一応議論もしていたみたいだし
0110名前は開発中のものです。03/05/29 11:44ID:xadUaM2+
まともだよね
Cがテーマだったりすると厨房は書きこまないのかな
0111名前は開発中のものです。03/05/29 12:35ID:O+uiTRB+
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0112名前は開発中のものです。03/05/31 04:55ID:PkStmXg/
現在、荒らしによってこの板の利用が困難になっているため、避難所を作成しています。
出来ればこちらに移動するのをお勧めします。

ゲ製作技術板(避難所)
http://bbs.gamdev.org/gamedev/


↓こんな感じにするのがお勧めです。
-----
9 名前:名無しさん@ゲムデヴ[] 投稿日:2003/05/28 21:33
とりあえずOpenJaneに登録した
0113名前は開発中のものです。03/05/31 04:59ID:UL2LgHsR
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0114名前は開発中のものです。03/06/02 02:35ID:bhePmfQ0
質問です。当方C言語を覚えて一月の初心者です。
アクションではなく小さい盤でやる将棋やチェスに似たボードゲームを作りたいのです。
C言語で20MB位ののデータベースを作り、それを参照しながら次の手を指していく
ようにしたいです。なんとかデータベースはできそうのですが、駒を動かすやり方は
これから勉強しないといけません。エキスパートの友人はC言語にAllegroをくみこめば
できるというのですが、Allegroって使いやすいのでしょうか。それとももしもっと
初心者にも簡単にできる方法を御存じでしたら教えてください。

1。簡単な言語で書いた盤上でマウスでうごかした敵(人間)の駒の位置をc言語で書いた
プログラムに入力。
2。C言語のプログラムがデータベースを探索し最善手を返す。
3。最善手を簡単な言語で書いた盤上に表示。
なんてことは可能でしょうか?
0115名前は開発中のものです。03/06/02 02:46ID:G5W2oll8
>>114
SDLはどう?

紹介、チュートリアル
http://www.libsdl.org/intro.jp/
イベントについて(マウスの移動やクリックイベントの例もある)
http://www.libsdl.org/intro.jp/usingevents.html

チュートリアルの内容が理解できれば、>>114のことくらいはすぐ出来るはず。


Allegroの方はよく知らないけど、リファレンスの和訳は、↓にある。
http://www.bekknet.ad.jp/~bero/docj/allegro/allegro.html

というか、>>114くらいなら、素直にWindowsのGDIでやればいいと思うんだが。
http://www.kumei.ne.jp/c_lang/index_sdk.html
0116名前は開発中のものです。03/06/02 03:00ID:bhePmfQ0
早速のレスありがとうございます。すべて新しい情報なのでゆっくり
比較してみます。SDKっていうのも初耳ですが、こちらVC++ではなく
Borlandのフリーのコンパイラを使ってますが、それでもできますか?
0117直リン03/06/02 03:11ID:lKkdz9eV
http://homepage.mac.com/yuuka20/
0118名前は開発中のものです。03/06/02 03:14ID:KqEYF/lM
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0119名前は開発中のものです。03/11/28 00:03ID:jkpDXt4l
FPSの設定ってどうやるの?
早すぎるのを60fpsに合わせるのはできたけど、遅いのを60fpsに合わせるのができない。
だれか教えてください
0120名前は開発中のものです。03/11/28 00:50ID:CwuFN/pR
描画をスキップさせる。
一般的に処理時間はゲームの処理<<<<描画処理だから。
ゲームの処理と描画処理を分離させてないなら、ご愁傷様。
0121名前は開発中のものです。04/03/10 17:39ID:pC7cF3IR
今、C言語とWindowsAPIでアクションゲームを作っているのですが、歩行のアニメーションが上手くいきません。
画像1の表示→タイマー→画像1のあった領域を背景で塗りつぶし→画像2の表示→タイマー・・・
という感じでやろうと思ったのですが、タイマーが上手く入れられません。
どなたかご教授お願いします。
0122名前は開発中のものです。04/03/10 17:43ID:wgtoYUbQ
こんな下がってるスレにひっそり質問しても誰も見てくれないよage
0123名前は開発中のものです。04/03/10 19:12ID:VROF09al
>>122
てかこの板さ、過疎のせいで生きてるスレが分かりにく杉
allage進行でもいい位(´_ゝ`)
0124名前は開発中のものです。04/03/10 23:02ID:V51Y5dwK
>>121
タイマ(WM_TIMER)は不安定なので普通ゲームには使わないぞ。
↓ここの1.4.1みたいに処理すべし。
http://www.microsoft.com/japan/msdn/academic/Articles/DirectX/01/

このままだとCPU100%使っちゃうから、elseブロックの中にSleepとかいれて
適当にウェイトを入れる。Sleepに食わせる値でFPS調節なんかもする。
調節の仕方はあちこちのページにかかれているので、検索してみるべし。
012512104/03/10 23:48ID:pC7cF3IR
>>122-124
レスありがとうございます。こんな感じにしたらできました。
void anime() {
static int count = 0; static DWORD fps_keep = 0;
if (GetTickCount() < fps_keep + 300) return;
fps_keep = GetTickCount(); 背景で塗りつぶし;
switch (count) {
case 0: 描画; count = 1; break;
case 1: 描画; count = 0; break;
}
}
CPUも100%にならなくなりました。教えて下さってありがとうございました。
0126デフォルトの名無しさん04/03/11 07:26ID:vbhBEofd
>119
いやまだ望みはあります。
描画関数は一つ(数個)でしょう?
フラグをセットして、セットして有れば画面に書かないで
戻るようにすればいいのです。これならプログラムの100カ所
から描画関数を呼んでても大丈夫だと思うけど。
0127名前は開発中のものです。04/11/14 00:45:18ID:x9zK3qma
まだこのスレを読んでもよくわからんが、将来のためにageとく
0128名前は開発中のものです。04/11/16 18:06:12ID:tsSmGNTS
ねーねー、Cやるのって金かかるの?
0129名前は開発中のものです。04/11/16 20:56:59ID:fcqxyC5l
>128
C言語プログラミングの流れ
 テキストエディタなどでプログラムコードを書く→ソースファイル
 ソースファイルをコンパイラを通してバイナリファイルを作成→オブジェクトファイル
 複数のオブジェクトファイルをリンカで一つの実行可能なファイルにする→実行可能ファイル

ツール
 つまりC言語でプログラムを作るのに必要なツールは
 エディタ、コンパイラ、リンカ
 コンパイラとリンカはほとんどセットになっているので、両方あわせてコンパイラと呼ぶことも多い
 他にもデバッグを支援してくれるデバッガというツールもある
 エディタ、コンパイラ、リンカ、デバッガ、その他の支援ツールを一つにまとめた統合開発環境(IDE)といわれるものもある

コンパイラ
 Windowsアプリケーションを作るとすれば
 無料コンパイラ:Mingw,BCC,Microsoft Visual C++ Toolkit 2003などなど
 有料IDE(コンパイラ込み):VisualC++.NET2003,Borland C++ Builderなど
 LinuxやFreeBSDなどのUNIX系ならコンパイラは迷うことなくGCC
0130名前は開発中のものです。04/11/16 20:57:26ID:fcqxyC5l
以下Windows前提

無料コンパイラについて
 無料コンパイラは基本的にコマンドラインからの使用が前提なので最低限のDOSコマンドは使える必要があるが
 フリーのGUIツールがある場合もある
 ほかにもmakefileというコンパイルの手順を記述するファイルの記述方法を覚える必要のものもある
 C言語の学習以前に覚えなければいけないものが結構多いので、そんな苦労は最小限にしたい香具師はやめとけ

VisualC++.NET2003
 略してVCという
 初心者にはVCがお勧め
 最初からGUI環境での開発ができる
 オールインワンなので必要なツールなどで悩む必要がない

ライブラリ
 Windows上で動作するゲームを作る為にはWindowsアプリケーション作成用のライブラリが必要
 もちろんVCは最初から何も考えなくてもついてるし、使える
 DirectXやOpenGLなどを使ったプログラムを作る為には、そのためのライブラリを入手し、
 コンパイラごとにそれぞれ設定する必要がある
 ゲーム用のフレームワークを提供するライブラリも存在する

以上のことを踏まえたうえでもチンプンカンプンな香具師はVC買っとけ
0131名前は開発中のものです。04/11/16 22:31:06ID:fHoL40sI
俺のお薦め無料セット

IDE,エディタ:BccDev
コンパイラ,リンカ:Boland C++ Compiler
デバッガ:Turbo Debugger
0132名前は開発中のものです。04/11/17 18:35:18ID:uDybUtmY
なんだなんだ、親切な人がいるもんだな。
ありがとう。ありがとう。
0133名前は開発中のものです。04/12/25 21:49:29ID:F3Xgd3GW
200番目記念
0134名前は開発中のものです。04/12/25 21:54:48ID:F3Xgd3GW
>>131氏のお勧めセットやっと揃えた記念カキコ
0135名前は開発中のものです。05/01/06 15:18:55ID:xxaj5Xlz
http://www.amazon.co.jp/exec/obidos/ASIN/B0002ERS18/250-3172619-1806610

学生の場合はコレを1つ買えばCでゲームを作ることができますか?
0136名前は開発中のものです。05/01/06 16:03:52ID:aURBdGiO
>>135
おk
0137名前は開発中のものです。05/01/06 19:00:33ID:DH17e0iN
書籍が一番金かかる
0138名前は開発中のものです。05/01/07 12:09:07ID:Xb185jAa
>>137
んだ。
書籍は金がかかるので、最低限をそろえて、
情報源はもっぱらインターネッツ。
英語を覚えりゃ収集できる情報量が増える。
0139名前は開発中のものです。05/01/24 01:54:46ID:AjUERDun
キーボードから入力を受付けるときに、
「キー連打」と「一定時間以上キー押しっぱなし」
を区別したいのですが、どうすればよいでしょうか?

kbhit()とgetch()を使ってキー入力を判断しているのですが、
私には今のところ、区別できません。

だれか教えてください。
よろしくお願いします。
0140名前は開発中のものです。05/01/24 19:31:50ID:XUv8bTeO
>>139
いまは、まだコンソール?
もし、そうならもう少し勉強を進めることに専念したほうがいいよ。
違うなら、その辺のWin32SDKの情報をあされば出てくると思う。
014113905/01/25 01:05:34ID:iPLtjYiU
>>140
OSはWindowsで、
言語はC言語です。

コマンドプロンプト上に'■'とかを出力して、
テトリスを作りました。(コンソールゲームというのですか?)
0142名前は開発中のものです。05/01/30 23:04:05ID:xPAo914a
>>139
釣りか?
釣りじゃないとしたら>>140をもう一回嫁。
分かりやすく言えば使おうとしてる関数がそもそも間違ってる。
DirectXやゲーム用ラッパーをまず探せ
0143名前は開発中のものです。05/01/31 00:05:35ID:cTfpobPf
アクションゲームをDirectX&C/C++で作ってるが結構しんどい。
始めて初めて分かるこの苦労。
今は2Dアクション作ってて3Dは全く触ってないんだが・・・
2Dとはやっぱり別物みたいだな。
2Dが理解できても3Dが理解できん。
つーか、サンプル見ても3Dはよく分からん。
流体力学研究所っつーサイトが結構面白かったが、
あのレベルになるまでにはどのくらいかかるのかねぇ。
■ このスレッドは過去ログ倉庫に格納されています