1人でゲームが作れるように修行します。2 (487レス)
前次1-
抽出解除 レス栞

160
(1): SGGK ◆6pZCoAtaxk [sage] 2011/03/01(火) 23:31:52.52 ID:huwPkO/S(1) AAS
>>159
159(1): 名前は開発中のものです。 [sage] 2011/03/01(火) 22:55:52.67 ID:Ux3/NF8u(1) AAS
なんか切磋琢磨な感じがいいね。
影ながら応援してます(`・ω・´)ノ
しばらくの間は今までのプログラムの書き換え作業のような感じになるけど、
やれるところまでは頑張ってみようと思ってます!

今までは1つのファイルに複数のクラスの宣言を書いていたのを、
1クラスにつき1ファイルに変えようとしたためか、ファイルがどんどん増え、
しかもほぼ全てのメンバ変数にget、set関数を用意するので作業量が膨大になりそうな感じ・・・。
162: SGGK ◆6pZCoAtaxk [sage] 2011/03/06(日) 15:46:57.88 ID:CeMkUuli(1) AAS
>>155
155(3): SGGK ◆6pZCoAtaxk [sage] 2011/02/27(日) 22:11:45.89 ID:wy4sbNmV(3/3) AAS
ソースを修正していて思ったが、C++で書いたプログラムは保守性が良くて再利用性にも優れてるような事を
どこかで聞いた記憶があるけど、そうなっている感じがしない。
たぶん自分の書き方に問題があるので、この機会に少しでも変えてみようと思った。

1.クラスのメンバ変数をpublicにして直接読み書きしていた。(変数毎に関数を書くのが大変だし、いちいち関数を使っていたら、その分処理速度が遅くなるのではと思った。)
  これを次のようにする。
  privateのメンバ変数にして変数毎にget関数、set関数を作ってこの関数を経由してアクセスする方法にする。
  そうすれば、例えば、座標系をx,y,zで管理していたのをVECTOR構造体に変更した場合でも
  get関数、set関数の修正で済む場合もあるので、修正に有利だし、
  get関数、set関数が書かれている場所を見れば、クラスのつながりも見えやすくなりそう。

2.get関数、set関数のような変数の取得、設定しかしない関数は行数が短いので、
  定義をヘッダファイルに書いていたが、定義はすべてcppファイルにまとめて見やすくする。
  それが出来ない例外もあった記憶があるけど、その場合は仕方ないのでヘッダファイルに書く。

3.変数の命名規則を考え、それに従った変数名を付ける。
  但し、最低限の規則にしておき、不完全でもあまり気にしないようにする。
  プログラムの修正が今より少しでもやりやすくなればいいのだから。
  今考えてるのは、メンバ変数は単語の区切りだけ大文字にして書く。
  メンバ関数も同じだけど、最初の文字だけは小文字にする。
  そして、メンバ変数の先頭には、m_ を付ける。
  メンバ変数で静的変数なら、ms_ を付ける。
  メンバ変数でポインタなら、mp_ を付ける。

これでやってみる。
>>160の変更を同時にやろうとして収拾がつかなくなってきた。
>>160の>1クラスにつき1ファイルに変えようとした・・・のが良くなかったかもしれない。
クラスにあるメンバ関数をcppファイルの中で定義しようとしたときに、そのクラスのヘッダファイルに無い他のクラスのメンバ変数が含まれていたら
その含まれていないクラスのヘッダファイルをインクルードしたり、または前方宣言とかいうのを書いたりするんだけど、いまいちよく理解しないでやってるからなのか
どうもその辺が原因になってるような気がする。
それと移動処理のクラスは外部変数的な感じで外部に実体を定義するんだけど、
これも思い通りに出来ていないような気がする。ちゃんと書いたつもりなのに定義が無いといった意味合いのエラーが出る。
しかもアサーションがどうのこうのというエラーまで出てしまった(たしか1年ほど前にも似たエラーが出て大変だった)ので、
ここはいったん選手関係のファイルをひっこめて、もう一度フィールドの表示をさせるところまで戻して、
次に選手の画像データロード、選手の初期値テキストファイル読み込みの部分だけをコンパイル対象に戻して
動作が確認できるまでを頑張ってみる。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s