【0から】C言語でゲームを作る【スタート】
■ このスレッドは過去ログ倉庫に格納されています
00011
04/08/25 08:14ID:GyrQ+1pUC言語を勉強していきたい人、など
まったく0から覚えていこうというスレです。初歩的な質問から進行状況の報告、
こんなゲームを作りたいんだ、等の夢、妄想を語ってくれてもおkです。
みんなでモチベーションを高めて挫折しないようにがんばっていきましょう。
たまたま来た先輩方は、みんな初心者なので暖かい目で見守ってください。アドバイス
や質問に答えてくれる方は大歓迎です。
0698名前は開発中のものです。
05/01/25 21:49:15ID:0a2TtmG/リソーススクリプトで少し変わるけど、殆ど変わらない。
0699697
05/01/25 22:43:19ID:JdazME+Dありがとうございます
リソーススクリプトってのが解らないですが、後調らべ松
環境が必用になるまで、BCCとメモ帳でがんばります
0700名前は開発中のものです。
05/01/25 22:44:54ID:B5zsu2MDときどき、でもないけれど、いつもうざく感じます。
0701名前は開発中のものです。
05/01/25 23:05:48ID:2xK+R27h他に移植することなんてほとんどないしな。実質無問題。
0702名前は開発中のものです。
05/01/25 23:10:58ID:B5zsu2MDいや、君はそうかもしれないが、私はそうではない。
(この人、どういうつもりで無問題と言いきっているんだろう…汗)
0703名前は開発中のものです。
05/01/26 00:19:59ID:8L+i4BPI何を以ってプログラミング環境と言ってるんだ?
0704名前は開発中のものです。
05/01/26 00:22:44ID:l4t22B36VC++。ほとんどの人が使っているでしょ。
0705名前は開発中のものです。
05/01/26 01:02:29ID:8L+i4BPIなーんだ。
そりゃ単純にIDE上での開発の経験がないってだけだ。精進しろ。
0706名前は開発中のものです。
05/01/26 01:04:39ID:qAh47Na10707名前は開発中のものです。
05/01/26 01:17:23ID:i5Ds5Agrまず前回入力されたキーを保存しておく。
押されてる→押されてない→押されてる
これが連打だと思うから一度入力されて
その後kbhit()が反応しない時フラグが立つようにする。
そして次押されたキーが前回と同じなら連打されたと判定する。
ただし
押されていない→押されていない→(これをいくつ続けるかは適当に)
この状態が一定回数続いたらフラグを解消。
あと
押されてる→押されてる→押されてる
この場合はフラグが立たないから区別できる。
このようにしたら、、、うまくいくような気がするけど。
>>699
メモ帳って、、せめてTeraPadぐらいが、、、
0708名前は開発中のものです。
05/01/26 01:18:41ID:J/CHoWJp違うって。
0709名前は開発中のものです。
05/01/26 01:19:24ID:J/CHoWJp0710名前は開発中のものです。
05/01/26 01:20:51ID:8L+i4BPI0711名前は開発中のものです。
05/01/26 01:24:21ID:J/CHoWJpまず、お前の糞脳が一般人と違う。
0712名前は開発中のものです。
05/01/26 01:26:03ID:8L+i4BPI釣りか池沼のどっちかだとは思ってたら当たってた・・・w
0713698
05/01/26 03:54:08ID:uy49sX2/違うと言っても、余分な文字を消去するだけで通る。
後、BCC用エディタなら、これなんかおすすめ。
http://www.vector.co.jp/soft/win95/prog/se180695.html
0714名前は開発中のものです。
05/01/26 04:00:34ID:0QSvGwSQ空白部をクリックした時にキャレットが移動しないでほしい。
0715名前は開発中のものです。
05/01/26 05:41:37ID:jSqP5Ccrフリーカーソルってこと?
それならエディタ設定で選べるが…
0716692
05/01/26 18:30:02ID:EGh3OyI2やってみたけどできませんでした。
キーボードのオートリピート機能とかで、
押しっぱなしにしても内部では勝手に連打してるんです。
0717名前は開発中のものです。
05/01/26 21:54:20ID:8L+i4BPIkbhit()が使える環境ならそのままリピート無視して使えたと思うけど?
Windowsで開発してるのなら、GetAsyncKeystate() を使えば確実
0718名前は開発中のものです。
05/01/26 23:35:15ID:tIGc3T010719名前は開発中のものです。
05/01/27 00:16:30ID:QfcSPUvG0720698
05/01/27 11:19:46ID:2DtUXEc7「猫でもわかる」についてた奴なんで、インストールしてます
使い方が難しいので、メモ帳に逃げてました。
リンカとか使うようになったら、移行しようと思います
0721名前は開発中のものです。
05/01/27 18:13:40ID:o46I3wJj移植性が高くても、現実の移植は簡単じゃないのにな。
0722名前は開発中のものです。
05/01/27 19:38:52ID:aSpCHcWEVC++でゲームを作るのが目標なんですが、
今の私にピッタリな勉強サイトありませんか?
0723名前は開発中のものです。
05/01/27 22:58:18ID:WSAoHDpTDirectX によるゲームプログラミング入門 : 第 1 章 3D ゲームプログラムの基礎
http://www.microsoft.com/japan/msdn/academic/Articles/DirectX/01/
NVIDIA GPU Programming Guide Version 2.2.0 - Japanese (.pdf) [1.4 MB]
http://download.nvidia.com/developer/GPU_Programming_Guide/GPU_Programming_Guide_Japanese.pdf
0724名前は開発中のものです。
05/01/28 18:56:28ID:/9HPt2Rnおいおい・・・
>>722
ttp://www2s.biglobe.ne.jp/~sinmasa/
ttp://www.c3.club.kyutech.ac.jp/~sukiyaki/
ttp://www.sm.rim.or.jp/~shishido/
がおすすめ。何を作りたいかによるけど、。
0725名前は開発中のものです。
05/01/28 19:32:21ID:36nwhN0Gダビスタ3のような物を作りたいと思っています。
C++の次は具体的にどのような事を勉強すればいいのでしょうか?
0726名前は開発中のものです。
05/01/28 19:53:13ID:tGEFJMBs>>724のサイトを巡ればこんな所で聞く必要は無いはずなんだが。
0727名前は開発中のものです。
05/01/30 23:50:22ID:0egSxxVFここ
http://mikata.curiocube.com/
と猫でもわかる・・・のC++編を読みながら
C言語からC++に移ってみようかと悩んでます。
CからC++に移行したほうがよい結果を生みますか?
0728名前は開発中のものです。
05/01/31 00:40:36ID:CVBDoXdb>>727
C++のほうがオブジェクト指向でクラスとかあって管理しやすい気がする。
将来的にDirectX使ってC系でプログラム組みたいのならC++(クラスとか)は必須。
Cで書いたソースでもそのほとんどがCPPとしてコンパイルできるし、
本格的にプログラムを組んでゲームを作っていきたいのならやっていて損はないと思う。
ちなみに俺は猫でもでCからC++読んで、それからWindowsSDK読んで、
それから別サイトでDirectXに入った。
0729名前は開発中のものです。
05/01/31 00:42:15ID:1rXC/tk7ぶっちゃけクラス作んの(’A`)マンドクセと思うなら作らんでもいいし。
0730名前は開発中のものです。
05/01/31 00:44:51ID:2XbQcfiv別にC++要らんだろ。COMはCからでも操作できる。
0731名前は開発中のものです。
05/01/31 18:32:40ID:G766Q76lC→C++で次にDirectXに行こうと思うんだが、
その前に猫でWindowsSDK勉強を挟んだ方がいいですか?
WindowsSDKが何なのかってのもよく分かってないんですが。
0732名前は開発中のものです。
05/01/31 20:57:37ID:yK+oTGTD0733名前は開発中のものです。
05/01/31 21:20:30ID:G766Q76lWindowsdです。
Cは一通りやりましたが、次に何をすればいいか全く分かりません。
Win32 APIやWindowsSDKとか沢山あるので、
何からやればいいか分かりません。
どれもCの知識のみじゃあできませんって書いてありますし・・・。
0734名前は開発中のものです。
05/01/31 21:29:20ID:Nd+7aRPkなにがしたいのかをはっきりしないと時間の無駄だよ。
君が思っている程プログラミング関係で覚えることは少なくない。
順に全てを学べる程少なくはないんだ。
だから、なにを学ぶべきかを初めにしっかりと意識しないといけない。
場合によっては勉強した事全てが無駄になることだってあるんだ。
初めに言っておくけれど、よくプログラミングを始める人が勘違いしていることだけどGUIプログラミングができても*まったく*すごくもなんともないんだよ。
それはレベルの高い人から見て、という意味ではなくて、GUIが本質的ではないからなんだ。
このスレはCでゲームを作るスレらしいから、きっと君もゲームが作りたいのだと思う。
でも、良く考えてくれ。
「ゲームとは何か」
可愛い女の子がニコニコ笑っている絵が順番に表示されるのがゲームか?
飛行機の画像とミサイルが左右に動いて、ジョイスティックで操作することか?
白くて丸い絵をクリックすると、クルリと回った後に黒くて丸い絵に入れ替わるのがゲームか?
違う。それは紙芝居だ。それはアニメだ。
コンピュータを使ったゲームは、その操作や思考を楽しむものなんだ。
そのためには、コンピュータはプレイヤーを楽しませねばならない。
紙芝居もアニメーションも、それはそれで楽しめるがゲームではない。
コンピュータでなくてもできることだ。
コンピュータは昔、人工知能と呼ばれていた事がある。
もちろん、今となっては、これは誇大広告であるが、ゲームにはその一端を見ることができる。
例えば、将棋をするとき、あまりに単純な手しか取らない対戦相手だと、当然すぐに
0735名前は開発中のものです。
05/01/31 21:44:16ID:vXo59ck5「Cの知識のみでは出来ない」とどこで読んだのかは知らんが(多分おまいの勘違い)、
言語スキルはCがあればそれでいいはずだが。
Windowsプログラミングであれば基礎的なイベントドリブンだとかGUIについての知識も
必要だがそれは同時に勉強していけば何の問題も無い。
まあその程度の認識でCを一通りやったっていうのもどんなもんだかと言われても文句は言えない。
0736名前は開発中のものです。
05/01/31 22:02:20ID:D9OUk3XjまずDirectXの書籍を買うなり、参考サイトの解説を読むなりしてすすめれ
そこでわからないこと(たとえばAPIのこと)なんかがでてきたら、そのつど
調べていけばいい
あとDirectXやるんならC++にも手を広げる必要あり
まぁうだうだ悩む暇があったら本買ってサンプル打って実行しる
0737名前は開発中のものです。
05/01/31 22:41:54ID:CWwIyJqJDirectXに行くならWindowsSDKをやっておいたほうがいい。
DirectXで動くアプリケーションもWindowsアプリケーションだから。
まぁ、WindowsSDKを端折って済ませたくても、
ウィンドウの作成とウィンドウプロシージャでのメッセージの処理は押さえておくべきだと思います。
その二つを押さえてからDirectXに入れば・・・まず困ることはないような。
猫でものWindowsSDKで勉強するなら、第一部の4章くらいまでは読むべきだと思います。
ただ読むのではなくて理解する必要がありますけど。
0738名前は開発中のものです。
05/02/01 02:46:23ID:7pzsTxKl>>728さん>>729さん有難う御座います。
確かに仰るとおり、Cで書けるところはCで書いても通りますからね。
頑張ってみます。
0739名前は開発中のものです。
05/02/01 22:38:24ID:lTb3GnVn自分の作りたいもののために必要な知識を身に付けていくのも結構だけど、
勉強の区切りがついたところなら別のアプローチを試してみないか?
・今持っている技術だけを使ってどんなゲームが作れるかを考案し、実装する
勉強の成果が確認でき結果も残せていいと思うんだが。
数当てゲームでもいいから、バランス調整や操作性の向上も含めた
「作品」を仕上げる練習をしてみることをお勧めするよ。
0740名前は開発中のものです。
05/02/02 23:41:25ID:wKu6pB/X一念発起してVS.netのtheSpokes買ってきたと友人に言ったら
VC#の参考書をたくさん教えられました。
VC#自体どういうものか分かってないのですが、これから始めてしまっても構わないでしょうか?
それとも当初の予定通り独習C買ってきてCを勉強する方が将来的にはいいのでしょうか?
0741名前は開発中のものです。
05/02/03 00:16:03ID:Ww62MRW+その友達は興奮してファビョってるな。
VC#が何かわからないほど初心者なら独習Cをやったほうが良い。
ただ、独習Cは図解が無いし退屈だから気をつけてね。
ちなみにその友達、竹井って言う名字じゃないよね?
0742740
05/02/03 00:38:09ID:jUth+a0Tレスありがとうございます。Cからの方が良さそうですね。
VC#はJAVAよりの言語でオブジェクト指向だ……という字面はよく見るのですが
実際の所その意味さえよく分かっていないので、アドバイスどおり独習Cから頑張ります。
>竹井って言う名字
よくわかりませんが幸か不幸か人違いのようです。
0743名前は開発中のものです。
05/02/03 02:54:13ID:IAM13XRE> ちなみにその友達、竹井って言う名字じゃないよね?
笑わせるなよw
0744名前は開発中のものです。
05/02/15 11:56:08ID:830P8G/fVC#プログラミング歴2ヶ月です。
ファイル名変換ソフトやアクセスのデータベースを
操作するソフトは作れるようになりましたが、
VC#というソフトの使い方がわかっただけで、
まったくプログラミングをしているという気になりません。
最近は当初の目的であるゲームプログラミングに手を出そうと思っています。
しかし新しく本を買っても、結局VC#の使い方や必要な部分の
コピーペーストに終わって、本質のところを理解できないのではないかと、
VC#に対するモチベーションが下がってきています。
(ちなみに私の最終目標はトランプゲームや、
ファミコンレベルのシミュレーションゲームです。)
仮にVC#でこれらを完成できたとしても、そのときプログラミングの力が
私に備わっているのか甚だ疑問です。
皆さん、Visual○○をつかって、私のような経験をしたことはありませんか?
思えば、基本情報用に勉強したC言語は楽しかったなー・・・
0745名前は開発中のものです。
05/02/15 17:25:18ID:p5urPZ0nゲームが作りたいんなら、ゲームを作るのに必要そうなことだけやればよろしい。
DirectX で画像処理とか。
興味の無い分野ではどうも大きなものを作ろうという意識が薄れてしまう。
結果として、表面的な学習で終わってしまう。
まだ初学者だろう。仕事になったりしたら事務的な作業ばっかりになるぞ。
今のうちだけなんだから、好きなことやれよ。
0746744
05/02/15 19:40:05ID:830P8G/f使い方のわからないコントロールが7割残ってようが
自分が打ち込んだコード以外(VC#が自動的に作った)の
コードが理解できなかろうが、さっさとDirectXとかの
ゲームプログラミングに特化した本を買って勉強しろって
ことですか?
0747名前は開発中のものです。
05/02/15 20:56:05ID:6CIQh+ICゲーム作るのに使わんだろ。
クソつまらんコントロールいじりで根本的な技術向上をないがしろにするか、
ゲーム作って楽しく技術向上するか、どっちがいいかはわかりきってる。
コントロールいじりだって、技術が向上してから勉強し直した方が効率いいに決まってる。
あとな、学校のおべんきょじゃねえんだぞ。
「使い方のわからないコントロールが七割」ってお前、課題みたいに言うなよ。
0748744
05/02/15 21:08:47ID:830P8G/f逆引き大全500とか見ても、これ全部理解してる人って
内容は浅いながらも凄まじい好奇心持ってるんだなと思ってました。
0749名前は開発中のものです。
05/02/15 21:09:10ID:2rR4DQMa0750名前は開発中のものです。
05/02/15 21:12:00ID:I9tMoLtCただのテクニックだ。
くだらん。
0751名前は開発中のものです。
05/02/15 21:36:29ID:FM1HiEFrhttp://www.geocities.jp/gpandaz/
0752名前は開発中のものです。
05/02/15 21:45:37ID:thXIoL1eテクニック [technic]
技術。技巧。テクニーク。
三省堂提供「大辞林 第二版」より
0753名前は開発中のものです。
05/02/15 21:46:17ID:bkBMdMejその気持ち、自分はよく分かる。
http://www.kumei.ne.jp/c_lang/ とかで勉強してみてはどうだろう。
VC#というのはよく分からなく、使えるか分からないけど。
0754名前は開発中のものです。
05/02/15 21:58:56ID:JLbFWFfcプログラミングの勉強をしたいのならプログラミングの勉強をする。
ゲームを作りたいならゲームを作る。
0755名前は開発中のものです。
05/02/15 22:49:35ID:6RofYV1f0756名前は開発中のものです。
05/02/15 22:58:21ID:V7EcU05uとりあえず画像表示する方法とキーボードからの入力を取得する方法がわかれば色々遊べるぞ
0757名前は開発中のものです。
05/02/15 23:23:53ID:+LnwGr1n0758744
05/02/16 08:35:25ID:056BD+l5見てみたけど、ウィンドウを作るとか画像を移動するとか
そそるなぁ。早速やってみます。
0759名前は開発中のものです。
05/02/16 09:43:10ID:mBeMpjFaじゃあ良いサイトを紹介しろって言われても困るけれど・・・
http://pc5.2ch.net/test/read.cgi/gamedev/1008220559/
各種ライブラリ紹介スレを参考にして一通りリンク踏んでみるとか。
0760名前は開発中のものです。
05/02/16 18:16:02ID:ihl6KqA8最近の入門本はどういう内容かしらないけど、漏れが DirectX3 ぐらいの時に買った本は、
CreateWindow から始まり、DirectDraw を初期化して、ダブルバッファ用のサーフェイスを作って、
という感じで、最後にはDirectXで簡単なシューティングゲームは作れるぐらいにはなってたよ。
0761名前は開発中のものです。
05/02/16 21:22:24ID:5mrimBjrK&R理解できたら初心者卒業ですか?
K&Rって中級者向けだと思ってた(((( ;゚Д゚)))ガクガクブルブル
0762名前は開発中のものです。
05/02/16 23:30:49ID:2NIZLMW2みんな凄いよな。俺もまだK&Rレベルだよ。
0763名前は開発中のものです。
05/02/16 23:48:27ID:ifwmOIa6Effectiveとかに載ってる約束事に近い技法は数学で言えば「公式」に過ぎない。
0764名前は開発中のものです。
05/02/17 01:05:28ID:Z3P3sN5U0765名前は開発中のものです。
05/02/17 01:22:28ID:y6k4vsDj0766名前は開発中のものです。
05/02/17 23:44:54ID:mJ/iHhQ9上達したとみなしていいんじゃないかな。
でまあ、初歩でも何でもいいが、とにかく上達し続けることが大切だ。
ある程度に達した時点で考えることを止めて
自分のできる範囲内で済まそうとする奴よくいるが、
努力は怠るなと言いたい。
0767名前は開発中のものです。
05/02/18 09:41:34ID:/2hbyQqVでも自分の目標に達しちゃったら、それでいいと思う。
0768名前は開発中のものです。
05/02/19 19:16:38ID:aqIoA5U30769名前は開発中のものです。
05/02/19 21:23:09ID:u3jKB+Nnコンパイルすると
Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照)
とでますがどうしてでしょうか??
C++を解説してるサイトのソースも同じエラーがでます。
0770名前は開発中のものです。
05/02/19 21:50:15ID:CqhQ13fy・Windowsアプリケーションを作ろうとしている
はい → @へ
いいえ → Aへ
@コマンドラインならオプションに -W をつける。
BCCDevは知らん。
Amain関数がない。
0771名前は開発中のものです。
05/02/19 21:51:18ID:SeeIdQIFもし main() じゃなくて WinMain() から始まってるようなら、
bcc32.exe に -tW ってオプションを付けてみろ。
0772名前は開発中のものです。
05/02/19 21:55:59ID:SeeIdQIF0773名前は開発中のものです。
05/02/20 05:26:11ID:n/2qaPWT説明不足でした。
その通り、Windowsアプリケーションです。
オプション -W をつけたらちゃんとコンパイルできました。
ありがとうございます。
0774330
05/02/20 16:51:55ID:u8X98eX9やっぱりC言語は潔くて面白いですね。
漏れはWindowsゲームプログラミングの本に書かれた内容を理解して、
手続きが面倒な部分は自分が分かり易いようにラップしたライブラリを作って、
簡単なシューティング(真っ黒な画面でショボイ宇宙戦闘機がサシの3本勝負)を
作りました。効果音や音や音楽もちゃんと鳴ります。
次は2DRPGを作ろうと思います。
最初に作ったショボいシューティングと違って、
マップ情報とかイベント情報は当然プログラムから切り離すべきですよね?
そうなると視覚操作でデータを生成するGUIのツールが便利というか
必要になると思いますが、今まで得たWindowsのCプログラミングの知識では、
Windowにコントロールを貼り付けて、それに対応したイベント処理とかの
書き方が全く分からないので、そういうのはVisualBasicで作ろうと思います。
そういうツールを作成を解説した親切なサイトもたくさんありますしね。
07752DRPG制作人
05/02/20 21:15:05ID:ontbG9w8>マップ情報とかイベント情報は当然プログラムから切り離すべきですよね?
私が作ったRPGシステムでもそうしてたんだけど、イベントに関しては
プログラムで直接書くのもありな気がしてきた。汎用的なイベント処理
仮想マシンを作るのはかなりしんどい(仮想マシン用にコードを書くの
もしんどいw)し、イベントの自由度が落ちるからね。
>そうなると視覚操作でデータを生成するGUIのツールが便利というか
>必要になると思いますが、
マップエディタは必須。イベントに関しては、マップ座標を直接指定しな
がらイベント処理用のコード書くのと、その座標やコードを生成するGUI
ツールを作るのと、どちらが楽か良く考えた方が良いかも(イベントを
プログラムで直接書くなら、イベント生成ツールという選択肢は消える)。
イベント生成ツールはおそらく「その場限り」になって、次に再利用する
機会はない可能性が高いから。
0776330
05/02/20 22:02:06ID:u8X98eX9>汎用的なイベント処理
>仮想マシンを作るのはかなりしんどい(仮想マシン用にコードを書くの
>もしんどいw)し、イベントの自由度が落ちるからね。
レスthxです^^
ああ、確かにそれは言えてますね。
マップに関しては、2D見下ろし型って決めちゃっても
まあゲーム性に関係する表現の自由度にはあまり影響しないれど、
イベント情報ファイルを逐次読み込んで処理するエンジンまで作ると、
出来の悪いRPG作成ツールになってしまう可能性が高いですからね。
となると、イベントの実体とプログラムをどのような単位&構成で
結びつけて管理していくかを、しょぼい雛形らしきものを作りながら
よく考えてみます。
(その前にマップデータのファイル設計とエディタ作成の作業がありますがorz)
0777名前は開発中のものです。
05/02/22 20:51:54ID:/lAGqJ0lエディタでマップ作るの面倒。
というか、挫折した。
マップの組み合わせが難しい。お城とか作りたいんだけど...。
マップチップはフリー素材で素材自体は良いのに、使う側に問題(略)
0778名前は開発中のものです。
05/02/22 22:36:46ID:qypsTgSwちょっと驚いてます。
オブジェクト、プロパティ、メソッド、イベントの意味がわかっただけで、
他言語が理解できるようになってきました。
クラス、インスタンス、インターフェイスなるものを知って更に納得。
今、例外処理のところを重点的に調べております。
Cだけやってた頃はサッパリ分かりませんでした。
ちょっとC++に挑戦してみて得した気分です。
(といってもC++もCもまだまだ知らない事多すぎですけど。。)
0779名前は開発中のものです。
05/02/23 20:00:51ID:TqSGdh/xアプリケーションが表現する対象世界を構成する要素を表現するのに、
それを構成する一まとまりの情報とそれに基づく状態を管理する関数の
鋳型を作って個別名でメモリを割り当てることで、同一プロセスの中で
同じ鋳型から生成された同じ動きをする部品関数を、情報や状態は別管理で
使え、部品の機能拡張も容易という点については、かなりいいもんだと思う。
後、要らなくなった時にその部品関数はメモリから開放できるという点が
すばらしい。(C++の場合それがネックになるそうだが)
必要なときに必要な情報を、その情報とは直接関係のない関数を呼びまくって
お膳立てしてから処理する従来のCではこうはいかない。
データ主導開発の利点がちょっと分かってきた。
でも、やっぱりCでしこしこライブラリ作って、無駄なく速いプログラムを作るほうが面白い。
特に個人のゲーム開発ではね。
0780名前は開発中のものです。
05/02/23 20:47:47ID:zB1TH8NI>部品の機能拡張も容易という点については
継承を機能拡張に使うのは、なるべくやらないほうがいい。
>要らなくなった時にその部品関数はメモリから開放できるという点が
ガベージコレクション?はオブジェクト指向とは関係ない。
>必要なときに必要な情報を、その情報とは直接関係のない関数を呼びまくって
>お膳立てしてから処理する従来のCでは
それはオブジェクト指向以前に設計が悪い気が
どうも歳をとると説教くさくなっていかん。
0781名前は開発中のものです。
05/02/23 23:26:42ID:V31MJ0K3一番基本的な大きな利点を理解できてるから、まあそこは誉めといてやろうや。
あと、
> やっぱりCでしこしこライブラリ作って、無駄なく速いプログラムを作るほうが面白い。
よっぽど変な言語じゃない限りは、
ちゃんと実装すれば言語による速度差はほとんど無いよ。
無駄を作るかどうかに関しても実装次第だね。
俺は普段Cでライブラリ書いてるので、特有の面白さがあるってのはわからんでもない。
0782名前は開発中のものです。
05/02/23 23:36:26ID:UjT2eVy3Cでもデータ中心の設計でやったほうがいいし、隠蔽化もある程度徹底したほうがいい
意味のある単位でモジュールとしてまとめていって、グローバル変数も極力staticにしていくだけでも
保守性や再利用性は格段にあがる
無制限のグローバル変数がたくさんあって意味のある単位でまとめられてない場合は
ちょっと気を抜くとソースがスパゲッティになってしまう
そうなってしまうと部分的に再利用するために取り出そうとしてもグローバル変数や関数の依存関係の
問題で難しくなってしまう
スパゲッティを避ける為には最初から意味のある単位でモジュール化する必要があるし
モジュールの独立性や強度といったものにも気を配る必要がある
漏れはオブジェクト指向ってのはその延長線上にあるものだと解釈してる
0783名前は開発中のものです。
05/02/24 02:10:47ID:ZD3CN/k4fopen() の設計を見ろよ。
構造体を malloc() で確保して返すのがベスト。
C++ でクラスを new すんのと(やろうとしてることの根っこは)同じ。
C でも、グローバル変数はもちろんのこと static もかなりの例外じゃない限り必要無い。
関数のポインタも合わせて活用すれば C だけでもオブジェクト指向は可能だよ。
はっきり言ってそこまでやるなら D 使った方がいいとは思うが。
0784名前は開発中のものです。
05/02/25 00:04:40ID:RU8p+2dUもちろんグローバルやらは少ないほうがいいと思うが
プログラミング経験の浅い香具師はグローバルを使う頻度が高いから
まずはstaticに、そして減らしていくっていうステップが必要だろう
あと漏れはグローバル変数=不要なものとは思わない
意味あるグローバル変数やstatic変数はあってもいいと思う
別にグローバル変数がない=オブジェクト指向でもないからな
0785名前は開発中のものです。
05/02/28 22:54:27ID:1VSyH9ti0786330
05/03/01 00:14:47ID:nSR+H/34マップを歩く人とか、会話とか、画面のスクロールとか。
どういう構造でプログラムするのが未だスッキリとせず、いろいろ手探りで模索中です。
取り敢えず今日は、フリップ専用スレッド(ペイントメッセージ発行のみの極小エンジン)を作りました。
即席の描画スレッドや、イベント監視スレッドで捕捉したキー情報などで
アニメパターンや位置をずらして描画させてやることで、
簡単なアニメーションのテスト(マリオ歩行)をしてみました。
あとは本格的なゲームループを上手く構造化して、
あるマップに来たときに、下地マップや、そこで動くイベントを一括してバックバッファに書き込むスレッドを
起動してやれば「動いてる町」を表現できるのでは?と、いい加減なの思いつきで進めています。
その先がどうなるのかは考えていません汗
システムがある程度固まるまでは、マップエディタも仕様変更しながらの作業です。
この辺を詳しく解説してるお人よしなサイトはなかなか無いみたいですね(^^;。
明日も仕事なのでもう寝まつ。zzz
0787名前は開発中のものです。
05/03/01 19:45:26ID:TpPMIZbOクラスってのを理解するためにこれからC++に取り掛かるところ。
0788名前は開発中のものです。
05/03/01 19:46:51ID:fQRsmgtrgoto文に触れてない入門書があるのか?!
0789名前は開発中のものです。
05/03/01 19:59:16ID:CElQ5t1dここにURL置いときますね。
http://www.ipsj.or.jp/members/Journal/Jpn/4503/article013.html
0790名前は開発中のものです。
05/03/01 20:28:28ID:mFC8Y2QC本文読めない
0791名前は開発中のものです。
05/03/01 20:36:24ID:CElQ5t1dよし、upしてやろうか?ほしけりゃやってやるが。
0792名前は開発中のものです。
05/03/02 00:21:10ID:IAdEOla+積極的に使っていこうぜ
0793名前は開発中のものです。
05/03/02 00:35:14ID:1E+KTVXbgotoは臆することなく使うのがスーパープログラマーだぞ
0794名前は開発中のものです。
05/03/02 09:46:47ID:91+qZ4pwgoto はその場面が少ないか、他にもっと有効な手段がある場合が多いというだけ。
他にもっといい手段があるかも知れないのに安易に goto で済ませてるだけだったら
そりゃ単なる思考停止だろうと言う他無いが、
ここは goto しかねえ! と思ったら使っていいんでない。
0795名前は開発中のものです。
05/03/02 14:43:06ID:HTfNB3BbWin2000使用のCの初心者でして、
試しにWindowsアプリの簡単なもののコンパイルをして見ようと考え
試みに↓のサイト
http://goldfly.ld.infoseek.co.jp/
のスケルトンのやつのコンパイルをして見ました
しかし、メイクが出来て実行ファイルを走らせてもメニューの表示が何らないウインドウが
表示されてしまいます
ウインドウにメニューが加えられて表示される筈ですが…
この辺りについて首をひねるばかりでどうすれば良いのかわかりません
この場合どう考えれば良いのでしょう?
0796795
05/03/02 14:52:46ID:HTfNB3Bbパズル堂のBCCとBCC Developerについて解説しているページで
「簡単なプログラムを作ってみる」というのがあってそれについてこちらは質問しています
上記の書き込みで貼ったURLではどこのページの記事についての質問なのか
はっきりとわかりませんね…すいません
0797名前は開発中のものです。
05/03/02 18:50:28ID:VuiEwiSvbrc32 WinSkelton.rc 実行ファイル名
はいらないの?
■ このスレッドは過去ログ倉庫に格納されています