亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? maincanvas.java~1~

?? 太空大戰J2ME版本
?? JAVA~1~
字號:
package game0925;

import javax.microedition.lcdui.*;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Vector;
import java.util.Random;
import javax.microedition.media.*;
import java.io.*;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class MainCanvas extends Canvas implements CommandListener, Runnable {

    Command ok;
    protected static MainCanvas self;
    private Random rnd = new Random();
    protected int score;
    protected static int D_SCORE = 5;
    protected int alive = 100;
    protected static int DEF_A = 1;

    //******************************************************
//     protected Vector ufomissV = new Vector(); //敵機子彈
//    protected int ufomissCount = 0; //敵機子彈數量

     protected Vector mymissV = new Vector(); //自機子彈

    protected int mymissCount = 0; //自機子彈數量

    protected UFOMiss[] ufomiss = new UFOMiss[] {
                                  new UFOMiss(),
                                  new UFOMiss(),
                                  new UFOMiss(),
                                  new UFOMiss(),
                                  new UFOMiss()
    };

    protected Vector ufoV = new Vector(); //UFO

    protected int ufoCount = 0; //敵機數量
    //*****************************************************
     Thread thread;
    public int gameAction;
    public boolean keyEvent;
    private Timer timer = new Timer();
    public Task task;
    protected PlayTask play = new PlayTask();
    protected int gamestate;
    protected static final int GAME_TITLE = 0;
    protected static final int GAME_PLAYING = 1;
    protected static final int GAME_END = 2;
    protected static final int GAME_PAUSE = 3;
    private int screenwidth;
    private int screenheight;
    private Image background;
    private Image off;
    private MyShip myship = new MyShip(); //自機
//    List l = new List(" ", 1);
    public MainCanvas() {
        self = this;
        ok = new Command("重新開始", Command.OK, 1);
//        this.addCommand(ok);
        //   this.setCommandListener(this);


        task = new Task(this);
        if (background == null) {
            background = ImageTools.getImage("/img/backg.PNG");
        }
        if (!this.isDoubleBuffered()) {
            off = Image.createImage(getWidth(), getHeight());
        }
        screenwidth = this.getWidth();
        screenheight = this.getHeight();

        gameInit();
    }

    public void keyPressed(int keycode) {
        gameAction = getGameAction(keycode);
        keyEvent = true;
    }

    public void keyReleased(int keycode) {
        keyEvent = false;
    }

    public void commandAction(Command command, Displayable displayable) {
        /** @todo Add command handling code */
        if (command.getCommandType() == Command.EXIT) {
            // stop the MIDlet
            MaiMIDlet.quitApp();
        } else if (command == ok) {
            gameInit();
        }
    }

    void gameInit() {
        if (thread == null) {
            thread = new Thread(this);
        }
        myship.isAlive = true;
        myship.setX(screenwidth / 2);
        myship.setY(screenheight - myship.getHeight() - 10);
        gamestate = GAME_PLAYING;
        thread.start();
        score = 0;
        alive = 100;
    }

    protected void paint(Graphics g) {
        Graphics old = g;
        if (off != null) {
            g = off.getGraphics();
        }
        g.drawImage(background, screenwidth / 2, screenheight / 2,
                    Graphics.HCENTER | Graphics.VCENTER);
        switch (gamestate) {
        case GAME_TITLE:
            g.setColor(0xffffff);
            g.drawString("Chao copyright 2005", 10, 5,
                         Graphics.TOP | Graphics.LEFT);
            break;
        case GAME_PLAYING:

            //************************顯示部分**********************
             myship.paint(g);

            for (int i = 0; i < mymissV.size(); i++) { //自機子彈
                MyMiss miss = (MyMiss) mymissV.elementAt(i);
                miss.paint(g);
            }

            for (int i = 0; i < ufoV.size(); i++) { //UFO
                UFO ufo = (UFO) ufoV.elementAt(i);
                ufo.paint(g);
            }
            for (int i = 0; i < ufomiss.length; i++) { //ufo 子彈
                ufomiss[i].paint(g);
            }

            //********************************************************

             //---------積分顯示--------------------------
             g.setColor(0x00ff0000);
            g.drawString("S:" + score, this.getWidth() - 80, 5,
                         Graphics.TOP | Graphics.LEFT);
            g.drawString("L:" + alive, 5, this.getHeight() - 20,
                         Graphics.TOP | Graphics.LEFT);

            //----------------------------------------
            break;
        case GAME_END:
            g.setColor(0xffffff);
            g.drawString("Chao.com copyright 2005", this.getWidth() - 150,
                         this.getHeight() - 40, Graphics.TOP | Graphics.LEFT);
            g.drawString("G A M E   O V E R !", this.getWidth() / 2 - 35,
                         this.getHeight() / 2, Graphics.TOP | Graphics.LEFT);
            break;
        }
        if (g != old) {
            g.drawImage(off, 0, 0, 20);
        }
    }

    public void showNotify() {
        timer.schedule(task, 0);
//        timer.schedule(play, 0, 40);
    }

    void addUFO() { //加入敵機
        UFO ufo;
        int _temp = rnd.nextInt() % 2;
        int x_s;
        int _x = this.getWidth() - 50;
        int _y;
        int _speed = rnd.nextInt(30);
        if (_temp == 1 | _temp == -1) {
            _temp = rnd.nextInt() % 2;
        }
        if (_temp < 0) {
            _temp = ( -1) * _temp;
        }
        x_s = _temp * 2 + 12;
        _y = 16 * _temp;
        _x = _x - _temp * 2;
        if (_temp == 0) {
            ufoV.addElement(new UFO(x_s, _y, UFO.DIR_LEFT, true, _speed));
        } else {
            ufoV.addElement(new UFO(_x, _y, UFO.DIR_RIGHT, true, _speed));
        }
    }

    public void keyR() { //飛機按鍵事件
        switch (gameAction) {
        case Canvas.UP:
            if (myship.getY() > 0) {
                myship.y -= 5;
            }
            break;
        case Canvas.DOWN:
            if (myship.getY() < screenheight - myship.getHeight() - 10) {
                myship.y += 5;
            }
            break;
        case Canvas.LEFT:
            if (myship.getX() > 0) {
                myship.x -= 5;
            }
            break;
        case Canvas.RIGHT:
            if (myship.getX() < screenwidth - myship.getWidth() - 1) {
                myship.x += 5;
            }
            break;
        }
        repaint();
    }

    public void run() {
        int temp;
        int speed;
        switch (gamestate) {
        case GAME_TITLE:
            try {
                Thread.sleep(1500);
                gamestate = GAME_PLAYING;
                repaint();
            } catch (Exception e) {}

            break
                    ;
        case GAME_PLAYING:
            repaint();
            while (thread != null) {

                if (alive <= 0) {
                    gamestate = GAME_END;
                }
                for (int i = 0; i < mymissV.size(); i++) { //處理自機子彈
                    MyMiss miss = (MyMiss) mymissV.elementAt(i);
                    if (miss.isAlive() && miss.getY() + miss.getHeight() > 0) {
                        miss.doMove();
                        for (int j = 0; j < ufoV.size(); j++) {
                            UFO ufo = (UFO) ufoV.elementAt(j);
                            if (ufo.isAlive()) {
                                if (miss.isOver(ufo)) {
                                    score = score + D_SCORE;
                                    ufo.setAlive(false);
                                    ufoV.removeElement(ufo);
                                    mymissV.removeElement(miss);
                                    break;
                                }
                            }
                        }

                    } else if (miss.isAlive() &&
                               miss.getY() + miss.getHeight() < 0) {

                        if (miss.getY() + miss.getHeight() < 0) {
                            mymissV.removeElement(miss);
                        }
                    }
                }

                for (int i = 0; i < ufoV.size(); i++) { //處理UFO
                    UFO ufo = (UFO) ufoV.elementAt(i);
                    if (ufo.isAlive()) {
                        if (ufo.getX() + ufo.getWidth() > 0 &&
                            ufo.getX() < this.getWidth()) {
                            ufo.doMove();
                        } else {
                            ufo.setHit(true);
                            ufo.setAlive(false);
                            ufoV.removeElement(ufo);
                            break;
                        }
                    }

                    if (isCenter(ufo) && ufo.isAlive()) { //如果處于最佳攻擊位置則發射子彈
                        for (int j = 0; j < ufomiss.length; j++) { //激活子彈
                            if (!ufomiss[j].isAlive) {
                                ufomiss[j].setX(ufo.getX() + ufo.getWidth() / 2);
                                ufomiss[j].setY(ufo.getY());
                                ufomiss[j].setAlive(true);
                                break;
                            }
                        }
                    }

                }

                temp = rnd.nextInt(30);
                speed = rnd.nextInt(5);

                for (int i = 0; i < ufomiss.length; i++) {
                    if (ufomiss[i].getY() > this.getHeight() - 10) {
                        ufomiss[i].setAlive(false);
                        ufomiss[i].setHit(false);
                    }
                    if (ufomiss[i].isAlive()) {
                        ufomiss[i].doMove();
                    }
                    if (ufomiss[i].isOver(myship) && ufomiss[i].isAlive()) {
                        alive = alive - DEF_A;
                        ufomiss[i].setAlive(false);

                        break;
                    }
                }
                if (mymissV.size() < 5) {
                    mymissV.addElement(new MyMiss(myship.getX() +
                                                  myship.getWidth() / 2 - 2,
                                                  myship.getY() - 6, true));
                }
                if (ufoV.size() < 5) {
                    addUFO(); //加入敵機
                }
                try {
                    Thread.sleep(40);
                } catch (Exception e) {}
                repaint();
            }
            break;
        case GAME_END:
            repaint();
            try {
                thread = null;
                Thread.sleep(5000);

            } catch (Exception e) {}
            break
                    ;

        }
    }

    boolean isCenter(UFO ufo) { //判定敵機是否處于最佳攻擊位置
        if (ufo.getX() + ufo.getWidth() / 2 >= myship.getX() - ufo.getWidth() &&
            ufo.getX() + ufo.getWidth() <=
            myship.getX() + myship.getWidth() * 2
                ) {
            return true;
        }
        return false;
    }
}


