⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamingcanvas.java

📁 一款修改过的手机贪食蛇游戏
💻 JAVA
字号:
/* * GamingCanvas.java * * Created on June 19, 2007, 1:02 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */package hello;import javax.microedition.lcdui.*;import javax.microedition.lcdui.game.*;import java.util.*;import java.io.*;import javax.microedition.media.*;import javax.microedition.media.control.*;/** * * @author jiabei */public class GamingCanvas extends GameCanvas implements Runnable {        private Map map;        private Display display;    private Canvas menuCanvas;               private long frameDelay;                private boolean sleeping;    int yPixels;    int xPixels;        /** Creates a new instance of GamingCanvas */    public GamingCanvas(Display display, Canvas menuCanvas, long frameDelay, int maxFruitNum, int victoryFruitNum, int width, int height, int snakeNum, Snake[] snake, boolean canCollide) {        super(true);        this.display = display;        this. menuCanvas  = menuCanvas;        this.frameDelay = frameDelay;        yPixels = this.getHeight() / height;        xPixels = this.getWidth() / width;        //System.out.println("" + this.getHeight() + "," + this.getWidth());        map = new Map(maxFruitNum, victoryFruitNum, xPixels * width, yPixels * height, width, height, snakeNum, snake, canCollide);            }        public void start() {        sleeping = false;        Thread t =  new Thread(this);        t.start();            }        public void stop() {        sleeping = true;        display.setCurrent(menuCanvas);    }        public void run() {        Graphics g = getGraphics();        while (!sleeping) {            update();            draw(g);            try {                Thread.sleep(frameDelay);                            } catch (InterruptedException e) {                        }        }    }        public void update() {        int keyState = getKeyStates();        //System.out.println(keyState);        int currentState = map.update(keyState);        if (map.isOver()) {            stop();        }    }        private void draw(Graphics g) {        Font font = Font.getDefaultFont();        g.setColor(255, 255, 255);        g.fillRect(0, 0, map.getPixelWidth(), map.getPixelHeight() + map.getSnakeNum() * font.getHeight());        g.setColor(100, 0, 0);        g.drawRect(0, 0, map.getPixelWidth(), map.getPixelHeight());        for (int i = 0; i < map.getSnakeNum(); i ++) {            map.getCurSnake(i).drawSnake(g, xPixels, yPixels, 1, font.getHeight() * i + map.getPixelHeight());        }        for (int i = 0; i < map.getFruitNum(); i ++) {            map.getFruit(i).drawFruit(g, xPixels, yPixels);        }        flushGraphics();    }           }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -