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

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

?? engine.java~46~

?? j2me源代碼
?? JAVA~46~
字號:
package pinball;import javax.microedition.lcdui.*;public class Engine implements Runnable {    public static final int PATTERN_WIDTH = 11;    public final static int TITLE = 0;    public final static int PLAY = 1;    public final static int OVER = 2;    public final static int DEMO = 3;    private Ball ball;        //彈球    private Brick board;     //可移動的板子    private BrickList bricks; //磚塊列表    private Screen screen;   //屏幕    private int nScore;       //得分    private int nHighScore;    //最高分    private int nLevel;       //游戲級別    private int nLives;       //生命數    private int nState;       //游戲狀態    private int nKey;         //按鍵    private int nTimeIntervel; //時間間隔    private boolean bPaused;   //是否暫停    private long nLastKey;  //最后一次按鍵的時間    private boolean bStarted;  //是否開始游戲    private boolean bDone;           //游戲是否結束    private static final int KEY_DELTA = 10000;     //無按鍵消息的時間間隔    private static final int STD = Brick.STANDARD;    private static final int FIX = Brick.FIXED;    private static final int SLI = Brick.SLIDE;    private static final int ZM = Brick.ZOMBIE;    private int[] title_pattern = {        STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,        FIX, FIX, FIX, FIX, FIX, STD, STD, STD, STD, STD, STD, STD, STD, STD,        STD, FIX, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, FIX, STD,        STD, STD, STD, STD, STD, STD, STD, STD, STD, FIX, STD, STD, STD, STD,        STD, STD, FIX, STD, STD, STD, FIX, STD, STD, STD, STD, STD, STD, STD,        FIX, FIX, FIX, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,        STD, STD, STD, STD,    };    private int[][] pattern_list = {         {            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,        }, {            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, ZM, SLI,            ZM, ZM, SLI, ZM, ZM, SLI, ZM, ZM, SLI, ZM, ZM, ZM, ZM,            ZM, ZM, ZM, ZM, ZM, ZM, ZM, SLI, ZM, ZM, SLI, ZM, ZM,            SLI, ZM, ZM, SLI, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM,            ZM, ZM, ZM, ZM, SLI, ZM, ZM, SLI, ZM, ZM, SLI, ZM, ZM,            SLI, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, SLI,            ZM, ZM, SLI, ZM, ZM, SLI, ZM, ZM, SLI, ZM,        }, {            ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, FIX,            SLI, FIX, FIX, FIX, FIX, FIX, SLI, FIX, ZM, ZM, FIX, ZM, ZM,            ZM, ZM, ZM, ZM, ZM, FIX, ZM, ZM, FIX, ZM, STD, STD, STD,            STD, STD, ZM, FIX, ZM, ZM, FIX, ZM, ZM, ZM, ZM, ZM, ZM,            ZM, FIX, ZM, ZM, FIX, FIX, FIX, FIX, FIX, FIX, FIX, FIX, FIX,            ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, ZM, STD,            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,        }, {            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, FIX,            FIX, FIX, FIX, FIX, FIX, FIX, FIX, FIX, STD, STD, FIX, STD, STD,            STD, STD, STD, STD, STD, FIX, STD, STD, STD, STD, STD, STD, STD,            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD, STD,            STD, STD, STD, STD, FIX, STD, STD, STD, STD, STD, STD, STD, FIX,            STD, STD, FIX, FIX, FIX, FIX, FIX, FIX, FIX, FIX, FIX, STD, STD,            STD, STD, STD, STD, STD, STD, STD, STD, STD, STD        }    };    public Engine(Screen screen) {        int i, n;        long then;        this.screen = screen;        //綁定屏幕顯示        screen.setEngine(this);        //創建滑板        board = new Brick(null, Screen.width / 2 - Brick.WIDTH / 2,                           Screen.VDIVIDER - Brick.HEIGHT - 4, -1, 2);        board.setColor(ThreeDColor.lightGray);        board.width = Screen.width / 8;        board.height = Brick.HEIGHT / 2;        ball = new Ball(Screen.width / 2 - Brick.WIDTH / 4,                        board.y - 2 * Ball.RADIUS,                        2 * Math.max(1, Screen.width / 80),                        2 * -Math.max(1, Screen.width / 80));        nLevel = 0;        nState = TITLE;        bDone = false;        bricks = new BrickList(title_pattern, PATTERN_WIDTH, -1);        nLastKey = System.currentTimeMillis();        then = System.currentTimeMillis();        n = 0;        for (i = 0; i < 30000; i++) {            n++;        }        if (n > 0) {            nTimeIntervel = (int) (System.currentTimeMillis() - then);        }        Thread runner = new Thread(this);        runner.start();    }    /**     * 重新開始游戲     */    private void reset() {        nLevel = 0;        nLives = 2;        nScore = 0;        startLevel();    }    /**     * 開始新的游戲級別     */    private void restartLevel() {        if (nState == PLAY) {            bPaused = true;        }        synchronized (this) {            bStarted = true;        }        board.moveTo(Screen.width / 2 - Brick.WIDTH / 2,                      Screen.VDIVIDER - Brick.HEIGHT - 4);        ball.moveTo(Screen.width / 2 - Brick.WIDTH / 4,                    board.y - 2 * Ball.RADIUS);        ball.setSteps(Math.max(1, Screen.width / 80),                      -Math.max(1, Screen.width / 80));        screen.repaint();        screen.serviceRepaints();    }    /**     * 開始新一關游戲     */    private void startLevel() {        bricks = new BrickList(pattern_list[nLevel], PATTERN_WIDTH, nLevel);        restartLevel();    }    /**     * 過關     */    private void nextLevel() {        nLevel++;        if (nLevel == pattern_list.length) {            nLevel = 0;        }        startLevel();    }    public void keyPressed(int key_code, int game_action) {        nKey = game_action;        nLastKey = System.currentTimeMillis();        if (key_code == Canvas.KEY_NUM0 || game_action == Canvas.GAME_A) {            nextLevel();            return;        }        if (nState == TITLE || nState == OVER || nState == DEMO) {            nState = PLAY;            reset();        } else if (nState == PLAY                   && (nKey == Canvas.LEFT || nKey == Canvas.RIGHT                       || nKey == Canvas.FIRE)) {            bPaused = false;        }    }    public void keyReleased(int key_code, int game_action) {        nKey = 0;    }    public void getState(EngineState engineState) {        engineState.bricks = bricks;        engineState.ball = ball;        engineState.board = board;        engineState.state = nState;        engineState.score = nScore;        engineState.highscore = nHighScore;        engineState.lives = nLives;    }    public synchronized boolean levelStarted() {        boolean x = bStarted;        bStarted = false;        return x;    }    public void stop() {        bDone = true;    }    public void run() {        boolean recent_collision;        long then;        int px, pw, delta;        int board_speed = 0;        recent_collision = false;        then = System.currentTimeMillis();        while (!bDone) {            if ((nState == TITLE || nState == OVER)                    && System.currentTimeMillis() - nLastKey                       > KEY_DELTA) {                nState = DEMO;                reset();            }            px = board.x;            pw = board.width;            if (nState == DEMO) {  //演示狀態                int ball_center = ball.x + Ball.RADIUS;                int board_center = px + Brick.WIDTH / 2;                int epsilon = pw / 4;                if (ball_center >= px + epsilon                        && ball_center <= px + pw - epsilon) {                    nKey = 0;                } else if (ball_center < board_center) {                    nKey = Canvas.LEFT;                } else {                    nKey = Canvas.RIGHT;                }            }            if ((nState == PLAY || nState == DEMO) &&!bPaused) {                if (nKey == Canvas.LEFT) {                    board_speed = Math.min(-1,                                            -Brick.STEP                                            / (nState == DEMO ? 3 : 1));                } else if (nKey == Canvas.RIGHT) {                    board_speed = Math.max(1,                                            Brick.STEP                                            / (nState == DEMO ? 3 : 1));                } else {                    board_speed = 0;                }                if (board_speed < 0 && px > 0                        || board_speed > 0 && px + pw < Screen.width) {                    board.moveBy(board_speed, 0);                }                ball.move();                if (ball.x <= 0 || ball.x >= Screen.width - ball.width - 1) {                    ball.bounceHorizontal();                }                if (ball.y <= 0) {                    ball.bounceVertical();                }                if (ball.intersects(board)) {                    if (!recent_collision) {                        ball.bounce(board);                    }                    recent_collision = true;                } else {                    recent_collision = false;                }                nScore += bricks.checkForCollision(ball);                if (nState == PLAY && nScore >= nHighScore) {                    nHighScore = nScore;                }                if (bricks.isClean()) {                    nextLevel();                }                if (ball.y >= board.y + board.height) {                    if (nState == PLAY) {                        nLives--;                    }                    if (nLives < 0) {                        nState = OVER;                        nLevel = 0;                    }                    restartLevel();                }            }            screen.repaint();            delta = (int) (System.currentTimeMillis() - then);            if (delta < 30 && nTimeIntervel < 100) {                try {                    Thread.sleep(30 - delta);                } catch (InterruptedException e) {}            }            then = System.currentTimeMillis();        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区在线不卡| 亚洲综合自拍偷拍| 精品亚洲porn| 久久久777精品电影网影网 | 国产日韩亚洲欧美综合| 国产精品99久久久久久似苏梦涵 | 精品福利一二区| 国产一区二区精品在线观看| 国产精品美女久久久久高潮| 色av成人天堂桃色av| 五月天久久比比资源色| 欧美一区二区三区影视| 国产精品亚洲第一| 亚洲精品国产无套在线观| 欧美另类videos死尸| 久88久久88久久久| 亚洲欧美在线视频| 欧美久久婷婷综合色| 精一区二区三区| 国产精品久久久久久久浪潮网站| 91在线观看下载| 五月天激情综合网| 久久精品网站免费观看| 91亚洲精品久久久蜜桃| 视频一区二区三区入口| 久久久久综合网| 在线一区二区观看| 久草热8精品视频在线观看| 亚洲综合免费观看高清在线观看| 欧美日韩你懂的| 狠狠色狠狠色综合系列| 亚洲欧美日韩国产成人精品影院| 欧美日韩一区二区欧美激情| 国产麻豆精品视频| 亚洲综合久久av| 国产女人18毛片水真多成人如厕 | av一本久道久久综合久久鬼色| 亚洲欧美日韩国产综合在线| 精品女同一区二区| 97aⅴ精品视频一二三区| 日本成人在线网站| 中文字幕日韩av资源站| 精品国产一区二区国模嫣然| 色婷婷久久久亚洲一区二区三区 | 一区二区三区视频在线观看| 日韩欧美国产一区二区三区| 不卡视频在线看| 激情综合一区二区三区| 亚洲精品国久久99热| 久久久99免费| 宅男在线国产精品| 色狠狠综合天天综合综合| 国产精品一区免费视频| 日本怡春院一区二区| 亚洲久草在线视频| 国产精品乱码一区二三区小蝌蚪| 日韩一区二区在线观看视频| 欧美亚洲精品一区| 色诱亚洲精品久久久久久| 成人黄色777网| 成人开心网精品视频| 国产一区二区三区精品欧美日韩一区二区三区 | 91免费在线视频观看| 精品一区二区三区影院在线午夜 | 国产做a爰片久久毛片| 首页亚洲欧美制服丝腿| 亚洲一区二区精品视频| 一区二区三区在线视频免费观看| 中文字幕不卡三区| 中文字幕乱码一区二区免费| 精品欧美乱码久久久久久| 日韩一二三区不卡| 日韩一区二区电影在线| 51午夜精品国产| 5566中文字幕一区二区电影| 欧美日韩成人一区| 欧美男女性生活在线直播观看| 欧美视频你懂的| 欧美久久久一区| 欧美老女人第四色| 日韩欧美色电影| 欧美成人综合网站| 精品精品欲导航| 2023国产精品视频| wwwwww.欧美系列| 国产清纯在线一区二区www| 亚洲日本va在线观看| 18欧美乱大交hd1984| 亚洲色图色小说| 亚洲一区二区精品视频| 日韩国产高清在线| 麻豆精品视频在线观看免费| 韩国精品主播一区二区在线观看| 国产精品99久久久久久有的能看| 成人国产精品免费观看动漫| 色婷婷久久综合| 91精品国产综合久久久蜜臀图片 | 中日韩av电影| 亚洲乱码国产乱码精品精的特点 | 51精品国自产在线| 久久蜜桃av一区精品变态类天堂| 欧美国产日韩一二三区| 夜色激情一区二区| 日本伊人午夜精品| 成人黄色小视频在线观看| 在线免费亚洲电影| 欧美成人一区二区三区| 日韩码欧中文字| 天堂久久一区二区三区| 国产成人av电影免费在线观看| 91麻豆免费在线观看| 欧美一区二区在线免费观看| 久久久亚洲精品石原莉奈 | 欧美日韩一级视频| 精品国产sm最大网站| 最新热久久免费视频| 秋霞国产午夜精品免费视频| 成人一级黄色片| 在线播放中文一区| 中文文精品字幕一区二区| 亚洲午夜影视影院在线观看| 国产精品一二三四五| 欧美午夜在线一二页| 国产午夜精品在线观看| 香蕉影视欧美成人| 99视频一区二区| 欧美成人精品1314www| 一区二区三区产品免费精品久久75| 麻豆国产精品视频| 欧美丝袜自拍制服另类| 国产精品久99| 狠狠色狠狠色综合| 91精品欧美综合在线观看最新| 国产精品美日韩| 久久99精品久久久久久| 欧美日韩在线三区| 综合欧美亚洲日本| 国产不卡在线视频| 2023国产精品| 麻豆91在线观看| 欧美日韩中字一区| 亚洲欧美一区二区三区久本道91| 国产麻豆视频精品| 精品国产一二三区| 日韩精彩视频在线观看| 欧美亚洲日本国产| 亚洲精品免费一二三区| 不卡欧美aaaaa| 国产婷婷色一区二区三区四区| 裸体一区二区三区| 欧美巨大另类极品videosbest| 综合色天天鬼久久鬼色| 国产91精品一区二区麻豆网站 | 色噜噜狠狠色综合中国| 国产色产综合色产在线视频| 免费在线一区观看| 日韩一区二区三区四区| 天天操天天色综合| 欧美日韩国产美女| 午夜精品福利在线| 欧美精品自拍偷拍| 天天操天天干天天综合网| 欧美人体做爰大胆视频| 亚洲成a人在线观看| 欧美日韩情趣电影| 香蕉成人伊视频在线观看| 欧美精品亚洲一区二区在线播放| 亚洲在线视频免费观看| 欧美影院午夜播放| 三级亚洲高清视频| 日韩一区二区三区高清免费看看| 婷婷综合在线观看| 欧美电影精品一区二区| 韩国av一区二区三区| 国产婷婷色一区二区三区四区| 懂色av一区二区夜夜嗨| 成人欧美一区二区三区黑人麻豆 | 日韩精品电影一区亚洲| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲制服丝袜av| 欧美精品一级二级三级| 免费成人在线影院| 久久午夜电影网| 成人avav影音| 午夜欧美电影在线观看| 欧美日本国产视频| 久久99国产精品久久99果冻传媒| 精品第一国产综合精品aⅴ| 国产二区国产一区在线观看| 中文字幕一区二区三区视频| 欧美亚洲动漫制服丝袜| 蜜臂av日日欢夜夜爽一区| 国产亚洲精品bt天堂精选| 色综合欧美在线| 奇米影视在线99精品| 国产午夜亚洲精品不卡| 欧美制服丝袜第一页| 激情综合色综合久久综合| 136国产福利精品导航| 91精品国产综合久久久久久漫画|