シューティングゲームを作ろう
Lv.0 setupとdraw
setup関数とdraw関数を用意しよう。
Lv.1 600x400の画面を表示しよう。
画面の表示はsize命令を使うんだったね。
Lv.2 プレイヤーとなる四角形を表示しよう。
四角形はrect命令を使うんだったね。 横50、縦200の位置に表示しよう。
Lv.3 プレイヤーを画像に置き換えよう。

PImage命令で画像を読み込んで、image命令で表示するんだったね。
Lv.4 プレイヤーをアニメーションさせよう。

ジェット噴射している画像と交互に入れ替えるんだ。
Lv.5 プレイヤーをキーボードで動かそう。
上下キーで縦に移動させよう。横はいらないよ。
Lv.10 自動で弾丸を発射させよう。
きちんとプレイヤーの前の位置から発射させよう。
Lv.11 弾丸が画面の端までいったらもう一度発射させよう。
Lv.11.1 ここまでのプログラムコード
Lv.20 敵を表示しよう
- 横500, 縦200の位置に表示しよう。
- 表示位置は、「tx」、「ty」で変数にしておこう。
Lv.21 敵をまっすぐ進ませよう
- 敵を左方向に進ませよう。
- 敵のスピードは、「 ts 」で変数にしておこう。
Lv.22 敵が画面からはみ出したらもう一度出現させよう
- 敵が画面左からはみ出したら、もう一度右から出現させよう。
Lv.23 敵の再出現時にランダムな位置に表示しよう
- 再出現時に、敵の縦の位置(ty)をランダムな位置にしよう。
ヒント:
- ランダムな値は、 random命令 で取得できるぞ。
- 取得した値を、変数「 ty 」に代入しよう。
Lv.30 敵と銃弾との当たり判定を作ろう
以下の4つの条件が全てそろったとき、衝突している。
1. 銃弾の中心xが、敵の左端より右にある2. 銃弾の中心xが、敵の右端より左にある3. 銃弾の中心yが、敵の上端より下にある4. 銃弾の中心yが、敵の下端より上にあるLv.40 たまにスピードの速い敵を出現させよう
Lv.80 宇宙っぽい背景を作ろう

宇宙の星屑たちが、左に流れていく。臨場感がでるぞ!ぜひ挑戦してくれ。
なお、実現するには配列を使うぞ。配列は難しいが、ぜひ挑戦してくれ。
以下は参考プログラムだ。
float[] sx = new float[50];float[] sy = new float[50];void setup(){ size(600, 400); for(int i=0; i<50; i++){ sx[i] = random(0, 600); sy[i] = random(0, 400); }}void draw(){ background(0); for(int i=0; i<50; i++){ sx[i] -= 3; if(sx[i] < 0){ sx[i] = 600; } fill(255, 255, 255, 150); ellipse(sx[i], sy[i], 3, 3); }}