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

📄 gamecanvas.java

📁 j2me游戏都市骑士的代码,是一款横版格斗的游戏.可以学习参考.
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov  Date: 2005-11-26 11:41:10
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 

import java.io.IOException;
import java.io.PrintStream;
import java.util.Vector;
import javax.microedition.lcdui.*;

public class GameCanvas extends Canvas
{

    public GameCanvas(CityKnights cityknights)
    {
        cheatLevel = 0;
        page = -1;
        keyTemp = 0;
        loadCtr = 0;
        totalgameData = 7;
        timeCtr = 0;
        assignKey = false;
        waitforAssign = 0;
        cheat = "";
        loadCtr1 = 0;
        totalData = 2;
        cheatpos = 0;
        midlet = cityknights;
        WIDTH = getWidth();
        HEIGHT = getHeight();
        setFullScreenMode(true);
        fireKey = getKeyCode(8);
        leftKey = getKeyCode(2);
        rightKey = getKeyCode(5);
        upKey = getKeyCode(1);
        downKey = getKeyCode(6);
        Key1 = 49;
        Key2 = 50;
        Key3 = 51;
        Key4 = 52;
        Key5 = 53;
        Key6 = 54;
        Key7 = 55;
        Key8 = 56;
        Key9 = 57;
        Key0 = 48;
        KeyP = 35;
        KeyS = 42;
        strtScr = new startScreens(this);
        game = new Game(this);
        if(keySettings.getSettings("keyFire") == 8)
            if(getKeyCode(8) == -5)
                keySettings.setKeySettings("keyFire", -5);
            else
                keySettings.setKeySettings("keyFire", 20);
        if(keySettings.getSettings("keyLeft") == 2)
            if(getKeyCode(2) == -3)
                keySettings.setKeySettings("keyLeft", -3);
            else
                keySettings.setKeySettings("keyLeft", 2);
        if(keySettings.getSettings("keyRight") == 5)
            if(getKeyCode(5) == -4)
                keySettings.setKeySettings("keyRight", -4);
            else
                keySettings.setKeySettings("keyRight", 5);
        if(keySettings.getSettings("keyUp") == 1)
            if(getKeyCode(1) == -1)
                keySettings.setKeySettings("keyUp", -1);
            else
                keySettings.setKeySettings("keyUp", 1);
        if(keySettings.getSettings("keyDown") == 6)
            if(getKeyCode(6) == -2)
                keySettings.setKeySettings("keyDown", -2);
            else
                keySettings.setKeySettings("keyDown", 6);
        try
        {
            getKeys();
        }
        catch(Exception exception)
        {
            System.out.println("jkewhrkewjhr" + exception);
        }
        Gc = this;
    }

    public String getDescription(int i)
    {
        try
        {
            int j = Math.abs(i);
            if(i == 2 || i == -3)
                return Gc.strtScr.Translate("Left");
            if(i == 5 || i == -4)
                return Gc.strtScr.Translate("Right");
            if(i == 1 || i == -1)
                return Gc.strtScr.Translate("Up");
            if(i == 6 || i == -2)
                return Gc.strtScr.Translate("Down");
            if(i == 20 || i == -5)
                return strtScr.Translate("Fire");
            if(i == 49)
                return "1";
            if(i == 50)
                return "2";
            if(i == 51)
                return "3";
            if(i == 52)
                return "4";
            if(i == 53)
                return "5";
            if(i == 54)
                return "6";
            if(i == 55)
                return "7";
            if(i == 56)
                return "8";
            if(i == 57)
                return "9";
            if(i == 35)
                return "#";
            if(i == 42)
                return "*";
            if(i == 48 || i == Key0 || i == 48)
                return Gc.strtScr.Translate("Unassigned");
            if(i == 0)
                return Gc.strtScr.Translate("Unassigned");
            else
                return Gc.strtScr.Translate("Special Key") + " " + j;
        }
        catch(Exception exception)
        {
            System.out.println("asdgjh " + exception);
        }
        return "[ " + i + " ]";
    }

    public void getKeys()
    {
        keyLeft = keySettings.getSettings("keyLeft");
        keyRight = keySettings.getSettings("keyRight");
        keyFire = keySettings.getSettings("keyFire");
        keyUp = keySettings.getSettings("keyUp");
        keyDown = keySettings.getSettings("keyDown");
        keyWeapon = keySettings.getSettings("keyWeapon");
        keyKick = keySettings.getSettings("keyKick");
        keyBlock = keySettings.getSettings("keyBlock");
        if(keyWeapon == 0 && keyKick == 0 && keyBlock == 0)
        {
            keySettings.setKeySettings("keyWeapon", 57);
            keySettings.setKeySettings("keyKick", 49);
            keySettings.setKeySettings("keyBlock", 55);
            keyWeapon = 57;
            keyKick = 49;
            keyBlock = 55;
        }
    }

