ふと思ったこと(ゲームプログラミングとクラスについて)

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ふらっと
記事: 13
登録日時: 13年前

ふと思ったこと(ゲームプログラミングとクラスについて)

#1

投稿記事 by ふらっと » 13年前

ゲームプログラミングの勉強をしていて、ふと思ったんですが
ゲームプログラミングにはC++の「クラス」は使った方が良いけど使ってないんですか?
私は、このサイトの新・ゲームプログラミングの館で勉強させて頂いているんですが
d.5章 ゲームの設計と分割コンパイル (3)で
クラスは大規模な設計をする上でとても便利な概念です。
と書いてあります。
しかし、サンプルプログラミングの館にあった太鼓の鉄人や、ジャンケンでは、クラスが(見落としがなかっとすれば)使われていませんでした。
これは、そんなに大規模なプログラムではないから使われていないんですか?
最終的にはそこそこ大規模なゲームを作りたいと思っているので、出来れば今のうちにクラスを使ったゲームプログラミングに慣れておきたいんですが、その具体的な使い方が分かりません。
ゲームプログラミングでのクラスの使い方は今から勉強しておいた方が良いですか?
それとも今のうちは使わないで簡単なものを作っていた方が良いですか?

よろしくお願いします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: ふと思ったこと(ゲームプログラミングとクラスについて)

#2

投稿記事 by softya(ソフト屋) » 13年前

クラスを全面的に使うとやはり難しいからだと思います。初心者向けにC言語で書いているとどっかに書いてあったような。
あと初期作品はDixqさんがC++にそれほど精通していなかったみたいですし。
ふらっと さんが書きました:最終的にはそこそこ大規模なゲームを作りたいと思っているので、出来れば今のうちにクラスを使ったゲームプログラミングに慣れておきたいんですが、その具体的な使い方が分かりません。
ゲームプログラミングでのクラスの使い方は今から勉強しておいた方が良いですか?
別にC言語でも大規模なプログラムは作れますよ。
PS1の頃なんか大半のゲームはC言語ですから。
ふらっと さんが書きました: 最終的にはそこそこ大規模なゲームを作りたいと思っているので、出来れば今のうちにクラスを使ったゲームプログラミングに慣れておきたいんですが、その具体的な使い方が分かりません。
ゲームプログラミングでのクラスの使い方は今から勉強しておいた方が良いですか?
それとも今のうちは使わないで簡単なものを作っていた方が良いですか?
とりあえず、ちゃんとクラスで作りたいならオブジェクト指向の勉強をされうべきだと思います(ここのサイトじゃなく)。
ベターCとしてのC++の便利な機能をちょっと使うだけなら今からでも出来ます。
「C++を「ベターC」として使う - fkm ~ Super Software Entertainerへの道 ~」
http://d.hatena.ne.jp/fkm/20060911/p2
「ススンデルCとしてのC++」
http://aitoweb.world.coocan.jp/cpp/node2.html

あとC++化された龍神録につていは、「龍神録プログラムングの館」の下の方にソースコードがあります。
「龍神録プログラミングの館」
http://dixq.net/rp/

【補足】
あと、ふらっとさんはC++の知識がどのくらいありますか?
C++の入門書を一冊読み終えた知識があるなら、C言語とC++の凄い違いに気づかれていると思うのですが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

たかぎ
記事: 328
登録日時: 14年前
住所: 大阪
連絡を取る:

Re: ふと思ったこと(ゲームプログラミングとクラスについて)

#3

投稿記事 by たかぎ » 13年前

構造体や共用体もC++の仕様上はクラスの一種なので、クラスを使っていないというのは正確ではないのでは?
それと、存在する機能であっても、それがどんなに便利なものであっても、使いたくない、または使いこなせるだけのスキルがないのであれば、使わないという選択は常に可能です。

例えるなら、Excelを使うなら、ピボットテーブルやらVBAやらを必ず使わなければならないということはありませんね。
ウェブページを作る際には、必ずJavaScriptもFLASHもSilverlightも使わないといけないというのも正しくありません。
そんなもんです。

ISLe
記事: 2650
登録日時: 14年前
連絡を取る:

Re: ふと思ったこと(ゲームプログラミングとクラスについて)

#4

投稿記事 by ISLe » 13年前

クラスの機能をフル活用しないとオブジェクト指向的な考え方ができないわけでは無いですしね。
いきなりオブジェクト指向がどのようなものかと勉強するより、いま作ってるプログラムの構造化に取り組むのも良いと思います。

とりあえず、キー入力を判定するのにKey配列に直接アクセスするのは良くないことに気付いて理由を考えてみたり改善策を試行錯誤するあたりから始めてみるのはどうでしょう。

簡単なプログラムだとしても最初から高度に抽象化されたコードを見て理解するのは難しいと思います。
サンプルプログラムでクラスが上手く使えてないように見えるのはそういう理由もあるかもしれません。

DXライブラリを使ったゲームのソースファイルがDXライブラリのソースファイル一式に混ぜて配布されていたとしたら、なかなかコードを読んでやろうという気持ちにはなれないでしょう。

オブジェクト指向の恩恵を大きく受けるのはフレームワークを作成する側の開発者で、アプリケーション開発者はそれと知らずに利用しているということが多いように思います。

ふらっと
記事: 13
登録日時: 13年前

Re: ふと思ったこと(ゲームプログラミングとクラスについて)

#5

投稿記事 by ふらっと » 13年前

みなさん回答ありがとうございます。

無理に使わなくてもいいんですね。

とりあえず今出来ることからやろうと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る