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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/05/03 18:22ID:jHGxuzaQ
0011名前は開発中のものです。02/05/03 20:51ID:???
>>10
どういう意味だよ
0012名前は開発中のものです。02/05/03 20:58ID:???
>>11
そういう意味さ
0013名前は開発中のものです。02/05/03 21:08ID:???
>>12
いいんじゃないの?
0014名前は開発中のものです。02/05/03 22:21ID:???
あげ
0015名前は開発中のものです。02/05/03 22:26ID:???
あげんな(笑
0016名前は開発中のものです。02/05/03 22:31ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0017名前は開発中のものです。02/05/04 00:15ID:nKGEE6cA
ほい

10 CLS
20 SCREEN 3
30 PRINT "HELLO WORLD!!"
40 END
0018名前は開発中のものです。02/05/04 00:19ID:???
#include <stdio.h>

int main();

int main()
{
printf("hello world\n");
return(0);
}

ほい
0019名前は開発中のものです。02/05/04 01:33ID:???
#include <stdio.h>
#include <action.h>

int main(void)
{

printf("Hello ActionGame!\n");

RunMro(); /* スーパーマリヲ実行関数 */

return 0;
}


一丁上がり!
0020名前は開発中のものです。02/05/04 01:53ID:???
>>19
ごめんなさい。僕が作りたいのは3Dのネットゲームなのでマリオじゃダメです
0021名前は開発中のものです。02/05/04 02:12ID:???
>>1
今までゲーム作ったことあるのか?
無いんだったら小さいものからやってけ
0022名前は開発中のものです。02/05/04 02:14ID:???
とりあえず、コンソールのアドベンチャーゲームでも作っとけ。
0023名前は開発中のものです。02/05/04 02:27ID:???
と、言うか現在では逆にコンソールのアドベンチャーの方が造り辛いと思われ...
0024名前は開発中のものです。02/05/05 01:14ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0025名前は開発中のものです。02/05/05 23:20ID:???
/*無限シネヨサンプル*/

#include <stdio.h>

int main(void)
{

while(1){printf("厨房シネヨ\n");}

return 0;
}
0026名前は開発中のものです。02/05/06 12:37ID:???
a
0027名前は開発中のものです。02/05/06 12:52ID:???
>>25
改行ない方がカコイイ
0028名前は開発中のものです。02/05/06 13:59ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0029名前は開発中のものです。02/05/12 21:45ID:???
 
0030名前は開発中のものです。02/05/12 22:50ID:8Pk00WY.
http://science.2ch.net/test/read.cgi/doboku/1021190528/l50
0031名前は開発中のものです。02/05/13 06:37ID:???

            エッ!?ドレドレ??   ウワァ!!コレハヒドイスレダ!!



       ∧_∧∧_∧  ∧_∧ ∧_∧
       ( ・∀・);・∀・) (・∀・; )・∀・ )ボクニモミセテ
  (○) (   つ  U U )⊂   ⊂  ⊂ )
  ヽ|〃 (_)_)(⌒)|| ̄ ̄ ̄ ̄ ̄|__(_(_)
  ̄ ̄ ̄ ̄ ̄ ̄ ̄.|\||  VAIO  | ̄ ̄ ̄ ̄
            \,,|==========|
0032名前は開発中のものです。02/05/21 05:12ID:XHSDIsJI
HSPでダイレクトx使うにはどうしたらいいの?
0033名前は開発中のものです。02/05/22 13:30ID:uFabihEo
 スレ違い…でしょうか?えぇと、2Dのアクションでマップを
キャラの移動にあわせて横にスクロールさせるには
どのような処理をかければいいのでしょうか?
0034名前は開発中のものです。02/05/22 13:40ID:???
キャラ移動と逆の方にマップを移動
00353302/05/22 13:49ID:???
>>34さん
 うわ、動きましたよ。
どうもありがとうございます!
これから少し数値の補正をかけてみます!
0036名前は開発中のものです。02/05/22 17:35ID:aMw1or7U
>>35
スクロール以前に、固定画面のゲームいくつか作ったほうが身のため。
0037名前は開発中のものです。02/05/22 20:18ID:???
テキストモードで上スクロールだッ!
「逆スクロール」=下スクロールは高度な技だゾ!
0038名前は開発中のものです。02/05/22 20:54ID:???
>>1
作れば?
0039リアルヒッキー02/06/21 03:03ID:???
>>34
ああなるほど、言われてみれば簡単だが気が付かなかったよ
よーしパパ途中で放置してたゲームの続き作るぞー

たぶんすぐ挫折するけど
0040名前は開発中のものです。02/08/07 00:49ID:uvRO0azs
あの、まったくの初心者なんですけどCでゲームが作りたいです。
どういうことを勉強すればいいのでしょうか?
いろいろなサイトを見たけど、ゲームに結びつくようなことは書かれていませんでした。
0041名前は開発中のものです。02/08/07 00:51ID:???
>>40
検索の仕方を勉強しる
いろんなところに書いてあるぞ
0042名前は開発中のものです。02/08/07 01:01ID:???
>>40
何を勉強したらいいのかとか聞いてるようじゃ見込み無し
0043名前は開発中のものです。02/08/07 01:02ID:???
猫でもわかるプログラミング
ttp://www.kumei.ne.jp/c_lang/

山亀本舗
ttp://www.yamagame.com/
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がテーマだったりすると厨房は書きこまないのかな
■ このスレッドは過去ログ倉庫に格納されています