トップページgamedev
246コメント65KB

C言語って…

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/08/02 16:31ID:GWrer4oY
C言語でゲームって作れるわけ?
あんなの文章表示させられるだけでしょ?
0041sagesundi02/08/02 20:25ID:???
PS2はC++がメインなのかな?
PSはISAバス用のボードをPCに挿して、
CでSource書いて、DOSプロンプトでコンパイル、
実行をボード経由でテレビに出力してるって知り合いに聞いたけど。
コンシューマで開発してた知り合いは、
みんなPCに移って来ちゃたからだれか教えて。
0042名前は開発中のものです。02/08/02 21:11ID:???
VectorCなどを用いて意地でもCのみでVUコードを書いてる、って人いますか?っていうか可能ですか?
0043nop02/08/02 21:38ID:???
>>42
0044名前は開発中のものです。02/08/02 21:53ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0045名前は開発中のものです。02/08/02 23:00ID:uMYulP42
文章だけでゲームって作れるの?
0046名前は開発中のものです。02/08/02 23:09ID:???
>>45
Infocom を知らんのか !!

……知らないだろうなぁ。
0047名前は開発中のものです。02/08/02 23:14ID:???
状態を全部文章でユーザーに伝える事ができれば
格闘アクションゲームだって。
0048名前は開発中のものです。02/08/03 00:14ID:zi7NeXyE
C言語でゲームって作れるわけ?
あんなの文章表示させられるだけでしょ?

ANSIの範囲であればテキストを出すことしか出来ないのでそれほど
間違いではありません。ただPS2用のグラフィックライブラリを利用
すればグラフィカルなゲームをC言語で作ることは出来ます。
現在のゲーム開発ではC/C++でゲームを作ることはごく一般的に行わ
れています。一応私もゲーム開発者の一人です。現在はC++でXboxの
ゲームを作っています。まずはDirectXのサンプルでも読んでみるのは
どうでしょうか?すべてC++で書かれているのが良くわかると思います。
0049名前は開発中のものです。02/08/03 00:32ID:???
Windows 環境なら Windows SDK があれば C言語からでも OS の
グラフィックスインターフェースを利用できます。
0050名前は開発中のものです。02/08/03 00:37ID:???
うわっ、>>1キモッ、おまけに臭え!!ゲロゲロゲェ――――――――――!!!!
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ぅぉぇっぷ
           〃⌒ ヽフ
          /   rノ
         Ο Ο_)***
0051名前は開発中のものです。02/08/03 02:26ID:???
>>48
xboxで開発って、マーケット上での勝算を見込んでのことですか?
0052名前は開発中のものです。02/08/03 02:34ID:???
妙な食いつき方...
0053名前は開発中のものです。02/08/03 03:57ID:P4ZI9tYI
ローグって、AAじゃなかったっけ?
0054名前は開発中のものです。02/08/03 04:22ID:???
その場合AAって何の略なわけ?・・・
0055名前は開発中のものです。02/08/03 04:39ID:???
まさかAsciiArtじゃないだろうな<AA
0056名前は開発中のものです。02/08/03 09:41ID:???
Cはもういらないんじゃないか。
C++はCをサブセットとして含んでるし(微妙な違いがあるけどそれはどうでもいい範囲内)
低水準なCと比べると多少生産性高いし、Cの仕様でしか書けないゲームなんて今は無いだろ。
問題があるとすればC厨とかCしかできませんとほざくやつか。
0057名前は開発中のものです。02/08/03 10:18ID:???
機種依存で良ければVRAMorGDI直アクセス。
入力ももちろん同じように。
ライブラリに頼らないでもできなくはない。
0058名前は開発中のものです。02/08/03 10:25ID:???
>>41
普通にCは使えます。C++使わなくても開発できるPS2。
0059名前は開発中のものです。02/08/03 11:46ID:jQ5vEcG6
>>55
だろうな。
>>53
ローグのフィールドはAAに近いが、キャラクターはAAとは明らかに違う。
0060名前は開発中のものです。02/08/03 11:58ID:xhx.JbWA
60でマジレスする快感
>C言語でゲームって作れるわけ?
はい
>あんなの文章表示させられるだけでしょ?
いいえ
0061名前は開発中のものです。02/08/03 12:14ID:???
>>60 今さらやってもつまらないよ!
0062名前は開発中のものです。02/08/03 14:03ID:zi7NeXyE
>51

>xboxで開発って、マーケット上での勝算を見込んでのことですか?

MSが金出してくれるので。大手はこういう理由で参入しているところが多いのでは?
まあ確実に儲かるのでこちらとしてはありがたいですね。
作りやすいし悪くはないですね。
0063名前は開発中のものです。02/08/03 22:32ID:???
XBOXの開発に慣れちゃうとPS2戻れない罠。
ステップ実行できるし、本当楽です。
0064名前は開発中のものです。02/08/03 22:50ID:tcUzhuh.
お前らエディタは何にしてる?
0065名前は開発中のものです。02/08/03 23:33ID:???
>>64
Visual Studioですが?
0066名前は開発中のものです。02/08/04 00:50ID:???
秀丸
0067 02/08/04 00:55ID:???
VC
0068名前は開発中のものです。02/08/04 00:57ID:???
TeraPad
0069名前は開発中のものです。02/08/04 02:36ID:hUZim/2I
Meadow
0070名前は開発中のものです。02/08/04 03:09ID:???
メモ帳
0071名前は開発中のものです。02/08/04 03:11ID:y/qD5Xb2
統合環境あるのに、使わない人ってムカツク。
「このstruct(class)の宣言に行って」と言ったら
5秒以内に出してよ。イライラする。
0072名前は開発中のものです。02/08/04 04:14ID:???
漏れはvimかemacsあればいいよ。
カーソルキーやマウス使う環境なんてめんどくせーよ。
つーか、自分が使いやすく効率のよい環境で組めばいいんだよ。

カルシウム不足の>>71はedlinで修行を積んで来い。
0073名前は開発中のものです。02/08/04 05:17ID:???
「つーか、自分が使いやすく効率のよい環境で組めばいいんだよ。」
なんとなく同意。71は開発スタイルか人間関係のどっちかを見直しる!
0074名前は開発中のものです。02/08/04 05:53ID:???
「統合環境あるのに、使わない人ってムカツク」人ってムカツク。
0075名前は開発中のものです。02/08/04 06:06ID:???
手馴れたエディタあるのにわざわざ統合環境をカスタマイズもせずにケチつける人ってムカツク
0076名前は開発中のものです。02/08/04 07:57ID:???
大工の金づち自慢大会 開催中。
00777102/08/04 16:25ID:y/qD5Xb2
アララ、、反感買ってるようだ。
どう考えても、統合環境の方が便利じゃん。
手馴れたエディタはそろそろ卒業して、新しいもの使おうぜ。

grepショートカット>名前入力>ドバっと出た奴から、目的の物を探す

とかって、オペレーティング遅すぎ。時間掛けるなよと。そんなとこに。

自分が編集してたファイルをalt+tabで探したリ、とか。アホかと。

仕事がはやけりゃ文句もいわんが。
そういう奴に限って、、遅いっ。遅すぎ。
0078名前は開発中のものです。02/08/04 16:32ID:???
71さんは必死なんですね
0079名前は開発中のものです。02/08/04 16:32ID:???
統合環境に限らず、文句言ってる香具師の方が仕事遅いがな・・・
grepでどばっと出たなんて言ってる時点であんたのレベルがわかるよ。
まぁ、相手に物押し付けるような香具師はプログラマに向いてないってこった。
帰っていいよ。
0080名前は開発中のものです。02/08/04 16:58ID:???
http://2next.net/swf/R3_temp.swf?inputStr=%3E%3E71%82%B3%82%F1%82%CD%95K%8E%80%82%C8%82%F1%82%C5%82%B7%82%CB%81B
00817102/08/04 16:59ID:y/qD5Xb2
だから、5秒以内に言われた関数定義を出せるなら、文句言わんし。
出せないなら、どうにかしろ。イライラする。
0082名前は開発中のものです。02/08/04 17:09ID:???
71必死だな。
おまいは落ちた食べ物3秒ルールとかも実践してんじゃねーのか?
あ、返事は5秒以内に頼むな。イライラするから。
0083名前は開発中のものです。02/08/04 17:16ID:hUZim/2I
71さんの周りの人って、関数定義探すのにgrepしてるの?
TAGファイル作っとけば、一発でジャンプできるのに。
TAGジャンプが出来ないエディタ使ってるのかな?
0084名前は開発中のものです。02/08/04 17:22ID:???
xをn乗するコードを書きましたがどうですか?Cを初めて3日目の者です。

/* xをy乗するといくらか? */
printf("xをy乗します。\n");
printf("xを入力(not 0):");
scanf("%d", &x);
if(x == 0) return 0; /* 0が入力されたら終了 */

