//インポート
import gameCanvasUtil.*;
import debugger.*;

/** ゲームクラス。
 *
 * 学生が編集すべきソースコードです。
 */
public class game extends gameBase
{
    /********* 変数定義はこちらに *********/
    // 型 変数名;　の順に書いて定義する
    // 弾のX座標
    int[] shot_x = new int[10];
    // 弾のY座標
    int[] shot_y = new int[10];
    // 弾のX方向の速度
    int[] shot_speed_x = new int[10];
    // 弾のY方向の速度
    int[] shot_speed_y = new int[10];
    // ラケットのX座標
    int racket_x;
    // ラケットのY座標
    int racket_y;
    // ラケットの幅
    int racket_w;
    // ラケットの高さ
    int racket_h;

    // 弾が生きているか、死んでいるかのフラグ
    boolean[] shot_alive_flag = new boolean[10];

    // 次に有効にする弾番号
    int next_alive_shot_num;

    /********* 初期化の手順はこちらに *********/
    public void initGame()
    {
        for(int i=0; i<10; i=i+1)
        {
            // 弾の座標を初期化する

            // 弾の速度を初期化する

            // 弾のフラグを初期化
        }

        // ラケットの座標を初期化する
        racket_x = 270;
        racket_y = 450;

        // ラケットの幅・高さを初期化する
        racket_w = 50;
        racket_h = 10;

        // 次に有効にする弾番号を初期化
    }

    /********* 物体の移動等の更新処理はこちらに *********/
    public void updateGame()
    {
        // Zキーを押すと、弾を発射する
        if()
        {
            // 弾を有効に

            // 弾の座標をラケットの位置にセット
            
            // 次の弾の番号へ。

            // 弾は10個までなので、それを超えたら0に戻る(使い回す)
            if()
            {
                // 次の弾の番号を先頭の 0 へ
            }

            // 弾を出すときの音を鳴らす(snd2.wav)
        }

        // 左キーが押され続けている場合に真
        if(gc.isKeyPress(gc.KEY_LEFT))
        {
            // ラケットを左に動かす
            racket_x = racket_x - 5;
        }
        // 右キーが押され続けている場合に真
        if(gc.isKeyPress(gc.KEY_RIGHT))
        {
            // ラケットを右に動かす
            racket_x = racket_x + 5;
        }

        // 弾用のfor文
        for()
        {
            // 有効(true)な弾のみ実行
            if()
            {
                // Y方向に shot_speed_y ずつ進める

                // X方向に shot_speed_x ずつ進める

                // 弾が画面の上を越えた場合
                if()
                {
                    // 弾のフラグを false に
                }
            }
        }
    }

    /********* 画像の描画はこちらに *********/
    public void drawGame()
    {
        // 画面を白で塗りつぶします
        gc.clearScreen();

        // img3.png を描画します
        for()
        {
            // 有効(true)な弾のみ描画
            if()
            {
                // 弾を描画
            }
        }

        // 色を青にセットします
        gc.setColor(0, 0, 255);
        // ラケットを描画します
        gc.fillRect(racket_x, racket_y, racket_w, racket_h);
    }

    /********* 終了時の処理はこちらに *********/
    public void finalGame() {}
}
