C言語って…
では、ゲーム作ろうと思ってC言語始める人には何がオススメですか? ゲーム作ろうと思ってC言語始める人へのオススメの本
プログラミング言語C 第2版
著者B.W.カーニハン/D.M.リッチー
訳者石田晴久
発行元共立出版株式会社 マジレスすると、ゲーム作るのに本などいらない。
Cの習得には、ちょっとだけ本はいるが、本をメインにしてはいけない。 俺もダイテルお勧めだな。
ダイテルにはCもjavaもお世話になっている。 >>161
Windowsでビットマップを扱ったりRPGみたいなものを創りたいなら
参考になるかも。
ゲームプログラミング練習帳
http://www.amazon.co.jp/exec/obidos/ASIN/4875934424/
P・J ダイテルと H・M ダイテルって同一人物なのか? 231 名前:名前は開発中のものです。 :04/04/22 16:56 ID:wrBOAPaB
期待age
どーにでもしてぇーーーー 個人的に、「言語」と名が付いているのなら、
文法だけじゃなく単語=ライブラリ、SDKの類も含めるべきだと思う。
というわけで「C言語で」と言ったらCで使える全てのライブラリを
使って良いということにしない? みんな>>1の文章をよく読め。
おい>>1
アンナって誰だ?お前の女か? ソフトインストールしなくてもゲーム作れる?
さささささ >>175
さぁ〜ね、インストールするソフトしか知らない >>175
C言語に限定すると無理
VBScriptやJavaScriptならテキストエディタだけで
Webブラウザ上で動くゲームを作れたと思う C言語で簡単なゲームを作ろうと思うんだけど
どんなゲームがいいと思う? まずは ドラゴンを倒そうよゲーム だな。
このタイトルでピンと来た奴は俺と飲みに行こう。 C言語でcgiを書くのに役立つ書籍かサイトがあったら教えてください
ほとんどのcgiはparlなので困っています PCえろげとか作るのに使われてる言語って何?
ずっとCとかC++だと思ってた初心者以下の俺様にこそっと教えてくれ。 C言語だけを指すなら文字の表示機能すらないし
ライブラリを含むならDirectXでも何でもあり >193
標準ライブラリ、って区切りぐらいしてやろうぜ PCエロゲーもスペックが低い頃はアセンブラやCで組まれてたんだよね・・・ >>199
エロゲーには、今もCが組み込まれているけどね・・・
>>182 はもう居ないと思うけど・・・’88年か’89年の1月号だっけ?
ドラゴンを倒そうよゲームは緑色の野外ベースだけど、その2ヶ月くらい後に
「お姫様を救おうよゲーム」(うろ覚え)という、ダンジョンベースの赤いマップの
続編が出てたような曖昧な記憶が・・。
C言語で、APIやDirectX使って簡単なゲーム組む書籍があったな。
Cはちゃんと仕様を理解して書かないとプログラム動かないから勉強になるよ。
Javaだと誤魔化し誤魔化し書いたりできちゃうし
いまさらだけど
>>1はC入門書買って最初のprintf関数あたりで投げたカス 入門書自体、似通ってるのばかりだし
最初は何もわからないから仕方ないと思う
実際、俺も最初は>>1と同じ状態だった
ゲームプログラム学ぶならネットで覚えた方がいい
猫でもわかるとかな 猫でも〜はwebでも書籍でも悪書だろ…常識的に考えて Cの標準関数とWindowsのAPIがあれば、Cでゲームは出来る。
でも、C++のクラスとnewとdeleteは、覚えておいた方がいいぞ。 C++でゲーム作ってるけど、ぶっちゃけ何もわかってねぇ俺。
クラスってなんだ? インスタンスってなんだ? ってレベルだが
BASIC的な使い方で一応なんとかなってる。 クラスと言うのは、構造体に毛が生えたようなモノだよ。
C++が出回る前は、よく関数の引数に構造体のポインタが入ってたけど、
そういう関数は、その構造体に依存してるわけだから、
そういうのをクラスの中の関数(メソッド)にしてしまうというわけだ。
インスタンスはかつて「実体」と言われていたもの。
通常はポインタを定義して「new」をやるわけだが、
newと言うのは、mallocと同様のことをするんだよ。
で、deleteがfreeなわけだ。
クラスにはnewのときに動くコンストラクタと、
deleteのときに動くデストラクタっていう関数があるんだが、
コンストラクタのスパゲティは、エキスパートでも手に負えないから、
ココにはむやみに処理を入れすぎないように注意するんだぞ。
それから、C++を勉強するときは、
C++の機能とテンプレート(STL)の機能を
キッチリ区別することが大事だぞ。
C++として追加された機能で重要なのはそれこそ
クラスとnewとdeleteと//ぐらいなもの。
あとはみんなテンプレートだったりするんだよね。
vectorとかlistなんてのはね。
クラスって、よく情報の試験なんかで出てくる凝集度って概念の中の
情報的凝集度の考え方を進めて扱いやすくしたものだよね。
BASIC的な使い方の延長線上にあるものなのに、世間では一部の
胡散臭い連中がオブジェクト指向分析/設計とセットでまったく新しい
考え方のように広めてしまったけど。 まさか愚痴に対して色々解説して貰えるとは思ってなかった。どうもありがとう。
でもごめんなさい。用語については一応今まで何度も自分で調べてるんだ。
それでも用語の説明に出てくる用語がまた理解できなくて、何度調べても何度も忘れてしまう。
215さんの言われてるように、既に知ってる概念のような気はするんだけど
それと名前が結びつかないというか。
○○って呼び方じゃいかんのか!? とか思ってしまって自分の頭の固さが嫌になる。
簡単なゲームプログラムサンプルが示されて、「この部分を○○と呼ぶんじゃーー!」とか
解説されたならすぐ覚えられそうな気はするんだけど、そういう俺専用みたいな
解説書には出会えた事がないw
ポインタにしても a だったり &a だったり p だったり p* だったり混乱しまくり。
アセンブラみたいに sp と (sp) でいいじゃんか! とか思ってしまう。 アセンブラ使っててCがようわからんというのも珍しいな。
おれはX68000のGCCのコンパイル能力を思い知らされて以来、
アセンブラはもう使うまいと決めた。
#include<stdio.h>
int main(){
char baka;
printf("パスワードは?");
scanf("%d",baka);
if(baka=="baka"){
printf("なにもおきないよーだ"); /*printfのかわりに処理を入れる*/
}
else{
printf("バーカ");
}
retrun 0;
}
/* tabじゃなくてスペースだからこのままやるとエラー出る*/ >>218
スペースとか関係なしにコンパイル不可能だろ
> scanf("%d",baka);
これでコンパイルは通るかもしれないが、
1バイトのbakaの前後領域に入ってるゴミデータをint型のアドレスとして解釈して、
実行すると落ちる可能性がある。
> if(baka=="baka"){
bakaはchar型で"baka"はアドレスになるから、
コンパイルできない可能性が高い(コンパイラによる)。
できたとしても1バイトのデータとアドレスが一致する可能性はまずない。 >>218
まずは「データ型」から勉強だ。
次に、アドレス(ポインタ)、比較、ポインタのポインタ などをキーワードに
勉強していくと良い。
baka=="baka"とか、典型的Cを理解してないアホだな
この程度のカスがネタでCソース書くとか、Cに対する侮辱だから、マジで #include <stdio.h>
void main(void)
{
float f = 10;
f/=5;
if(f==2)
{
printf("ふひひ\n");
retrurn;
}
printf("ドゥフフ\n");
return;
} #include <stdio.h>
main() {
float f = 10 / 5;
if(f==2)
puts("ふひひ");
else
puts("ドゥフフ");
} puts(f==2 ? "ふひひ" : "ドゥフフ"); 10分動画で分かるRPG開発講座
ttp://jp.youtube.com/watch?v=cvm7odu91Ug&feature=related floatに==使ってるよー
的な突っ込みが入るかと思ったら別に入らなかった。 とりあえずWinAPIで本格的なゲームは作ろうとしないほうが良いw
大変ていうレベルを超えているwww
もうずっとずっと、井の中の蛙だった俺は、
ファイルのIOと
1ドットフルカラーで打てるAPIさえ用意してくれれば
ゲームが作れるようなライブラリを作ってしまった
ここまでやるヴぁかはそうそういない 2DならDIBの扱い方を勉強するだけでいいんだけどな
ただのメモリの塊のDIBならCで触るのにうってつけ >>230
俺もずっと似たようなことしてたわー
息抜きのつもりでDirectDrawを使い始めてからは・・・・ ソフト屋はハードとの連携が取れないと
粋がれない時代になりましたね それはつまり、もっと書き込みが活発になって欲しいというわけですね。 今更だが
このスレ2002年から続いてるのか。すげー。 最近思ったけど先にポインタを覚えた方がラクなんじゃね?
int *p=ソース上で整数型のメモリを扱う固有名詞をpと名づける
p=メモリの番地をさす
*p=メモリの中身をさす
int a=整数型のメモリをどこかに確保し、ソース上で固有名詞aとして扱う
&a=メモリの番地をさす
a=メモリの中身をさす >>242の説明を読んでも、特にナルホドと思う点はなかったw >あんなの文章表示させられるだけでしょ?
いいえ
#include<stdio.h>
#include<math.h>
#include<Windows.h>
void d(double x,double y){system("cls");for(int i=0;i
<y;i++)putchar('\n');for(int i=0;i<x;i++)printf(" ")
;printf("●");}int main(){system("mode con cols=80 l\
ines=30");for(double i=0;;i+=0.19,Sleep(18))d(sin(i)*
(sin(i/4.0)*14.25)+19,cos(i)*(sin(i/4.0)*14.25)+14);} おかしい
#include<stdio.h>
#include<math.h>
#include<Windows.h>
void d(double x,double y)
{
system("cls");for(int i=0;i<y;i++)
putchar('\n');for(int i=0;i<x;i++) printf("%c%c",0x20,0x20);
printf("●");
}
int main()
{
system("mode con cols=80 lines=30");
for(double i=0;;i+=0.19,Sleep(18))
d(sin(i)*(sin(i/4.0)*14.25)+19,cos(i)*(sin(i/4.0)*14.25)+14);
}
文章以外も表示できるだろ >大阪府三島郡島本町の小学校や中学校は、暴力イジメ学校や。
島本町の学校でいじめ・暴力・脅迫・恐喝などを受け続けて、心も身体も壊されて廃人同様になってしもうた僕が言うんやから、
まちがいないで。精神病院へ行っても、ちっとも良うならへん。教師も校長も、暴力やいじめがあっても見て見ぬフリ。
そればかりか、イジメに加担する教師もおった。 誰かがイジメを苦にして自殺しても、「本校にイジメは
なかった」と言うて逃げるんやろうなあ。
島本町の学校の関係者は、僕を捜し出して口封じをするな
>島本町って町は、暴力といじめの町なんだな
>「口封じ」なんかしません。どうぞ、気が済むまでお書き込み下さい。
島本町は日本の恥!島本町は日本の迷惑! 今習ってるけどHSPやプチコンのように終わる頃には何かゲーム出来るみたいなビジョンがわかねぇ >>242
C言語学び始めの俺には非常にわかりやすいレスだ
コピペして自分のメモ帳に残しておくわ >>242
そのint aがレジスタに割り当てられたとき、&aはどこのアドレスを指すの? >>242って4年前のレスだぞ…。
一応答えておくと、メモリ上の変数をそのつどレジスタにコピーしてから演算するわけで、
殆どの場合、変数にはメモリが割り当てられている。その辺りの動作は基本的に
コンパイラがうまくやってくれているので知ってさえいればいい。
(あらかじめ作成した)静的変数や(newで作成した)ヒープ上の変数は
必ずメモリ上の実体があるから&aは必ずそこを指す。
一方、(関数内などローカルスコープで一時確保した)動的変数は、コンパイラの最適化によっては
例外的にメモリ上の実体を持たず、レジスタだけということもあるはず。
だけどその関数内で&aという表記が用いられたら、コンパイラは最適化を見送って
きちんとスタック上にメモリを割り当てることになる。スコープから出るまでは&aはそこを指す。 くっそ懐かしいスレまだあったのか建てたの高校生だった頃の俺やぞwww
ちな今銀行のATMのシステム開発技術者。なんてアホなスレ建ててたんだ俺は・・・ ゆーなw
情報技術の授業でC言語触ったけどゲームの作り方どう調べても分からなくてな。
ポインタすらイミフだったもんなぁ懐かしいわ。 今ならCでも出来るな
ゲームを馬鹿にするつまらない大人になってないといいが 今って型付け言語が静的にしろ動的にしろクラスから入るのばかりだしね。
まずCのコード見つけるのも大変。
図書館で古い参考書当たるか、linuxから古いゲームプログラム掘り出してくるか。 英語が話せるようになるのって>>212みたいなヤツだよね
コンピューター言語もこのぐらいガツガツ行くやつの方が伸びるの早そう
「教科書100%全部覚えてからはじめよう」っていうのは殆どの場合良くない。
全部覚えられる訳ない → 始められない → 新しい事をやらなくていい → ラクー!
っていう風に脳に仕向けられてしまうと、何も出来ないサラリーマンがまた一人誕生する
それこそが学校教育の最終目的なんだろうけど
モノ作りがしたいならそれではダメなわけで・・・
>>230
俺もWindowsのGDIで回転拡大出来なくて(三角形に割らないといけないし)
どーしても光源の具合が反映されたテクスチャマッピングがやりたくてやりたくて
ラスタ的な下回りのライブラリから自作した。
出来る人からしたら低レベルな事なんだろうけど、色んなモヤモヤが氷解して
線形代数と友達になった。
キャプテン翼が「ボールが友達」とか言っていた気持ちがわかったような分からないような・・・
なるほどーグラボの仕事はコレなんだな。ってすげーわかったよ
今は物理シミュレーションにハマってる 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
NDUMFQZKK5 simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0 非ゲーム系プログラマーはこんな思い抱いてるわけか
発想の転換だよ 一時期C言語でノベルゲームが作れるじゃないかなんて考えてたわ
データの呼び出しとか考えるのが面倒で投げちゃったが ありとあらゆる用途に使われるポインタ、
いたるところでそのばその場で名前を変え複雑な使われ方をしているマクロ。
ルールが多いが、使い方が多少様式化されてる
C++の方がとっつきやすいと思う。
それでもCで連結リストくらいまでは書けるようになれば
だいぶ楽になると思う。 >>272
なにか誤解しているようだけど作れるよ?
かつてはそれが主流だった。
もっと古い話になると「C言語に逃げるのは甘え」とか低く見られる時代もあった。
まあ、今の感覚だと小枝と小石を積み上げて家を建てる労力が必要だけど。