• [soccerwindow2] Qt3: マウスメジャーでのボール初速を可変にした. (akiyama)

バージョン1.2.xにおいては,FieldCanvas上でマウスメジャーを使うと,ボールが最大スピードで動き始めた場合の到達位置も表示するようになっている. 今回の変更で,最大スピードで固定だったボールの初速を可変にした.

操作方法は,

  1. 右ボタンドラッグでマウスメジャーモード開始 
  2. ドラッグ中に,右ボタンを押したままで左ボタンをクリック
    クリック位置がボールの初速到達位置となる.
    初速到達位置が最大スピードの範囲を越えている場合は,最大スピードにリセットされる.

また便利なものを作ってしまった…

  • [soccerwindow2] プレイヤタイプ参照時の例外チェックを強化. (akiyama) 18:04:45

インデックス番号が不正な場合に範囲外アクセスをしてしまう問題を修正. これまではstd::vectorから[]オペレータで直接参照していて,危なっかしいとは思いつつ放置していたが,不正なデータを受けるとsoccerwindow2ごと落ちてしまうのを目の当りにして,ちゃんと直すことにした.

  • [librcsc] 2円の交点を求める関数を追加. (akiyama) 18:04:45

Circle2Dに他の円との交点を求める関数を追加した. 高校数学の知識が薄れてきているのを実感. 交点を通る直線を求めるのは簡単なので,後はその直線と円との交点を求めるだけ,ということを把握するのに若干手間取った.

soccerwindow2で必要になったので作ったが,プレイヤ開発で必要になる機会は無さそうな気がする.

  • [librcsc][soccerwindow2] rcgファイルに含まれるshortとlongを,それぞれboost::int16_tとboost::int32_tに変更. (akiyama) 18:04:45

64ビットOSに対応するために,サイズ固定の型に変更した. C99から stdint.h が使えるようになっているけど,C++ではまだ標準で無いらしいので,とりあえず boost/cstdint.hpp を使うことにした.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-14 (月) 14:51:37 (1254d)
SourceForge.JP
Creative Commons License
RoboCup tools by Hidehisa Akiyama is licensed under a Creative Commons 表示-非営利 2.1 日本 License.