ベストアンサー ※ ChatGPTを利用し、要約された質問です(原文:MacのC言語について) MacのC言語について 2007/02/10 23:43 このQ&Aのポイント MacでのC言語開発について情報が不足しており困っています。xcodeを使用してC言語のプログラムを作成しようとしたところ、エラーが発生しました。MacでC言語のプログラムを作成する方法を教えてください。 MacのC言語について まずはOSXでこんな感じのでも良いから作ってみたいです http://www.orchid.co.jp/computer/cgame/exer1.gif 簡単そうに見えるんですが全然Macのサンプルが少ないのか情報がとてもわかりずらいのかよくわりません もう半年以上悩んでいて 訳が判らない状態です xcodeで http://www.orchid.co.jp/computer/cgame/ の通りスタンダートツールでC言語のmain.cに #include <graph.h> main() { gl_openwin(-1, -1, 640, 480, 0); getchar(); gl_closewin(); } を書いてウインドウを表示させてみようとしても エラーがでるし ライブラリが無いのかわからないしMacに対応しているのかさえよくわかりません C言語の質問をしてきたんですがほとんど微妙な解答ばっかりでした http://www.orchid.co.jp/computer/cgame/exer1.gif こんな感じまでやってみたいんですが xcodeを使ってここまでできるようにどなたか教えてください 御願いします 質問の原文を閉じる 質問の原文を表示する みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー yukimican ベストアンサー率70% (112/159) 2007/02/14 15:05 回答No.2 ゲームの作り方は専門じゃないので、わかる範囲で。 CarbonでもSDLでも基本は一緒です。(もちろん、CocoaやJavaでも) 対応する関数や手順が違うだけで、やっている事は ・キーボード入力取得(ゲーム操作) ・タイマー制御(一定間隔で自動処理) ・各種判定、イベント処理 ・ウィンドウへの描画 という感じだと思います。 (ホントはもっといろいろやっているでしょうけど) Carbonでこれをやろうとすると、 ・キー入力取得 → CarbonEvent - kEventClassKeyboard ・インターバルタイマー → CarbonEvent - InstallEventLoopTimer() ・ウィンドウ(View)描画 → CoreGraphics(Quartz2D) ・座標管理、判定、イベント処理 → Cの構造体や配列を利用 あたりを使うことになると思います。 まずはこれらの使い方を覚えないといけませんね。 処理の流れは、シューティングゲームを例にして書くと(たぶん)こんな感じです。 ・画面に自機やマップを表示 ・キーボード入力で自機の移動や弾丸発射 ・一定時間の間隔で敵機や弾丸移動、マップのスクロール ・動いた結果を画面に表示 ・同じタイミングで当たり判定などの各種判定 ・判定結果に応じてイベント発生 - 自機が敵の弾丸に当たった - 自分の弾丸が敵機に当たった - ステージクリア などなど ・イベントの内容に応じて内部データ変更 ・処理の結果をウィンドウに表示 (以降繰り返し) ちなみに、OSX用のSDLは、関数の内部でCarbon APIを使っているはずなので 結果的にCarbonで作ったのと同じになるはずです。 (直でCarbonで書くよりもSDL使った方が楽かもしれませんね) 参考になりそうなリンク ・Macプロ裏ミング日記 http://www.ottimo.co.jp/koike/MacOSX/index.html http://www.ottimo.co.jp/koike/ToolBox/index.html ・Macintosh Game Developer Link http://hkthp.keddy.ne.jp/program/MGDL.html ・(書籍)入門Carbon http://www.oreilly.co.jp/books/4873110696/ ※サンプルコード http://examples.oreilly.com/learncarbon/ 質問者 お礼 2007/02/14 15:59 毎度、ありがとうございます javaをやってからやってみようかと思いま 目標は山亀さんのオレバスターを作ってみたいと思います 今後もよろしく御願いします! 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (1) yukimican ベストアンサー率70% (112/159) 2007/02/11 01:45 回答No.1 おそらくgl_openwin()やgl_closewin()という関数が無いというエラーが出たのだと思いますが、 「Study CはWindows 9x/Me/XP上で動作します」と書いてあります。 Macに対応していなくて、Mac用のライブラリが無い状態ですね。 少し調べてみたところ、SDLというマルチプラットフォームな開発環境があり、 こちらだとSDL+C言語で似たようなことができそうですね。 これでゲームも作っている人もいるようです。 Macでの導入方法、簡単な使い方はこちらを参照 http://homepage.mac.com/kijibato/macreatefan/letssdl01.html とりあえず、参考になりそうなリンクだけ載せておきます。 使用している環境がWindwsだったりLinuxだったりしますが、 おそらくMacの場合でもやり方はたいして変わらないと思います。 ・SDLの日本語リファレンス(サンプル付き) http://www.tacoworks.jp/software/SDLdoc-jp/ ・初心者の初心者による初心者の為のSDL http://tokyo.cool.ne.jp/sdl/ ・Studio.h (初心者向け) http://web1.nazca.co.jp/studioh/ ・SDLでゲーム(ソースコード付き) - ブロック崩し http://www.geocities.co.jp/Berkeley/2093/gmtrl.html - 神経衰弱とか http://cefiro.homelinux.org/topics/SDL/software.html SDLについては詳しく解説しているページが少ないので、 わからないところはリファレンスを見ながら自分で考えてやっていくしかないと思います。 (単に私の探し方が悪いだけなのかもしれませんが 質問者 補足 2007/02/11 13:19 やっぱりSDLよりかも簡単そうにできる人のHPみつけました このようなものはxcode-carbonで作成したと書いてありますが http://www.hi-ho.ne.jp/hideaki-i/tx6864/ どう作れば良いのでしょうか 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピューターその他([技術者向] コンピューター) 関連するQ&A 画面に絵を出す方法 やっとC言語を少し使えるようになってきました。そこで質問なのですが、画面に絵(玉など)を表示するにはどうしたらいいのでしょうか。あと、それの動かしかたなどを教えていただけないでしょうか。インターネットで探してみると、 #include <graph.h> main() { gl_openwin(-1, -1, 640, 480, 0); getchar(); gl_closewin(); } というソースがあったのですが、実行すると、ノーサーチファイルなどというエラーが出てきます。使っているコンパイラはLSI C-86 試食版です。コンパイラによって使えたり使えなかったりするヘッダファイルがあったりするのでしょうか。教えて下さい。 MacでC言語を勉強しようとしています。 MacでC言語を勉強しようとしています。 いろいろ調べてみたのですが どうしてもわかりません。 Xcodeを使いたいと思ってます。 xcode→新規プロジェクト→Command line utility→standard tool→プロジェクト名をつける→main.cで #include <stdio.h> int main(void) { printf("ようこそC言語へ!?n"); return 0; } と書いて ビルドして進行すると デバッカコンソールというものが出て来て [Session started at 2010-02-22 21:03:37 +0900.] ようこそC言語へ!?n The Debugger has exited with status 0. と表示されます。 これでよいのでしょうか? 参考書には実行画面には ようこそC言語へ! と表示されると書いてあります。 以下の表示はあっていいのでしょうか? [Session started at 2010-02-22 21:03:37 +0900.] ?n The Debugger has exited with status 0. そもそも新規プロジェクトで選択するものが違うのでしょうか? またターミナルっなんでしょうか? xcodeでc言語の勉強の仕方 どなた様か初心者に分かりやすく教えてください。 よろしくお願いいたします。 MacでC言語を勉強してみてるのですが 最近C言語に興味を持って 趣味程度に、ハーバート・シルトさん著の「独習C」を、 Xcodeを使ってCが使える感じにして、 プログラミングを打って、ビルドして、コンソールで結果を見て、ふむふむ、ってやっていたのですが、 7章の4節でコマンドライン引数というものが出てきて、 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; double d; long l; i = atoi(argv[1]); l = atol(argv[2]); d = atof(argv[3]); printf("%d %ld %f", i, l, d); return 0; } という例題のプログラムの結果を見たいのですが、コマンドラインというものがどうすればXcodeで見られるのかよくわかりません。 ぜひ助けてください。コンソールには出ないんですよね・・・? ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム OSXでC言語 C言語を学んでる者です コマンドラインのプログラムに飽きてきました ウインドウなどボタンを使いたいんですが cocoaなどcarbonなどは使いたくありません 調べましたらtoolboxを呼び出してウインドウやマウス操作をするようなことが書かれていたんですがよくわかりません OSXでC言語のみでXcodeなど使わないで Windowsみたいにウインドウなどボタンを表示させる関数などライブラリなどあるのでしょうか? OSXだと情報が少な過ぎて困っています 誰か教えて下さいお願いします c言語のついて c言語で・・・ #include <stdio.h> main() { printf("こんにちは!"); } というプログラム(適当に作りました)が動きません。 ドコを間違えていますか? OSXでC言語!! OSXのC言語で Windowsとかボタンとかを表示するにはどうすれば良いんですか? XcodeのGUIでボタンとかを付けられるんですが どのプロジェクトを使えばいいか分かりません C言語でかけるプロジェクトはcocoa? carbon? そのへんもよく分かりません 質問したいのは ウインドウとボタンをGUIを使わないで表示する コードと C言語でかけるプロジェクトです 教えて下さいお願いします C言語 プログラミング 文字列 C言語のプログラミングについての質問です。 文字列を入力して、それを逆順に表示するというプログラムを作っているのですが、 どうしても上手くいきません。 どこか間違えているのかわかりません。 わかる方いらっしゃいましたらご回答お願いします。 #include <stdio.h> int main(void) { char data[100]; int i, leng; char c; leng = 0; c =getchar(); while((c != '\n') && (c != EOF)) { data[leng] = c; leng = leng + 1; c = getchar(); } printf("%c", data[c]); return 0; } C言語で簡単暗号 C言語を初めてけっこう立つんですが。 自分なりにソフトを作ってみました 暗号化、解読ができるソフトです 1.暗号化 2.解読 3.Quit ソースは #include <stdio.h> int main(void) { int i; char da; back: modo: do{ printf("1.angouka\n"); printf("2.kaidoku\n"); printf("3.Quit\n"); scanf("%d",&i); }while(i<1 || i>3); if(i==1){ da=getchar(); while(da){ printf("%c",da+1); da=getchar(); if(da=='.'){ goto modo; } } } else if(i==2){ da=getchar(); while(da){ printf("%c",da-1); da=getchar(); if(da=='.'){ goto back; } } } return 0; } なんですが。感想などここはこうした方が良いなどと教えてもらいたいんですが。 もっと簡潔にかけて破かれにくい暗号を書くにはどうしたらいいでしょう 教えて下さい c言語ではsystem(・・・) javaでは? c言語ではsystem(・・)と書くとコマンドプロセッサ上で 実行してくれます。 http://www.bohyoh.com/CandCPP/C/Library/system.html 例 #include <stdio.h> void main(){ system(dir); } 実行した結果、dirをコマンドプロセッサ上で実行してくれます。 javaで同じことをしたいのですが、どうすればいいのでしょうか。 調べてみた結果わかりませんでした。 できたら簡単なサンプルを教えてくれませんか。 申し訳ありませんが、よろしくお願いします。 プログラミング言語Cとプログラミング言語C++ プログラミング言語Cとプログラミング言語C++の違いって何ですか? あと、プログラミング言語C++についていくつか質問があります。 #include <iostream> using namespace std; void main(){ cout << "Hello world!" << endl; } このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか? using namespace stdって何ですか? あと、 cout <<"Hello world!"って何ですか? MacのターミナルでC言語の練習 タイトルにある通りMacを使ってプログラミングを始めようと思ったのです。(プログラミングなんて今までやったことないド素人です。) 使っているのはC言語です。 ネットで調べみて、まずPC買った時に付いてたDVDでXcodeをインストールしました。 次に適当にファイル(ファイル名はpractice_c)を作りました。 次にテキストエディットで #include<stdio.h> int main(void){ printf("Hello World!\n"); return 1; } というプログラムを書いて(コピペして)先ほど作ったファイルに、hello.cというファイル名で保存しました。 そしてターミナルを開いてそのファイル(practice_c)をドラッグ&ドロップ。(ここまで参考にしているサイトと同じカンジで良い具合!!) 問題はここからです 続いてターミナルに gcc hello.c と入力&Enter!! すると、 -bash: gcc: command not found とターミナルの画面に表示されました あれ?何で?オカシイじゃん... サイトによると、本来ならa.outというファイルが出来ているはずなのに、それも無い... Xcodeがちゃんとインストールされてなかったのかなと思い、再度インストールしてやり直してみてもやっぱり同じ結果。 ネットで色々調べてみたけど原因が全然分からないです。 僕は一体何を誤っているのでしょうか?? 何かアイディアがある方、教えて下さい。 現在、私はC言語を学んでいます。 現在、私はC言語を学んでいます。 プログラミングの初期の初期の問題なんですが、 「Hello World」という有名なプログラムがありますよね? それについての質問です。 #include<stdio.h> main() { printf("Hello World"); return 0; } も #include<stdio.h> main(void) { printf("Hello World"); return 0; } も #include<stdio.h> int main() { printf("Hello World"); } もちゃんと表示できます。 ここで質問です。 int main(void) int main() main() main(void) はどう違うんですか? あと、 return 0; はあっても無くてもいいようなんですが どういう意味があるんでしょうか? AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム C言語 スロットみたいにするやり方が分かりません 今自由課題でスロットのように数字を乱数で表示させて、Enterを押すと押したときの値を表示させたいです しかし、今書いているやつだとなぜかスロットみたいに数字の表示ができません。 おそらくif文で一旦止まってしまっていると思うのですが、どこが悪いのか教えてください。 #include <stdio.h> #include <stdlib.h> int main(){ int a,b,c; srand(time(NULL)); c = getchar(); b = rand()%6+1; for(;;){ a = rand()%6+1; printf("\033[H\033[J"); printf("%d",a); if(getchar() == '\n'){ printf("あなたのサイコロの値は%dです!!\n",a); break; }else{ continue; } } return 0; } C言語初心者です。 C言語初心者です。 1^2-2^2+3^3-4^2…+99^2-100^2の値を求めるプログラムを作成したいのですが上手くいきません。 どこが足りないのですか? #include <stdio.h> int main(void) { printf("%d", 1^2 - 2^2 + 3^2 - 4^2 … + 99^2 - 100^2); return (0); } よろしくお願いします。 C言語について大変初歩的なことなのですが… 先日C言語でのプログラミングを勉強し始めようと思いたち、 「世界一わかりやすいCプログラミングの授業」という本を買ったのですが、 書いてあった、 #include <stdio.h> main() { printf("hello,world\n"); } というプログラムを作ったのですが、エラーが起きました。 そこで「C言語入門」と検索し調べたサイトでは、 mainの前にintと入っていたのでそうしてみたところエラーがおきませんでした。 本が間違っているとは思えないのですが、これはどういう事でしょうか、教えてください。 まだなんの知識もないのでお手数ですがそこを考慮していただくとありがたいです。 C言語について教えてください。 C言語について教えてください。 C言語ソフト「C言語をはじめよう」で、sin,cos,tanを求めたり、計算(sin=cos*tanや、sin^2(sinの二乗)+cos^2(cosの二乗)=1や、cos=sin/tan,tan=sin/cos)するプログラムを作りたくて、ネットを見たのですが、全然意味がわかりません。 また、√(平方根)の表示や、計算する(1/√3^2(√3分の1の二乗)*√3見たいな計算)プログラムを作りたいと思いますが、こちらも同様です。 #include<stdio.h> #include<math.h> int main(void) ここまではわかりますが、ここから先がわかりません。 どなたか。詳しくわかりやすく、入力例などをよろしくお願いします。 また、上記のプログラムや、書き方が違いましたら、こちらもご指摘お願いします。 なるべく早く、ご解答ください。 C言語 今C言語の基本について学習しているのですが… 初心者なのでまったくわかりません。 #include<stdio.h> int main() char *p,*q; char s[27]="abcdefghijklmnopqrstuvwxyz" char h[5]="GHIJK" 【 】 printf("%c"\n,p); printf("%c"\n,q); return(0); } この【 】の中に何がくるのか分かる方がいたらぜひ教えてほしいですm(__)m よろしくおねがいします。 c言語なのですが c言語なのですが #include<stdio.h> main() { int a; printf("整数を5回足し算する\n"); scanf("%d %d",&a); printf("a*5=%d\n",a*5); return(0); } でエラーが起こります どこを修正すればいいのでしょうか c言語始めようと思って挑戦しています c言語に必要なソフト eclipseのプラグインのc言語のやつと visiual c++ 2008 express edition が一応あります。 それで一番 有名らしい #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } がビルドエラーになります。 上の二つのソフト以外になにか必要なものがあるのでしょうか? かなりの初心者です。 XcodeでC言語の勉強 最近、XcodeでC言語の勉強をはじめました 初心者用の参考書に載っている int main() { printf("1+2=%d\n", 1+2); return(0); } をコンパイルすると printf("1+2=%d\n", 1+2);の部分の%にエラーがでます。 おそらく%の代わりにほかの文字を使うと思うのですが ググったりこのサイトで調べても見つけることができません。 詳しい方、教えてもらえると助かります 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター OS(技術者向け) データベース プログラミング・開発 業務ソフトウェア ITシステム運用・管理 その他([技術者向] コンピューター) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
毎度、ありがとうございます javaをやってからやってみようかと思いま 目標は山亀さんのオレバスターを作ってみたいと思います 今後もよろしく御願いします!