1人でゲームが作れるように修行します。2 (487レス)
上下前次1-新
抽出解除 レス栞
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_ を付ける。
これでやってみる。
197: 名前は開発中のものです。 [sage] 2011/04/05(火) 02:28:26.89 ID:t5qV24Bh(1/2) AAS
あーそういえばC++は文字列が鬼門だよな
UNICODEかSHIFT-JISかっていうのは、要はwcharかcharかって事だ
だからwchar〜charを変換する関数作っておくといいかもしれない
ちなみに俺は基本的に文字列はstringで扱って
wcharとかcharを要求する関数を使う時にstringから渡せるような作りにしてる
もうしばらく使ってないから、マクロで組んだか関数だったかは忘れたけど
241(1): SGGK ◆6pZCoAtaxk [sage] 2011/05/11(水) 23:28:32.89 ID:dXE++lT+(1) AAS
すぐには進まないけど、当たり判定用関数の実装終了。
宣言と定義しただけで、まだ実際には使っていないので、バグが出るかもしれない。
選手がボールを蹴れるようにする実装を検討中。
>>233で言ってた
>ボールをけるボタンを押したときに選手とボールのあたりが真なら、ボールが一定の速度で移動するようにするつもり。
を実装するにはキック用キーを押した時に選手とボールの座標を取得して当たり判定をして、
当たりなら、例えばボールの状態の変数をセットしてそれに応じてボールの挙動が変化するみたいにすればよさそうだけど、
それをどこに書くかが悩むところで、選手のクラス内にも書けるし、ボールのクラス内でも書けそうな気がする。
でも、今回は選手やボールに関係するオブジェクト、その他のオブジェクトをメンバ変数に持っているSoccerGameクラスの中に
メンバ関数calVariousState()を定義して、その中でやってみるつもり。
SoccerGameクラス内のメンバ関数からなら他のメンバになってる選手やボールのオブジェクトとも情報のやりとりが
しやすそうだし、既に書いてあるcalMatchState()や calTimeResetState()と似た役割の関数になると思うので書きやすいかもしれない。
calVariousState()の中でいろいろなオブジェクトの状態を表す変数を更新して、その結果が他のオブジェクトに反映されるイメージ。
できるかどうか自信無し…。
282(1): 名前は開発中のものです。 [sage] 2011/06/22(水) 12:04:04.89 ID:9GezxZuR(1/2) AAS
>>281
Nスクはライセンスがめんどい
325(1): 名前は開発中のものです。 [sage] 2011/09/15(木) 22:21:08.89 ID:I5TXtYrP(6/6) AAS
このあと>>252では仕上げに入っているけれど、補足すべき要素としては、
A.選手同士の接触判定と解決処理
B.最後にボールに触れた選手によるスローイン、ゴール・コーナーキックの判別
C.オフサイドの判定
D.AI実装のための評価関数の充実
などが必要じゃないかと思う。
「8.タイム、スコア、勝敗、タイトル画面などの装飾要素を実装する」については、
まあ、そのまんま好きなように作りこめば良い。
長々書いたけれど一応これで脳内では完成したつもり。
本当に実装できるか確かめていないので何の保証もないけれど、
なにか一部でも参考になれば嬉しいので自由に使ってくださいな。
369: SGGK ◆6pZCoAtaxk [sage] 2012/07/09(月) 23:59:59.89 ID:1ssCdaiG(1) AAS
3Dで真上から見れば2Dになるかなという考えがあったから昨日のような事をしてたんだけど、
いろいろ悩んだ結果、2Dに戻ってやり直してみようと思った。
3Dについては、今までいろいろアドバイスもらっているのに止めるのはなんだか申し訳ない気持ちもあるけど、
今年の8月末で5年経つはずだし、まずは形に出来る可能性が少しでも高い方法を選ぼうと思う。
3Dでいろいろ学んだり考えたりした経験もきっと役立つだろうし…。
当時作った2Dスクロールはがくがく振動してたけど、それでも良しとするつもり。
431: 1 ◆6pZCoAtaxk [sage] 2016/01/17(日) 22:37:01.89 ID:BewUXIkS(1) AAS
完全にスレのタイトルと同じ状況になってしまったか…
まぁ、他のスレも似たような状況だし、この板自体が過疎化してるから仕方が無いとも言える
これも時代の流れ
腕のある人はスマホで稼ごうとしてみんなそちらに流れていくし、
求められるクオリティも個人で出来る範囲をはるかに超えてる
普通ならあきらめるよね?
いまどきパソコンでゲームを作る人なんてきっと少数派なのだろう
正直、自分も今度ばかりはどうしようかと悩んだ(10年経ってコレだし…)
本当に作りたいのか?いいかげん他の趣味でも探してはどうか?という具合に考えた
でも、完全にやめるほどの代わりの趣味や、サッカーゲーム制作をやめる理由は結局でてこなかった
よって懲りずに再開を試みることにした
寿命がくるか自然消滅するかまで繰り返し続ける事をとりあえずの目標としようか
まずは、ホームページを最低限のものでいいから自前で用意する。
コンパイラを一度アンインストールして、コンパイラとDXライブラリを
パソコンに入れるところからはじめて、作業記録を発信することを自分に課す。
発進するネタは、ものすごくサッカーを簡単化したものの制作記録にする。
これが設計の代わりとなる。
実生活にあまり時間の余裕がないので
目標期限はホームページが5月ごろまで
制作記録は12月ごろまで
今年は、これで自分の気持ちを確認することにした…orz
436: SGGK ◆6pZCoAtaxk [sage] 2016/01/26(火) 20:46:33.89 ID:EFSQD3B4(1) AAS
やっぱり名前を元に戻します!
最終目標にふさわしいSGGKにしときます。
久しぶりに復帰したせいで自分は思考がどうかしてたのかもしれない・・・
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s