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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? wormpit.java

?? J2ME 用 worm game Java編程
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* * @(#)WormPit.java	1.4 03/08/10 * * Copyright (c) 2000-2003 Sun Microsystems, Inc. All rights reserved. * PROPRIETARY/CONFIDENTIAL * Use is subject to license terms *//* * WormPit.java * * Created on March 30, 2001, 16:15 * @version 1.4 */package example.wormgame;import java.lang.System;import java.lang.Runnable;import java.lang.InterruptedException;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import javax.microedition.lcdui.Font;import javax.microedition.lcdui.Canvas;import javax.microedition.lcdui.Graphics;import javax.microedition.rms.RecordStore;import javax.microedition.rms.RecordStoreException;import javax.microedition.media.Player;import javax.microedition.media.Manager;import javax.microedition.media.MediaException;import javax.microedition.media.control.ToneControl;/** * The WormPit contains a Worm and some WormFood. The Worm will * slither around the pit in search of WormFood. If the Worm eats * it will grow in length. The Worm will be killed if it attempts * to slither past the edge of the pit or if it eats itself. */public class WormPit extends Canvas implements Runnable {    /** Handle to target food. */    private WormFood myFood;    /** Handle to current worm object. */    private Worm     myWorm;    /** Flag to indicate when the game is finished. */    private boolean gameOver = false;    /** Flag to indicate if current game is paused. */    private boolean gamePaused = false;    /** Flag to indicate game is restarted. */    private boolean gameRestart = false;    /** Flag to indicate forced repaint is needed. */    private boolean forceRedraw = true;    /** Flag to indicate the game is to be completely destroyed. */    private boolean gameDestroyed = false;    /** Current game score. */    private int score = 0;    /** Current game level. */    private int level = 5;    /** Number of pieces of food eaten since the last level change. */    private int foodEaten = 0;    /** Current screen width in pixels. */    private int width;    /** Current screen height in pixels. */    private int height;    /** Audio player for background tune. */    private Player audioPlayer;    /** Tone player. */    private Player tonePlayer;    /** Current screen size in cells. */    static int CellWidth;    /** Current screen height in cells. */    static int CellHeight;    /** Initial offset for screen rendering. */    private static final int START_POS = 3;    /** Font height for rendering the score message. */    private static final int SCORE_CHAR_HEIGHT;    /** Font width for rendering the score message. */    private static final int SCORE_CHAR_WIDTH;    /** Height for two lines of score message text. */    private static final int SCORE_HEIGHT;    /** Default delay between worm repaints. (400 milliseconds) */    private static final int DEFAULT_WAIT = 400;    /** Maximum number of difficulty levels. (10) */    static final byte MAX_LEVELS = 10;    /** Color for target food object. (0x00ff00) */    static final int FOOD_COLOUR  = 0x0000ff00;    /** Color for text objects. (0xff0000) */    static final int TEXT_COLOUR  = 0x00ff0000;    /** Color for erasing worm cells. (0xffffff) */    static final int ERASE_COLOUR = 0x00ffffff;    /** Color for drawing worm cells. (0x000000) */    static final int DRAW_COLOUR  = 0x00000000;    /** Size of a cell for worm rendering. */    public  static final int CELL_SIZE = 5;    static {    Font defaultFont  = Font.getDefaultFont();    SCORE_CHAR_WIDTH  = defaultFont.charWidth('S');    SCORE_CHAR_HEIGHT = defaultFont.getHeight();    SCORE_HEIGHT      = SCORE_CHAR_HEIGHT * 2;    }    /**     * Default constructor for worm pit.     * Initialized the food and worm objects.     */    public WormPit() {    width  = round(getWidth());    height = round(getHeight()-SCORE_HEIGHT);    WormPit.CellWidth  = (width-(START_POS*2)) / WormPit.CELL_SIZE;    WormPit.CellHeight = (height-(START_POS*2)) / WormPit.CELL_SIZE;    myWorm = new Worm(this);    /* Generate food for worm to eat */    myFood  = new WormFood(this);    int x = myFood.getX();    int y = myFood.getY();    while (myWorm.contains(x, y)) {        myFood.regenerate();        // regenerate if food placed under worm        x = myFood.getX();  y = myFood.getY();    }    }    /**     * Round the given value to next lowest number divisible by the     * cell size.     * @param val number to be rounded down     * @return rounded down value     */    private int round(int val) {    int delta = (val-(START_POS*2)) % CELL_SIZE;    return (val - delta);    }    /**     * Set the difficulty level. If the new level is different from the     * current level, any game currently in progress is terminated and     * the score is lost.     * @param level value of new level requested     * @see #getLevel     */    public void setLevel(int level) {    if (this.level != level) {        this.level = level;        gameOver = true;        gamePaused = false;        foodEaten = 0;        score = 0;    }    }    /**     * Get the difficulty level.     * @return current game level     * @see #setLevel     */    public int getLevel() {    return level;    }    /**     * Get the score of this game.     * @return current score     */    public int getScore() {    return score;    }    /**     * Returns true if the given point is within the bounds of the     * worm pit.     * @param x x coordinate of point to check (0 - CellWidth)     * @param y y coordinate of point to check (0 - CellHeight)     * @return true, if coordinate is in the worm pit     */    static boolean isInBounds(int x, int y) {    if ((x < 0) || (x >= WormPit.CellWidth)) {        return false;    }    if ((y < 0) || (y >= WormPit.CellHeight)) {        return false;    }    return true;    }    /**     * Restart the game.     */    void restart() {        if (gamePaused) {        gamePaused = false;        } else {        myWorm.regenerate();        myFood.regenerate();                int x = myFood.getX();                int y = myFood.getY();                while (myWorm.contains(x, y)) {                    myFood.regenerate(); // regenerate if food placed under worm                    x = myFood.getX();                    y = myFood.getY();                }        foodEaten = 0;        score = 0;        gameOver = false;        if ((audioPlayer != null) &&            (audioPlayer.getState() == Player.PREFETCHED)) {            try {            audioPlayer.setMediaTime(0);            audioPlayer.start();            } catch (MediaException me) { }        }        }        forceRedraw = true;        synchronized (myWorm) {        myWorm.notifyAll();        }    }    /**     * Handle keyboard input. This is used for worm movement.     * @param keyCode pressed key is either Canvas arrow key (UP,     *  DOWN, LEFT, RIGHT) or simulated with KEY_NUM (2, 8, 4,6).     */    public void keyPressed(int keyCode) {    switch (getGameAction(keyCode)) {    case Canvas.UP:        myWorm.setDirection(Worm.UP);        break;    case Canvas.DOWN:        myWorm.setDirection(Worm.DOWN);        break;    case Canvas.LEFT:        myWorm.setDirection(Worm.LEFT);        break;    case Canvas.RIGHT:        myWorm.setDirection(Worm.RIGHT);        break;    case 0:        // There is no game action.. Use keypad constants instead        switch (keyCode) {        case Canvas.KEY_NUM2:        myWorm.setDirection(Worm.UP);        break;        case Canvas.KEY_NUM8:        myWorm.setDirection(Worm.DOWN);        break;        case Canvas.KEY_NUM4:        myWorm.setDirection(Worm.LEFT);        break;        case Canvas.KEY_NUM6:        myWorm.setDirection(Worm.RIGHT);        break;        }        break;    }    }    /**     * Paint anything currently in the pit.     * Overrides Canvas.paint.     * @param g graphics object to be rendered     */    private void paintPitContents(Graphics g) {    try {        myWorm.update(g);    // update worm position        if (myFood.isAt(myWorm.getX(), myWorm.getY())) {        myWorm.eat();        score += level;        foodEaten++;        if (foodEaten > (level << 1)) {            /* Increase difficulty level */            forceRedraw = true;            foodEaten = 0;            level++;                    /*                     * End of game - no more levels.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产wwwccc36天堂| 黄网站免费久久| 欧美zozo另类异族| 91视频.com| 九九国产精品视频| 亚洲v精品v日韩v欧美v专区| 中文一区二区完整视频在线观看| 欧美日韩久久一区| 91麻豆国产在线观看| 国产一区不卡精品| 蜜桃视频在线一区| 午夜电影一区二区| 亚洲综合在线观看视频| 欧美经典一区二区| 久久人人超碰精品| 日韩三级伦理片妻子的秘密按摩| 一本一本久久a久久精品综合麻豆| 国产一区二区伦理片| 美女国产一区二区| 日韩成人av影视| 五月婷婷激情综合网| 亚洲成人免费av| 亚洲一区二区三区在线| 亚洲激情欧美激情| 亚洲欧美偷拍另类a∨色屁股| 欧美国产激情一区二区三区蜜月| 精品第一国产综合精品aⅴ| 日韩欧美中文字幕制服| 欧美日韩高清一区二区| 欧美图区在线视频| 欧美午夜精品电影| 欧美亚洲免费在线一区| 在线亚洲一区观看| 欧美视频中文一区二区三区在线观看| 91免费国产在线观看| eeuss鲁片一区二区三区在线看| 国产精品一区免费在线观看| 精品一区二区在线看| 狠狠狠色丁香婷婷综合激情| 九色综合狠狠综合久久| 久久aⅴ国产欧美74aaa| 国产在线精品一区二区| 国产精品一级黄| 成人激情视频网站| 色香蕉久久蜜桃| 色噜噜偷拍精品综合在线| 在线观看日韩精品| 欧美一区二视频| 精品国产精品网麻豆系列| 久久久天堂av| 亚洲视频一二三| 亚洲综合久久久| 日韩高清不卡一区二区三区| 奇米888四色在线精品| 久久不见久久见中文字幕免费| 国产一区二区导航在线播放| 成人免费高清在线观看| 欧美曰成人黄网| 91.com视频| 久久九九99视频| 亚洲人123区| 免费成人在线网站| 国产91精品精华液一区二区三区 | 首页综合国产亚洲丝袜| 蜜桃一区二区三区在线| 懂色中文一区二区在线播放| 91在线观看下载| 欧美麻豆精品久久久久久| 久久综合五月天婷婷伊人| 国产精品亲子伦对白| 亚洲综合免费观看高清完整版| 日本aⅴ免费视频一区二区三区| 国产综合成人久久大片91| a4yy欧美一区二区三区| 91麻豆精品国产91久久久更新时间| 2014亚洲片线观看视频免费| 亚洲激情在线激情| 国内精品不卡在线| 在线观看免费亚洲| 26uuu国产日韩综合| 一区二区三区在线播放| 精品一区二区在线免费观看| 色综合久久久久综合| 日韩欧美精品在线视频| 日韩毛片一二三区| 精品在线观看免费| 欧美日韩中文精品| 欧美激情一区二区三区四区| 天天av天天翘天天综合网色鬼国产| 国产在线看一区| 欧美日韩精品一区视频| 国产精品乱人伦一区二区| 日本不卡高清视频| 91高清视频在线| 日本一二三四高清不卡| 六月婷婷色综合| 欧美日韩午夜在线| 国产精品福利一区二区| 国内一区二区在线| 欧美卡1卡2卡| 亚洲少妇30p| 成人性生交大合| 精品国产乱码久久| 日韩成人免费电影| 欧美天堂一区二区三区| 亚洲欧洲精品一区二区三区| 青娱乐精品视频| 欧美日本一区二区三区四区| 国产精品剧情在线亚洲| 狠狠色狠狠色综合系列| 91麻豆精品国产91久久久久久久久 | 国产麻豆欧美日韩一区| 欧美一区二区在线播放| 亚洲一区二区三区自拍| 91香蕉视频污在线| 久久九九99视频| 精品一区二区三区久久| 欧美精选一区二区| 午夜精品福利在线| 精品视频一区三区九区| 亚洲精品免费在线播放| 成人91在线观看| 国产精品嫩草影院com| 国产成人免费在线| 欧美精品一区二区三区很污很色的 | 亚洲精品中文字幕乱码三区| 丁香天五香天堂综合| 久久九九99视频| 国产真实乱偷精品视频免| 日韩精品一区二区三区视频播放| 日韩国产精品久久久| 欧美日韩大陆在线| 三级久久三级久久| 欧美理论电影在线| 首页国产欧美久久| 6080日韩午夜伦伦午夜伦| 日韩影院在线观看| 欧美一区二区三区婷婷月色 | 色丁香久综合在线久综合在线观看| 国产精品你懂的在线| 成人激情午夜影院| 最新日韩在线视频| 日本道免费精品一区二区三区| 亚洲美女屁股眼交| 欧美日韩和欧美的一区二区| 亚洲电影一级黄| 91精品国产综合久久久久久久| 青草国产精品久久久久久| 日韩精品一区二区三区视频在线观看 | 91在线视频播放地址| 亚洲人快播电影网| 欧美日韩一区在线| 精品一区二区综合| 国产精品欧美一级免费| 91同城在线观看| 丝袜美腿一区二区三区| 精品国产成人系列| av电影一区二区| 亚洲一二三区不卡| 精品久久久久久久人人人人传媒| 高潮精品一区videoshd| 亚洲色欲色欲www在线观看| 欧美日韩大陆在线| 国产福利一区二区三区视频在线| 日韩美女视频一区二区| 91精品国产黑色紧身裤美女| 国产在线精品一区二区夜色| 亚洲色图在线视频| 欧美一区二区免费观在线| 成人一区二区三区| 亚洲成人资源在线| 久久亚洲精品小早川怜子| 日本电影亚洲天堂一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品视频免费| 欧美综合欧美视频| 国产精品一级片在线观看| 亚洲一区在线观看免费观看电影高清| 精品动漫一区二区三区在线观看| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产呦萝稀缺另类资源| 一区二区三区四区国产精品| 欧美成人猛片aaaaaaa| 91国偷自产一区二区使用方法| 久久精品国产久精国产爱| 久久精品国产精品青草| 国产精品久久久久毛片软件| 91精品国产欧美一区二区| 99久久精品国产精品久久| 美女mm1313爽爽久久久蜜臀| 亚洲欧美激情小说另类| 久久人人超碰精品| 制服.丝袜.亚洲.另类.中文| 99精品视频在线观看免费| 狠狠色狠狠色综合系列| 五月开心婷婷久久| 亚洲精品高清视频在线观看| 2017欧美狠狠色| 欧美一区二区免费| 欧美乱妇一区二区三区不卡视频|