class PlayTask extends TimerTask {
    Player p;
//    MainCanvas my;
//    public PlayTask(MainCanvas my) {
//        this.my = my;
//    }

    public void run() {
        try {
            InputStream is = getClass().getResourceAsStream(
                    "/music/tightspot.mid");
            p = Manager.createPlayer(is, "audio/midi");
            p.realize();
            p.start();
        } catch (Exception e) {}
    }
}


class Task extends TimerTask { //模擬連續按鍵
    MainCanvas my;
    public Task(MainCanvas my) {
        this.my = my;
    }

    public void run() {
        while (true) {
            while (my.keyEvent) {
                try {
                    my.keyR();
                    Thread.sleep(40);
                } catch (Exception e) {}
                my.repaint();
            }
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99在线热播精品免费| 久久精品男人天堂av| 91婷婷韩国欧美一区二区| 国产成人免费高清| 成人黄色小视频在线观看| 国产夫妻精品视频| 国产精品1区二区.| 国产白丝网站精品污在线入口| 狠狠色综合播放一区二区| 狠狠色伊人亚洲综合成人| 国产精品一二二区| 成人在线视频一区| 99久久精品国产网站| 91香蕉视频黄| 欧美日韩一区在线观看| 欧美久久免费观看| 欧美一区二区久久久| 日韩精品一区二区三区swag| 欧美不卡在线视频| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品美女久久久久久久| 亚洲欧洲av色图| av在线这里只有精品| av在线一区二区三区| 在线观看国产精品网站| 欧美丰满高潮xxxx喷水动漫| 日韩一区二区免费电影| 久久久国产一区二区三区四区小说 | 欧美写真视频网站| 欧美久久高跟鞋激| 久久午夜国产精品| 亚洲日本青草视频在线怡红院| 一区二区三区日韩欧美| 日本不卡视频在线观看| 国产精品一区二区不卡| 97久久超碰国产精品| 欧美妇女性影城| 国产日韩欧美一区二区三区乱码| 中文字幕一区二区在线播放| 亚洲国产精品久久艾草纯爱| 精品亚洲国产成人av制服丝袜| 国产成人在线网站| 欧美一a一片一级一片| 欧美xxxxxxxxx| 中文字幕在线播放不卡一区| 日韩成人精品视频| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美午夜精品久久久| 欧美电影精品一区二区| 国产精品超碰97尤物18| 天天免费综合色| 大尺度一区二区| 欧美女孩性生活视频| 久久久电影一区二区三区| 一区二区国产视频| 国产福利一区二区| 777欧美精品| 中文字幕制服丝袜一区二区三区| 日韩国产在线一| 成人黄色a**站在线观看| 欧美精品丝袜中出| 中文字幕中文乱码欧美一区二区| 美腿丝袜亚洲三区| 91天堂素人约啪| 欧美精品一区二区三区蜜桃| 亚洲成人你懂的| 91小视频免费观看| 麻豆91免费看| 91在线播放网址| 久久亚洲捆绑美女| 午夜电影一区二区三区| 成人免费视频视频在线观看免费| 91精品国产综合久久香蕉的特点 | 国产精品网站在线播放| 全国精品久久少妇| 99re这里只有精品视频首页| 久久精品综合网| 久久成人久久鬼色| 欧美日韩的一区二区| 亚洲欧美另类久久久精品2019| 国产精品自拍三区| 日韩欧美国产一区在线观看| 亚洲二区在线观看| 色婷婷精品大在线视频| 国产精品美女久久久久av爽李琼| 开心九九激情九九欧美日韩精美视频电影 | 国产精品乱码一区二三区小蝌蚪| 久久精品国产亚洲a| 欧美精品乱码久久久久久按摩| 国产精品久久久99| 国产91丝袜在线播放| 欧美精品一区二区高清在线观看| 午夜电影一区二区| 欧美高清视频在线高清观看mv色露露十八 | 日韩欧美一区电影| 日韩二区三区四区| 91精品国产黑色紧身裤美女| 亚洲国产中文字幕| 欧美日韩视频不卡| 亚洲国产日韩a在线播放| 色婷婷久久久久swag精品| 亚洲激情成人在线| 一本到不卡免费一区二区| 中文字幕一区二区三区色视频| 成人精品在线视频观看| 国产精品拍天天在线| 91小视频在线免费看| 一级特黄大欧美久久久| 欧洲精品在线观看| 午夜精品久久久久久久99水蜜桃| 欧美日韩在线三区| 青青青伊人色综合久久| 日韩三级免费观看| 国产一区二区中文字幕| 26uuu国产电影一区二区| 国产综合成人久久大片91| 国产亚洲综合性久久久影院| 风间由美一区二区av101| 国产精品成人免费在线| 欧美性大战久久久久久久 | 91高清视频免费看| 亚洲一区二区三区四区在线免费观看 | 国产精品一区二区视频| 中文字幕国产一区| 91免费观看视频在线| 亚洲精品水蜜桃| 91麻豆精品国产91| 国产一区二区三区蝌蚪| 国产精品欧美一区二区三区| 91福利资源站| 久久国产精品第一页| 久久久国际精品| 91成人在线免费观看| 男女男精品网站| 日本一区二区三区高清不卡| 91亚洲国产成人精品一区二区三 | 99视频国产精品| 丝袜美腿一区二区三区| 2014亚洲片线观看视频免费| 成人免费的视频| 性做久久久久久久久| 精品国产青草久久久久福利| 北条麻妃一区二区三区| 视频一区视频二区中文字幕| 久久久精品国产99久久精品芒果| 色妞www精品视频| 蜜芽一区二区三区| 日韩毛片视频在线看| 欧美人妖巨大在线| 国产69精品久久久久毛片| 一片黄亚洲嫩模| 久久人人爽人人爽| 欧美日韩激情一区二区三区| 国产精品白丝jk白祙喷水网站| 亚洲精品成a人| 久久久久久久网| 欧美老年两性高潮| 成人午夜又粗又硬又大| 日本vs亚洲vs韩国一区三区| 国产精品国产三级国产aⅴ入口 | 在线观看日韩精品| 极品少妇xxxx精品少妇偷拍| 一区二区三区在线看| 久久久亚洲精华液精华液精华液| 在线区一区二视频| 国产精品1区2区| 日韩精品1区2区3区| 亚洲四区在线观看| 精品国产人成亚洲区| 欧美群妇大交群中文字幕| 成人av资源站| 狠狠色2019综合网| 丝袜美腿亚洲一区| 一级做a爱片久久| 亚洲欧洲美洲综合色网| 久久久久国产精品厨房| 欧美一区午夜精品| 日本丰满少妇一区二区三区| 国产福利91精品一区| 久久99久久99精品免视看婷婷| 亚洲资源中文字幕| 中文字幕一区二区三区不卡在线 | 欧美日韩dvd在线观看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 一区二区三区在线免费视频| 中文字幕精品在线不卡| 久久一区二区视频| 日韩一区二区在线观看视频| 欧美精品在线观看播放| 欧美亚洲高清一区二区三区不卡| 成+人+亚洲+综合天堂| 国产二区国产一区在线观看| 久久av老司机精品网站导航| 日韩精品色哟哟| 日日夜夜精品视频免费| 亚洲一区二区视频在线观看| 伊人色综合久久天天人手人婷| 亚洲视频在线一区| 亚洲免费观看视频| 亚洲精品日韩一|