1人でゲームが作れるように修行します。2 (487レス)
1-

245: SGGK ◆6pZCoAtaxk 2011/05/18(水)23:50 ID:SMykIXyq(1) AAS
>>243
アドバイス、ありがとうございます。
242での説明が不足していたせいもあり、実は自分のプログラムは「選手の情報を格納しているクラス」のオブジェクト22個(選手22人分)を
配列に入れているやり方でなくて、例えば、list<FieldPlayer>m_FieldPlayerList のようにFieldPlayer型のオブジェクトをpush_back関数で次々に入れていけるメンバ、m_FieldPlayerListを定義して、
それらの要素にはイテレータ、list<FieldPlayer>::iterator it;のような命令を書いて、このitを++したり、−−したりする方法でアクセスする感じの実装なので、ポインタでのアクセスが出来なさそうです。

でも、「ポインタの配列をソートする」でネット検索すると、「検索結果ロベールのC++教室 - 第28章 たのしいソート5」というページがヒットしたので、これの1から5までを読んで、実装はまだ理解できないけど考え方がなんとなくわかりました。
これと243氏の”ポインタの配列”をソートするやり方を合わせて
「選手の情報を格納しているクラス」内のメンバ変数で順番を知りたいデータ(距離とか)を構造体配列に移して、それにアクセスするポインタ配列を用意し、そのポインタ配列がソートされるといった仕組みを内部に持っている関数、
つまり、選手の番号を入れたらボールの近さが22人中何番目かがリターンされる関数を作ってみようと思います。

>>244
実はまだ考えてないのですが、今わかってる距離の利用法として、ボールに近い選手を両チームから1人ずつ選び頭付近にマークを出すとか、
ボールから7番目以降の距離にいる選手は守りの動きをするなど、1ループで何度かボールとの距離情報が必要になると思われるので、
その都度同じソートをすると時間がかかりそうなので、一度計算したソート結果を選手のオブジェクトのメンバ変数に保持させておこうかなと思ったため>>242のようになってしまってます。

自分も作業からしばらく離れてて、あれッ?と思うほどに読めなくなった事がよくありましたので気持ちがよくわかります。(汗;
1-
あと 242 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.006s