printf("yを入力(not 0):");
scanf("%d", &y);
if(y == 0) return 0; /* 0が入力されたら終了 */

if(y == 1) { /* 1乗ならそのまま出力して終了 */
printf("%dの%d乗は%d\n\n", x,y,x);
return 0;
}

ox = x; /* xの値を避難 */
count = 1;

while(count != y) {
x = x * ox;
count++;
}

printf("%dの%d乗は%d\n\n", ox,y,x);
0085名前は開発中のものです。02/08/04 18:02ID:???
どうしてx^nと謳っておきながら
コードとドキュメントはx^yなの?
記号の不統一性は混乱する元です。

また、場合わけが気持ち悪いですね。
むしろループや再帰を効率的に使ってもっと簡潔に書くべきでは?

ループを使った場合をささっと書くと、

int res=1;
for(int i=0;i<y;++i){
res*=x;
}

て感じ。

ちなみに0^0=1は定義だけど、いいね?
00868502/08/04 18:06ID:???
あー、ごめん、ちょっと補足。
85のコードはx,yに値が代入された後、場合わけを含めて計算する。
0を入力されても止める必要は無いし、1の場合の場合わけも不要。

考慮していないのは乗数<0の場合。
0で計算される。
0087名前は開発中のものです。02/08/04 18:50ID:???
x, y の値を計算の途中で変えちゃってイイならば
while(--y) x*=x; とか。x が答えになる。
ただしこれは y<1 のときにかなり最悪なことになる。

ところで >>84 は一応ループつかってるんじゃないのか? > 85
00888502/08/04 19:03ID:???
>>87
えへっ、(省略されました・・全てを読むにはここを押してください)を読まなかったの v
私めんどうくさがりだもん。

…ごめんね。
0089名前は開発中のものです。02/08/04 19:06ID:???
>x*=x
ここは困った事になると思う。
00908502/08/04 19:22ID:???
そだね。
87さんのだと最終的な結果がx^(2^y)になるかな?
swapと一緒でtmpが一個いるよ。

tmp無しで書こうと思ったら、church数みたいに

int func(int xx,int yy){return (n==0)?1:xx*func(yy-1);}

とかあらかじめ関数を作っておいて、

printf("%d ^ %d = %d\n",x,y,func(y));

でOK。
しかし再帰でバグ出すと最悪数時間が消えるので、
他にいい方法があったり、あるいは急ぐときにはあんまりお勧めしないです。
00918502/08/04 19:23ID:???
ああっ、やってしまった…。
訂正です。

int func(int xx,int yy){return (yy==0)?1:(xx*func(xx,yy-1));}

これならうまくいくはず…。たぶん…。
00928502/08/04 19:34ID:???
やっぱりダメだぁ…。
訂正が面倒だから今回はちゃんとコンパイラ通した。

//再帰を使った階乗計算
#include<stdlib.h>
#include<stdio.h>

int func(int xx,int yy){return (yy==0)?1:(xx*func(xx,yy-1));}

void main(void){
int x,y;

printf("x?");scanf("%d", &x);//xを入力
printf("y?");scanf("%d", &y);//yを入力

printf("%d ^ %d = %d\n",x,y,func(x,y));//計算&結果表示

}
0093名前は開発中のものです。02/08/04 20:04ID:???
>84
pow()でいいじゃん。
009402/08/04 21:18ID:???
http://www.kokorode.com/001977/
0095名前は開発中のものです。02/08/04 21:27ID:???
>93
ツェペリさんを思い出すのでいやです。
00968402/08/04 22:34ID:???
>>85 さんご意見ありがとう!
0097名前は開発中のものです。02/08/04 23:14ID:l10.DAfI
ところでx*=xって未定義だったっけ?

x*=xはx=(x*x)と等価だったと思ったけど
0098名前は開発中のものです。02/08/04 23:21ID:???
0
0099名前は開発中のものです。02/08/04 23:25ID:???
>>97
そんなことないよ。
xの内容をレジスタに入れてから演算、
その結果をxとして格納する、の順番に処理される(と思う)ので
何ら問題なくxにはx^2が格納されます。
0100名前は開発中のものです。02/08/04 23:30ID:l10.DAfI
>>99
「x*=xって未定義」に対してそんなこと無いよ
といっておられるのですか?

それとも「x*=xはx=(x*x)と等価」に対してですか?

