ページ 11

分割

Posted: 2013年8月14日(水) 18:02
by KSK
こんにちは。久しぶりに質問させていただきますので、よろしくお願いします。
http://dixq.net/g/d_05.html
こちらのサイトで分割を学んでいたのですが、
そこではPlayerモジュールの関数の引数にPlayer_t型の変数をとり、
実体はWinMain関数で持たせていましたが、もしPlayerモジュールの関数を
ほかのモジュールの関数で使いたくなった場合はどのような方法をとるのでしょうか。
たとえばプレイヤーの座標をEnemyモジュール内の関数に渡す場合、Playerモジュールで
座標を返す関数を作ると思うのですが、それをEnemyモジュールの関数で使う場合、
WinMain関数にあるPlayerの実体をEnemyモジュールの関数で
引数に指定することはできないですよね(できるのかな)?
初歩の質問ですが、よろしくお願いします。

Re: 分割

Posted: 2013年8月14日(水) 18:27
by softya(ソフト屋)
Player_t型のすべてをEnemyに渡すとPlaeryモジュールとの結合度が高くなるので避けたほうが良いでしょう。結合度は低くが原則です。
また、Playerモジュールの関数を使いたく成るということは、その関数はEnemyでもPlayerでも共用できると言うことなのでPlayerモジュールから独立するべきです。

Re: 分割

Posted: 2013年8月14日(水) 20:29
by KSK
御返答ありがとうございます。
独立させてもEnemyモジュールにPlayerモジュールの値を渡すことは可能でしょうか?

Re: 分割

Posted: 2013年8月14日(水) 20:39
by softya(ソフト屋)
main制御モジュールがPlayerモジュールからEnemyモジュールに座標を橋渡しすれば問題ありませんよ。

Re: 分割

Posted: 2013年8月26日(月) 23:41
by KSK
ありがとうございます。理解しました。

Re: 分割

Posted: 2013年8月26日(月) 23:42
by KSK
わかりました。ありがとうございます!