プログラミング基礎/2012/2013年01月10日
をテンプレートにして作成
開始行:
-前回の解答は授業フォルダ/第14回/配布に置きました
**問題 [#rf29e21e]
[[前回>プログラミング基礎/2012/2012年12月20日]]のプログラ...
実行例:
#ref(./toi.wmv);
ヒント:
多数の弾を扱う,これは,Bulletクラスのインスタンスが複数...
よって配列の出番となる.
具体的には,いままで扱う弾の数が1個であるので,UFOのbulle...
Bullet bullet;
これでは1個の弾しか存在することができない.よって配列を使...
Bullet[] bullet;
とする.
配列が生成された時点で,配列の各場所には"空"であることを...
null
が代入されている.
そのため,例えば配列のi番目が空かどうかは,以下のように判...
if (bullet[i] == null)
{
//bulletのi番目が空であれば...する
}
空の場所に対して何らかのメソッドを実行しようとすると,不...
具体的には,配列が空でないかをチェックしてから,メソッド...
if (bullet[i] != null)//配列のi番目が空でなければ...
{
//i番目の弾を動かす
bullet[i].move();
}
プログラムひな形(UFOクラス):
class UFO
{
float x;
float y;
float sx = 2;
int type;
Bullet[] bullet;
UFO(float x, float y, int type)
{
this.x = x;
this.y = y;
this.type = type;
//配列を生成する
}
void shoot()
{
//配列内の空き場所に弾を生成する
}
void removeBullets()
{
//配列内の不要な弾(画面外にでてしまった弾)を削除する
}
void moveBullets()
{
//配列内の弾を全て動かす
}
void drawBullets()
{
//配列内の弾を全て描画する
}
void move()
{
//UFOの移動(省略)
removeBullets();
moveBullets();
}
void draw()
{
//UFOの描画(省略)
drawBullets();
}
}
終了行:
-前回の解答は授業フォルダ/第14回/配布に置きました
**問題 [#rf29e21e]
[[前回>プログラミング基礎/2012/2012年12月20日]]のプログラ...
実行例:
#ref(./toi.wmv);
ヒント:
多数の弾を扱う,これは,Bulletクラスのインスタンスが複数...
よって配列の出番となる.
具体的には,いままで扱う弾の数が1個であるので,UFOのbulle...
Bullet bullet;
これでは1個の弾しか存在することができない.よって配列を使...
Bullet[] bullet;
とする.
配列が生成された時点で,配列の各場所には"空"であることを...
null
が代入されている.
そのため,例えば配列のi番目が空かどうかは,以下のように判...
if (bullet[i] == null)
{
//bulletのi番目が空であれば...する
}
空の場所に対して何らかのメソッドを実行しようとすると,不...
具体的には,配列が空でないかをチェックしてから,メソッド...
if (bullet[i] != null)//配列のi番目が空でなければ...
{
//i番目の弾を動かす
bullet[i].move();
}
プログラムひな形(UFOクラス):
class UFO
{
float x;
float y;
float sx = 2;
int type;
Bullet[] bullet;
UFO(float x, float y, int type)
{
this.x = x;
this.y = y;
this.type = type;
//配列を生成する
}
void shoot()
{
//配列内の空き場所に弾を生成する
}
void removeBullets()
{
//配列内の不要な弾(画面外にでてしまった弾)を削除する
}
void moveBullets()
{
//配列内の弾を全て動かす
}
void drawBullets()
{
//配列内の弾を全て描画する
}
void move()
{
//UFOの移動(省略)
removeBullets();
moveBullets();
}
void draw()
{
//UFOの描画(省略)
drawBullets();
}
}
ページ名: