こんにちは。久しぶりに質問させていただきますので、よろしくお願いします。
http://dixq.net/g/d_05.html
こちらのサイトで分割を学んでいたのですが、
そこではPlayerモジュールの関数の引数にPlayer_t型の変数をとり、
実体はWinMain関数で持たせていましたが、もしPlayerモジュールの関数を
ほかのモジュールの関数で使いたくなった場合はどのような方法をとるのでしょうか。
たとえばプレイヤーの座標をEnemyモジュール内の関数に渡す場合、Playerモジュールで
座標を返す関数を作ると思うのですが、それをEnemyモジュールの関数で使う場合、
WinMain関数にあるPlayerの実体をEnemyモジュールの関数で
引数に指定することはできないですよね(できるのかな)?
初歩の質問ですが、よろしくお願いします。
分割
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 分割
Player_t型のすべてをEnemyに渡すとPlaeryモジュールとの結合度が高くなるので避けたほうが良いでしょう。結合度は低くが原則です。
また、Playerモジュールの関数を使いたく成るということは、その関数はEnemyでもPlayerでも共用できると言うことなのでPlayerモジュールから独立するべきです。
また、Playerモジュールの関数を使いたく成るということは、その関数はEnemyでもPlayerでも共用できると言うことなのでPlayerモジュールから独立するべきです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 分割
main制御モジュールがPlayerモジュールからEnemyモジュールに座標を橋渡しすれば問題ありませんよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。