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

📄 gamecanvas.java

📁 GOGOGO游戏源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:


import com.nokia.mid.sound.Sound;
import com.nokia.mid.ui.*;
import java.io.*;
import java.util.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.RecordStore;



public class gamecanvas extends FullCanvas
{
    private Image offimage;
    private Graphics offscreenbuffer;
    DirectGraphics DGoffscreenbuffer;
    private Image tileimage;
    private Graphics tileimagebuffer;
    DirectGraphics DGtileimagebuffer;
    private Image bobgfx[];
    public int keypressed;
    public int game_keypressed;
    public int screenX;
    public int screenY;
    public main midlet;
    public String tunes[];
    public int red;
    public int green;
    public int blue;
    public int i;
    public int mode;
    public int textmode;
    public int waiter;
    public static RecordStore HighScore;
    public Timer animTimer;
    public int animperiod;
    public String playerName;
    public int score;
    public String soundopt;
    public String musicopt;
    public String levelopt;
    public int difficulty;
    public int optioncur;
    public int hy;
    public String highscoreplayers[];
    public int highscorepoints[];
    public int arrow_x;
    public char playerNamechars[];
    public int lives;
    public Random random;
    public int sprites[][];
    public int anzahlsprites;
    public int spritecount;
    private Image icons[];
    private Image loadicon;
    public int anzahl_icons;
    private Image loadfont;
    public int fontwidth;
    public int fontheight;
    public int playerXpos;
    public int playerYpos;
    public int player;
    public int playerdir;
    public int lastmm;
    public int playeranimdelay;
    public int logo;
    public int iecom;
    public int titel;
    public int door1;
    public int door2;
    public int explo;
    public int extra;
    public byte leveldata[];
    public byte leveldata2[];
    public byte maskdata[];
    public int levelbreite;
    public int levelhoehe;
    public int levelxpos;
    public int levelypos;
    public int lastlevelxpos;
    public int lastlevelypos;
    public int levelinfo[][];
    public int level;
    public byte MASK_PLAYER_RELEASE;
    public byte MASK_WALKWAY;
    public byte MASK_WALL;
    public byte MASK_LADDER;
    public byte MASK_PLAYERRELEASE;
    public byte MASK_VASE_START;
    public byte MASK_VASE_END;
    public byte MASK_FIRERELEASE;
    public byte MASK_FIREDIRCHANGE;
    public byte MASK_PLASMARELEASE;
    public byte MASK_GATE;
    public byte MASK_DEAD;
    public int skycolor;
    public int faderdir;
    public int faderypos;
    public int fading;
    public long startTime;
    public long endTime;
    public int gateblocks;
    public int titelscrolldir;
    public int titelwaiter;
    public int scrollX;
    public int scrollY;
    public int softxpos;
    public int softypos;
    public int jumpspeed;
    public int playerjumps;
    public int lastlevelnr;
    public int lastenemynr;
    public int keyuppressed;
    public int playerfalling;
    public int XposOffset;
    public int aufleiter;
    public int explowaiter;
    public int extrajumps;
    public int extrajumpspeed;
    public int extraypos;
    public byte keys;
    public int diamant;
    public int playerhit;
    public int playerhitdir;
    public int playerpower;
    public int playerflashing;
    public int playerlostlive;
    public int hitrotate;
    public int hitrotatedelay;
    public int lastplayerxpos;
    public int lastplayerypos;
    public int lastscrollx;
    public int lastscrolly;
    public int exploonly;
    public int firereleased;
    public int playerONlift;
    public int extralife;
    public int swordpower;
    public int energyfound;
    public int levelok;
    Sound sound;
    public int pause;

