【更新履歴】更新したら書いてください。不明な点は更新した人に聞いてください。

2008.10.16 05440 DirectXでの描画
前のバージョンと動作は同じです。
SDLではなくDirectXで描画を行うようにしました。
そのため、windowsでしかコンパイルは通りません。
迷路枠の回転を動的に行うようにしました。
メモリ使用量が少なくなりましたが、CPUの使用率があがるのでその辺の対策をしていきたいと思います。
SDLの方が適していると判断された場合元に戻します。
BCC Developerでコンパイルしてください。

2008.10.16 gen ベクトル関数の追加．回転衝突の実装
ベクトル関数に等価判定(VectorEqu)を追加しました．
回転時における衝突処理を加えました．
ただしアルゴリズム上高速にぶつけた場合はすり抜けが発生します．

2008.10.14 gen ベクトル関数ミスの訂正．衝突判定の実装
ベクトル関数の内積（VectorDotProduct）の計算が間違っていたのを訂正しました．
衝突判定を実装しました．ただしまだ簡易的なものであるため，速度が遅いかもしれません．
また回転中にボールが当たるとすり抜けが発生します．

2008.10.14 05440 可読性の向上
スクリーン表示部のソースコードをScreenフォルダに分けました。
ボールに画像を重ねました。
サーフェスの構造体を作り、グローバル変数をやめました。
ベクトルの描画と画像の描画を別関数にしました。
前回と同じ動作をさせたつもりですが、跳ねるときのボールの挙動が前回と変わってしまいました(減速していない?)。
衝突判定あたりのコードは手をつけていません。
SDLは重いためできればOpenGLで書いてみようと思います。できないかもしれません。

2008.10.14 gen ベクトル関係の修正・見直し
Vector.c および Line.c における不適切な記述，コードを修正しました．これによる動作の違いはありません．
またベクトル座標系について，y軸が画面下側を正としていたのを，画面上側を正になるよう修正しました．
これによってy軸は上が正，x軸は右が正となり，グラフに書かれるような正負関係となります．

2008.10.10 05440 フレームレート制御方法の変更とボールの描画
warning対策のために各関数を少し修正しました。
フレームレートをsdlgfxで用意されている関数で実装しました。
CPU使用率は以前より上がりますが、自分でwait関数を作成するのとどちらが適しているのかは未検証です。
ボールを描画しました。重力を受けて下に落ちますが
当たり判定を行っていないので枠を通り抜けてしまいます。

2008.10.09 gen 衝突判定用のデータ型作成
回転に対応させるために各点をベクトルデータに変換，処理します．
ベクトルに関しては加算・減算・スカラー倍・大きさ・内積・外積・回転・
スクリーン座標系との相互変換など一通り揃えています．
また衝突判定用に線分のデータ構造も用意しました．
こちらの処理はまだ不十分ですが，スクリーン座標系との相互変換・回転は備えています．
公差判定，交点算出はwebを参考としましたが，もっと良い処理があれば置き換えてください．
また公差判定・交点算出はまだ未検証であるため，どなたか検証してくださるとありがたいです．
衝突判定プログラムの Collision.c は作りかけです．
どのような処理にするのか，参考にしたい方は見てください．
プログラムは，枠に合わせて４つの線を生成し，それを回転させています．

2008.10.07 05440 迷路枠の回転とフレームレートの制御
sdlgfxを使用して迷路枠の回転をしています。まずはじめに初期化として
回転した後の各角度でのSDL_Surface構造体を作成しています。
これをメモリから呼び出すことでスムーズに動作しますが、
ROTATE_DEG(defs.h)を3に設定するとメモリを20MB近く消費します。スムーズだけれど重い・・。
sdlgfx.libはBCC用です。sdlgfx.lib.vcはVisualC用です。
sdlgfx.libにリネームして使ってください。
フレームレート(fps)を制御することでCPUが100%にはならなくなりましたがまだまだ重いです。

2008.10.06 05440 迷路枠の表示
SDL_imageを使ってpngから画像データを読み込み、表示します。
回転部は実装していないのでコード中に使われていない部分があります。
回転はSDL_gfxを使うらしいのですが、これがまた曲者のようです。

2008.10.01 05440 ウィンドウのみ作成
