タマの誘惑
(表示されるデータが違っている場合は「init all」としてください)

メモリージャグラーをお持ちの方は、ここで使用しているソースをダウンロードして使用できます。
あまりサブタイトルには意味ありませんので気にしないでください。
何となく思いつきで、「壁打ち」を作ってみました。しかも犬。
なんでまた犬かというと、これもあまり意味はありません。しかもラケットも持ってないのに何故打ち返せるかも謎だったり。とりあえず気合いで打ち返しているとでも解釈してください(苦しい)。まあ「?」マークをラケットに見立てるとかその他モデルを組み合わせるとかいう手もありますが。

壁のラインは、3D空間の座標を決めてからgetsposで画面上座標を取得し、lineで描いています(150行以降)。場合によってはコート全体をモデル作成してそことの当たり判定でボールの跳ね返りを判断するという手もありますが、ここではただlineを引いているだけなので自力で当たり判定をしています(1140行以降)。
またボールの影は、楕円を描くことができないので矩形になっています。これもボールの真下位置座標からgetsposで画面上の座標を取得、tileを描画しています(1430行以降)。
ボール打ち返しの可否は、ボールと犬との距離により判断しています(990行以降)。またボールが奥から手前に向かっているときしか打ち返せないようにもしています(1010行)。
例によってというか、2人プレイモードを追加してみました。今度は猫。
ボタン3つで強弱を使い分けられますが、あまり極端な差はついていません。速くしすぎると本当に必殺技になってしまい、それはそれで問題なので。660行あたりで各速度を定義、1310行以降で区別代入していますのでこのあたりをいじると速度が変わります。ちなみに△は打てる範囲が狭くなっています(1410行以降)。
トップへ