    public void setKeys()
    {
        keySettings.setKeySettings("keyLeft", keyLeft);
        keySettings.setKeySettings("keyRight", keyRight);
        keySettings.setKeySettings("keyFire", keyFire);
        keySettings.setKeySettings("keyUp", keyUp);
        keySettings.setKeySettings("keyDown", keyDown);
        keySettings.setKeySettings("keyWeapon", keyWeapon);
        keySettings.setKeySettings("keyKick", keyKick);
        keySettings.setKeySettings("keyBlock", keyBlock);
    }

    public void loadGamedata()
    {
        try
        {
            if(loadCtr == 0)
            {
                strtScr.title = Image.createImage("/title.png");
                if(strtScr.title != null)
                    loadCtr++;
            } else
            if(loadCtr == 1)
                loadCtr++;
            else
            if(loadCtr == 2)
            {
                game.playerIm = Image.createImage("/fight.png");
                if(game.playerIm != null)
                    loadCtr++;
            } else
            if(loadCtr == 3)
            {
                game.dieIm = Image.createImage("/die.png");
                if(game.dieIm != null)
                    loadCtr++;
            } else
            if(loadCtr == 4)
            {
                game.vanish = Image.createImage("/vanish.png");
                if(game.vanish != null)
                    loadCtr++;
            } else
            if(loadCtr == 5)
            {
                game.building = Image.createImage("/buiding1.png");
                game.fighterHit = Image.createImage("/bam.png");
                if(game.building != null && game.fighterHit != null)
                    loadCtr++;
            } else
            if(loadCtr == 6)
            {
                game.wall = Image.createImage("/wall.png");
                loadCtr++;
            }
            if(loadCtr >= totalgameData)
                page = 0;
        }
        catch(IOException ioexception)
        {
            System.out.println(ioexception + " ------- " + loadCtr);
        }
        catch(Exception exception)
        {
            System.out.println("here" + exception);
        }
    }

    public void loadLevelData()
    {
        try
        {
            if(loadCtr1 == 0)
                loadCtr1++;
            else
            if(loadCtr1 == 1)
            {
                if(game.axeIm != null)
                    game.axeIm = null;
                if(game.chainIm != null)
                    game.chainIm = null;
                if(game.weapon2 == 39)
                {
                    if(game.axeIm == null)
                    {
                        game.axeIm = Image.createImage("/axe-tile.png");
                        if(game.armsIm == null)
                            game.armsIm = Image.createImage("/weapons.png");
                    }
                } else
                if(game.weapon2 == 41 && game.chainIm == null)
                {
                    game.chainIm = Image.createImage("/chain-tile.png");
                    if(game.armsIm == null)
                        game.armsIm = Image.createImage("/weapons.png");
                }
                loadCtr1++;
            }
            if(loadCtr1 >= totalData)
                page = 10;
        }
        catch(Exception exception)
        {
            System.out.println("there =" + exception);
        }
    }

    public void paint(Graphics g)
    {
        try
        {
            System.gc();
            switch(page)
            {
            default:
                break;

            case -1: 
                loadGamedata();
                strtScr.showLoader(g);
                if(cheat.length() >= 1)
                    cheatLevel = Integer.parseInt(cheat.substring(0, 1));
                break;

            case 0: // '\0'
                if(strtScr.dblogo == null)
                {
                    page = 1;
                    break;
                }
                timeCtr++;
                if(timeCtr > 15)
                    page = 1;
                else
                    strtScr.showSplashScr(g);
                break;

            case 1: // '\001'
                if(game.isSoundOn)
                    game.mp.playMid();
                strtScr.showTitle(g);
                break;

            case 2: // '\002'
                if(strtScr.title != null)
                    strtScr.title = null;
                strtScr.logo = null;
                strtScr.dblogo = null;
                strtScr.showMenu(g);
                break;

            case 3: // '\003'
                strtScr.showAbout(g);
                break;

            case 4: // '\004'
                strtScr.showCredits(g);
                break;

            case 5: // '\005'
                strtScr.keyB = null;
                strtScr.showTopScores(g);
                break;

            case 10: // '\n'
                game.lightening = false;
                if(!game.GameOver)
                {
                    game.Draw(g);
                    break;
                }
                if(game.score == 0)
                {
                    page = 5;
                } else
                {
                    GameScore.openHighScores();
                    page = 100;
                }
                break;

            case 15: // '\017'
                strtScr.showGameOptionsMenu(g);
                break;

            case 16: // '\020'

⌨️ 快捷键说明

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