    public gamecanvas(main mymidlet)
    {
		//System.out.println("???????");
		/*for (int i=0;i<10 ;i++ )
		{
			if (true)
			{
				System.out.println("true");
				continue;
			}
			System.out.println("false");
		}*/
        screenX = 128;
        screenY = 128;
        mode = 0;
        textmode = 0;
        waiter = 0;
        animperiod = 25;
        playerName = "       ";
        score = 0;
        soundopt = "YES";
        musicopt = "YES";
        levelopt = "EASY";
        difficulty = 1;
        optioncur = 1;
        hy = 0;
        arrow_x = 0;
        lives = 3;
        anzahlsprites = 60;
        spritecount = 0;
        anzahl_icons = 0;
        fontwidth = 8;
        fontheight = 8;
        playerXpos = 0;
        playerYpos = 0;
        player = 0;
        playerdir = 0;
        lastmm = -1;
        playeranimdelay = 0;
        levelbreite = 0;
        levelhoehe = 0;
        levelxpos = 0;
        levelypos = 0;
        lastlevelxpos = -1;
        lastlevelypos = -1;
        level = 0;
        MASK_PLAYER_RELEASE = 84;
        MASK_WALKWAY = 82;
        MASK_WALL = 81;
        MASK_LADDER = 83;
        MASK_PLAYERRELEASE = 84;
        MASK_VASE_START = 85;
        MASK_VASE_END = 88;
        MASK_FIRERELEASE = 89;
        MASK_FIREDIRCHANGE = 90;
        MASK_PLASMARELEASE = 91;
        MASK_GATE = 98;
        MASK_DEAD = 96;
        skycolor = 0x234c64;
        faderdir = 0;
        faderypos = 0;
        fading = 0;
        gateblocks = 0;
        titelscrolldir = 0;
        titelwaiter = 0;
        scrollX = 0;
        scrollY = 0;
        softxpos = 0;
        softypos = 0;
        jumpspeed = 0;
        playerjumps = 0;
        lastlevelnr = -1;
        lastenemynr = -1;
        keyuppressed = 0;
        playerfalling = 0;
        XposOffset = 0;
        aufleiter = 0;
        explowaiter = 0;
        extrajumps = 0;
        extrajumpspeed = 0;
        extraypos = 0;
        keys = 0;
        diamant = 0;
        playerhit = 0;
        playerhitdir = 0;
        playerpower = 100;
        playerflashing = 0;
        playerlostlive = 0;
        hitrotate = 0;
        hitrotatedelay = 0;
        lastplayerxpos = 0;
        lastplayerypos = 0;
        lastscrollx = 0;
        lastscrolly = 0;
        exploonly = 0;
        firereleased = 0;
        playerONlift = 0;
        extralife = 0;
        swordpower = 0;
        energyfound = 0;
        levelok = 0;
        sound = null;
        pause = 0;
        midlet = mymidlet;
        InitSpriteMaster();//现在sprites为[60][10] 并且所有的[...][0]都是-1;
        InitGFX();//导入图片 确定显示范围并初始化了sprites的前5
        levelinfo = new int[9][3];
        levelinfo[0][0] = 101;
        levelinfo[0][1] = 1;
        levelinfo[0][2] = 0x384952;
        levelinfo[1][0] = 102;
        levelinfo[1][1] = 2;
        levelinfo[1][2] = 0x384952;
        levelinfo[2][0] = 103;
        levelinfo[2][1] = 1;
        levelinfo[2][2] = 0x384952;
        levelinfo[3][0] = 204;
        levelinfo[3][1] = 2;
        levelinfo[3][2] = 0x3c4d38;
        levelinfo[4][0] = 205;
        levelinfo[4][1] = 1;
        levelinfo[4][2] = 0x3c4d38;
        levelinfo[5][0] = 206;
        levelinfo[5][1] = 2;
        levelinfo[5][2] = 0x3c4d38;
        levelinfo[6][0] = 207;
        levelinfo[6][1] = 3;
        levelinfo[6][2] = 0x3c4d38;
        levelinfo[7][0] = 208;
        levelinfo[7][1] = 3;
        levelinfo[7][2] = 0x3c4d38;
        levelinfo[8][0] = 209;
        levelinfo[8][1] = 3;
        levelinfo[8][2] = 0;
        random = new Random();
        highscoreplayers = new String[6];
        highscorepoints = new int[6];
        playerNamechars = new char[7];
        InitScores();//初始化积分榜
        tunes = new String[5];
        tunes[0] = "024a3a400400a3144608370491611820dc124585204605205a06106e06205204e04584d84504504608370491611820dc124585204605205a06106a06205a05204d85184504504e846883343142cc493a11a20cd0c50b3124e846883343142cc308491811820d412460836c49461141148000";
        tunes[1] = "024a3a400400751c458558610690a22c49a6289b08b126986186106985584584d8558618690a228498420c30d30e20d30c312458558618698a22849a4289b08b126986186186906184584d85586986104d044000";
        tunes[2] = "024a3a4004000b2082d449388000";
        tunes[3] = "024a3a400400171c82342d4491a15a28b516468000";
        tunes[4] = "024a3a400400211e45a560618a22c22c22c49b816813820dc1245800";
        animTimer = new Timer();
		//System.out.println(animperiod);//25
        animTimer.schedule(new AnimationTask(this), 0L, animperiod);
    }

    protected void keyPressed(int keyCode)
    {
        game_keypressed = getGameAction(keyCode);
        keypressed = keyCode;
    }

    protected void keyReleased(int keyCode)
    {
        game_keypressed = 0;
        keypressed = 0;
    }

    public void DoAll()
    {
        startTime = System.currentTimeMillis();
		//textmode 10 
        switch(mode)
        {
        default:
            break;

        case 0: // '\0'
            waiter = 1;
            mode = 70;
            textmode = 71;
            red = 250;
            green = 250;
            blue = 250; 
			//不调用drawSprites() 因为sprites[][0]还都是-1
            break;

        case 70: // 'F'//画渐变效果
            if(red > 0)
            {
                red = red - 25;
                green = green - 25;
                blue = blue - 25;
		  //red = red - 5;
                //green = green - 5;
                //blue = blue - 5;

⌨️ 快捷键说明

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