話の内容から前者だと思いますが、ただ
>xの内容をレジスタに入れてから演算、
>その結果をxとして格納する、の順番に処理される(と思う)ので
a++=a;
とかがあるから、そういう言い方は出来ないと思うんだけど
0101名前は開発中のものです。02/08/04 23:32ID:???
未定義になるのは副作用完了点と副作用完了点の間で、変数の値が
2回以上変更されているようなケースです。x*=x; は式の先頭から、
副作用完了点である;の位置までに x の値は1度しか変更されて
いませんので未定義には当たりません。
0102名前は開発中のものです。02/08/04 23:36ID:???
> a++=a;
> とかがあるから、

ありません。

確認しましたがVCではエラー吐きますね。
0103名前は開発中のものです。02/08/04 23:44ID:l10.DAfI
>>102
書き込みミスです
0104名前は開発中のものです。02/08/04 23:45ID:l10.DAfI
>>101
やっぱりそうですか、
一応、あってたか・・・
どうもすみません
0105名前は開発中のものです。02/08/04 23:46ID:???
なんだかすごいことになってきたね。(笑)
0106名前は開発中のものです。02/08/05 00:10ID:???
知識のなさをひけらかす場になってきたな(笑)
0107名前は開発中のものです。02/08/05 01:35ID:???
C++も無名関数とクロージャがあればなぁ。
0108名前は開発中のものです。02/08/05 02:00ID:???
           ∧ ∧ ∧ ∧  ∧ ∧ ∧ ∧
  ∧ ∧     /(,,゚Д゚) (, ゚Д゚) (, ゚Д゚) (*゚Д゚) ̄⌒ヽー
  (, ゚Д゚)⊃┳━∪∪━∪∪━∪∪━∪∪━⊂∪━┳ ∧∧
 ヽ/   | . ┃   1ウザイ氏ね!            ┃(゚Д゚;)_、
 (__∪  ). ┻━━━━━━━━━━━━━━━━┻ `uuuu
 ゙゙゙゙゙゙゙゙゙゙゙                             ゙゙゙゙゙゙゙゙゙
0109名前は開発中のものです。02/08/06 17:58ID:RPPDYFAM
z
0110名前は開発中のものです。02/08/15 16:07ID:???
行番号をいちいち書かずに例えば、

「現在1203行目を実行しました。
「現在1452行目を実行しました。

みたいに表示させいってて実行時の処理経路を明確にして行きたい
んだくぅえども、いちいち行番号を書くのが面倒くさい。
なんかちゃちな置換アプーリ作っておくしかない?
ちなみに環境はbcc+Terapad・・・
0111名前は開発中のものです。02/08/15 17:23ID:???
組み込みマクロ __LINE__ と __FILE__ を使う?

全部の行でなくブロック単位にトレース情報を埋め込むツールがあったような気がする・・・
0112名前は開発中のものです。02/08/15 18:36ID:???
>111
おぉ、それかも。
さんくす
0113名前は開発中のものです。02/08/17 00:42ID:???
C99で新しく採用された__FUNCTION_だったっけ?
関数名埋め込み機能が激しくホスィ。ログ取り楽だろうなぁ…
0114名前は開発中のものです。02/08/17 16:49ID:???
>113
BCCの__FUNC__と同じ?
やばひ、全然使ってないよ・・・勿体無い。
__DATE__、__TIME__こんなのもあった。鬱
0115名前は開発中のものです。02/08/19 00:04ID:???
>114
__DATE__や__TIME__は(当然)コンパイル時点の時刻だから
あまり役には立たないよ。せいぜいobjにコメント埋め込むくらいか。
0116名前は開発中のものです。02/09/11 00:18ID:UeS7yekB
uge
printf(debug);
0117名前は開発中のものです。02/09/27 00:06ID:???
シネ
0118名前は開発中のものです。02/12/01 04:29ID:h6i8MA+F
C言語でつくったゲームうぷしてみてよ。
0119名前は開発中のものです。02/12/01 04:57ID:ewKcq20i
  ☆。:.+: . /■\
   .. :.   ( ´∀`)   クソスレ、ループスレ ハ シュウリョウシマス
     / ̄ヽ/,― 、\ o。。。
.:☆   | ||三∪●)三mΕ∃.
.:*    \_.へ--イ\  ゚ ゚ ゚
+:..♪.:。゚*.:..  (_)(_)     ☆。:.+:
 ☆。:.+::..   ☆:.°+     .. :
   。*.:☆゚x*+゚。::.☆ο::.+。 *ρ

「なんでだろ〜♪」   「終了なんだろ〜♪」
   /■\   /■\   /■\
  ( ´∀`)  ( ´∀`)  ( ´∀`)
 ⊂    つ⊂    つ⊂    つ
  .人  Y   人  Y   人  Y
  し'(_)   し'(_)   し'(_)   【完】
0120名前は開発中のものです。02/12/01 21:03ID:tEV0kiv4
>>118
グラフィック表示の仕方がいまいちわからんのだ
0121名前は開発中のものです。02/12/01 22:00ID:LZWs2S8A
           ミ       ミ            ミ
                           ミ      ドドドスッ         ミ
 ウォリャ! ∧∧       ._                _                _
     (  ;,,)O..―─┴┴──────────┴┴──────────┴┴──┐
    /; ; つ.             終                 了              |
  〜′ /´ └―─┬┬──────────┬┬──────────┬┬──┘
   ∪ ∪        ││ _ε3                ││ _ε3                ││ _ε3
0122名前は開発中のものです。02/12/12 23:47ID:zGlMj7gl
漏れCが一番組み易いyo・・・
0123名前は開発中のものです。02/12/12 23:49ID:ft8jGbRN
             /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /U ヽ___/  ヽ
  | ____ /   U    :::::::::::U:\
  | |       /○     ○   ::::::::::::::|
  | | このスレ | ├──┤    U :::::::::::::| オワッチャッタ・・・
  | |   終了い..|U |   |      ::::::U::::|
  | | ありがと ..|  └―┘ U.....:::::::::::::::::::/
  | |____ ヽ     .....:::::::::::::::::::::::<
  └___/ ̄ ̄      :::::::::::::::::::::::::|
  |\    |           :::::::::::::::::::::::|
  \ \  \___      ::::::         〜 終 了 〜
0124名前は開発中のものです。03/02/02 03:31ID:k/VlsEEu
C言語単体では文字すら出せません。
0125名前は開発中のものです。03/03/27 17:38ID:iQiOgRn+
 I/OなりAPIを叩けば良いんでないかい?
0126名前は開発中のものです。03/05/29 11:38ID:xadUaM2+
>>124
そんな言語あるのか?w
0127名前は開発中のものです。03/05/29 12:35ID:O+uiTRB+
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0128名前は開発中のものです。03/08/20 17:29ID:loW7jq27
128でネタレスする暴挙
>C言語でゲームって作れるわけ?
いいえ
>あんなの文章表示させられるだけでしょ?
はい
0129名前は開発中のものです。03/11/08 20:08ID:NQnNJbOf
すげぇ,神のスレだ…
0130名前は開発中のものです。03/11/08 20:50ID:5O2oS72Q
C言語なんてわざわざライブラリリンクしてやんないと、文字すら出せないんだよ!?
0131名前は開発中のものです。03/11/08 20:56ID:rsu08UIb
うんこしておく
0132名前は開発中のものです。03/11/08 21:19ID:vtUo0ptu
↑こういうレスを見るたびに2chに小学生が増えていること実感する
0133名前は開発中のものです。03/11/09 00:30ID:Xr6BheaS
>>130
そのライブラリもCで書かれてるんじゃネーノ
0134名前は開発中のものです。03/11/09 00:53ID:nhKwYr+2
そうだッ!
そしてそのライブラリの中で本当に入出力をするときはOSのシステムコールを呼んでいる。
このOSもCでかかれているんだッ。
スゴイッッッッッ!Cッ!
0135名前は開発中のものです。03/11/12 21:56ID:cv63/Hkg
1の馬鹿さをつるしage
0136名前は開発中のものです。03/11/13 02:26ID:evU3hHof
>Cのゲーム
ム板の7行プログラムスレでも見れ
0137名前は開発中のものです。03/11/14 02:53ID:00xg0LWS
ぶりゅっ
0138名前は開発中のものです。03/11/21 19:48ID:njPf7nvW
すみませんが、cでdirectXをつかうにはどうすれば?
0139名前は開発中のものです。03/11/21 22:15ID:eTq0/1nM
まだ使えるんだっけ?
0140名前は開発中のものです。03/11/24 15:14ID:1t7U73Xr
COMの扱いがメンドクサイことになりそう。
>>138は趣味で、何かを作り始めるなら、C++使った方がいいんじゃないの?
必要な箇所以外はCのコーディングで書けばいいだけだし。
014113803/11/25 17:39ID:1ImlsCI2
>>140
なるほど、ありがとうございます。
で、CとC++って何が違うんですか?
と言うよりオブジェクト指向って何ですか?
■ このスレッドは過去ログ倉庫に格納されています