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

📄 multioutput.java

📁 J2me游戏代码 J2me游戏代码 J2me游戏代码 J2me游戏代码
💻 JAVA
字号:
// FrontEnd Plus GUI for JAD
// DeCompiled : MultiOutPut.class
package game;

import java.io.*;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.media.*;

public class MultiOutPut
{

    static final int MAXNOFMIDIWAVES = 6;
    static final int MAXNOFTRADS = 52;
    int SCREENHEIGHT;
    int SCREENWIDTH;
    int _curMusic;
    int iCharSizeX;
    int iCharSizeY;
    int iCharSpacingX;
    int iCharSpacingY;
    int iDrawCharDeltaSizeX;
    int iDrawCharDeltaSizeY;
    int iNofTrads;
    int iSpaceSize;
    int iTradSize[];
    Image imFont;
    InputStream in[];
    static final String sGfx = "/gfx/";
    static String sLanguage = null;
    String sName;
    public String sTrad[];
    Player sp[];

    public MultiOutPut(int i, int j, int k, int l, int i1)
    {
        iDrawCharDeltaSizeX = 0;
        iDrawCharDeltaSizeY = 0;
        iSpaceSize = 0;
        iNofTrads = 0;
        imFont = null;
        in = null;
        sp = null;
        _curMusic = -1;
        SCREENWIDTH = i;
        SCREENHEIGHT = j;
        iDrawCharDeltaSizeX = l;
        sTrad = new String[52];
        iTradSize = new int[52];
        if(i1 == 0)
            sLanguage = "fr";
        else
        if(i1 == 1)
            sLanguage = "de";
        else
        if(i1 == 2)
            sLanguage = "en";
        else
        if(i1 == 3)
            sLanguage = "es";
        else
        if(i1 == 4)
            sLanguage = "it";
        else
        if(i1 == 5)
            sLanguage = "pt";
        else
            sLanguage = "en";
        try
        {
            imFont = Image.createImage("/gfx/RegularFont" + k + ".png");
        }
        catch(IOException ioexception)
        {
            System.out.println("Didnt find the font file RegularFont" + k + ".png)");
        }
        iCharSizeX = imFont.getWidth() / 13;
        iCharSizeY = imFont.getHeight() / 6;
        iCharSpacingX = iCharSizeX + iDrawCharDeltaSizeX;
        iCharSpacingY = iCharSizeY + iDrawCharDeltaSizeY;
        iSpaceSize = iCharSpacingX / 2 + 1;
        loadTrad();
        boolean flag = false;
        for(int j1 = 0; j1 < iNofTrads; j1++)
        {
            iTradSize[j1] = 0;
            for(int k1 = 0; k1 < sTrad[j1].length(); k1++)
            {
                flag = false;
                if(sTrad[j1].charAt(k1) == ' ')
                {
                    iTradSize[j1] += iSpaceSize;
                } else
                {
                    flag = true;
                    iTradSize[j1] += iCharSpacingX;
                }
            }

            if(flag)
                iTradSize[j1] -= iDrawCharDeltaSizeX;
        }

        sp = new Player[6];
        in = new InputStream[6];
        System.gc();
    }

    boolean bFileExists(String s)
    {
        InputStream inputstream = getClass().getResourceAsStream(s);
        if(inputstream == null)
        {
            return false;
        } else
        {
            Object obj = null;
            return true;
        }
    }

    void cheatPrint(Graphics g, int i, int j, String s)
    {
        print(g, i, j, s);
    }

    void freeMusic()
    {
        for(byte byte0 = 0; byte0 < 6; byte0++)
            sp[byte0] = null;

        System.gc();
    }

    void loadMidiWaveFile(String s, boolean flag, boolean flag1, int i)
    {
        try
        {
            in[i] = getClass().getResourceAsStream(s);
            if(flag)
                sp[i] = Manager.createPlayer(in[i], "audio/midi");
            else
                sp[i] = Manager.createPlayer(in[i], "audio/midi");
            sp[i].realize();
            if(flag1)
                sp[i].setLoopCount(-1);
            else
                sp[i].setLoopCount(1);
            sp[i].prefetch();
        }
        catch(MediaException mediaexception) { }
        catch(IOException ioexception) { }
    }

    boolean loadTrad()
    {
        int j = sLanguage.length();
        byte abyte0[] = new byte[1];
        byte abyte1[] = sLanguage.getBytes();
        iNofTrads = 0;
        InputStream inputstream = getClass().getResourceAsStream("/level/trad.txt");
        boolean flag = false;
        try
        {
            while(!flag) 
            {
                inputstream.read(abyte0);
                if(abyte0[0] == 91)
                {
                    flag = true;
                    for(int i = 0; i < j; i++)
                    {
                        inputstream.read(abyte0);
                        if(abyte0[0] != abyte1[i])
                        {
                            i = j;
                            flag = false;
                        }
                    }

                    while(abyte0[0] != 93) 
                        inputstream.read(abyte0);
                }
            }
            String s = "";
            StringBuffer stringbuffer = new StringBuffer();
            inputstream.read(abyte0);
            inputstream.read(abyte0);
            while(abyte0[0] != 91) 
            {
                inputstream.read(abyte0);
                if(abyte0[0] == 13)
                {
                    inputstream.read(abyte0);
                    inputstream.read(abyte0);
                    sTrad[iNofTrads] = s;
                    s = "";
                    iNofTrads++;
                }
                if(abyte0[0] != 91)
                    s = s + (char)abyte0[0];
            }
        }
        catch(IOException ioexception)
        {
            System.out.println("ERROR: chargement trad.txt");
            return false;
        }
        return true;
    }

    public void print(Graphics g, int i, int j, int k, int l)
    {
        int i1 = 0;
        int j1 = 0;
        Graphics _tmp = g;
        if((l & 8) != 0)
            i1 = SCREENWIDTH - iTradSize[k];
        Graphics _tmp1 = g;
        if((l & 0x20) != 0)
            j1 = SCREENHEIGHT - iCharSizeY;
        Graphics _tmp2 = g;
        if((l & 2) != 0)
            i1 = SCREENWIDTH - iTradSize[k] >> 1;
        Graphics _tmp3 = g;
        if((l & 1) != 0)
            j1 = SCREENHEIGHT - iCharSizeY >> 1;
        print(g, i1 + i, j1 + j, k);
    }

    public void print(Graphics g, int i, int j, int k)
    {
        print(g, i, j, sTrad[k]);
    }

    void print(Graphics g, int i, int j, String s)
    {
        int k = s.length();
        for(int l = 0; l < k; l++)
        {
            int i1 = s.charAt(l);
            boolean flag;
            if(i1 != 32)
                flag = false;
            else
                flag = true;
            int l1 = 0;
            if(i1 >= 97 && i1 <= 122)
            {
                if(i1 == 102 || i1 == 103 || i1 == 112 || i1 == 113 || i1 == 121)
                    l1 = 1;
                i1 -= 97;
            } else
            if(i1 == 35)
                i1 = 62;
            else
            if(i1 == 42)
                i1 = 63;
            else
            if(i1 == 63)
                i1 = 64;
            else
            if(i1 == 33)
                i1 = 65;
            else
            if(i1 == 46)
                i1 = 66;
            else
            if(i1 == 44)
                i1 = 67;
            else
            if(i1 == 58)
                i1 = 68;
            else
            if(i1 == 47)
                i1 = 69;
            else
            if(i1 == 45)
                i1 = 70;
            else
            if(i1 == 43)
                i1 = 71;
            else
            if(i1 == 40)
                i1 = 72;
            else
            if(i1 == 41)
                i1 = 73;
            else
            if(i1 == 61)
                i1 = 76;
            else
            if(i1 == 34)
                i1 = 77;
            else
            if(i1 >= 65 && i1 <= 90)
                i1 -= 39;
            else
            if(i1 >= 48 && i1 <= 57)
                i1 += 4;
            if(l1 > 0)
                j += 2;
            int j1 = (i1 % 13) * iCharSizeX;
            int k1 = (i1 / 13) * iCharSizeY;
            if(!flag)
            {
                g.setClip(i, j, iCharSizeX, iCharSizeY);
                g.drawImage(imFont, i - j1, j - k1, 0);
                i += iCharSpacingX;
            } else
            {
                i += iSpaceSize;
            }
            if(l1 > 0)
                j -= 2;
        }

    }

    public void printValue(Graphics g, int i, int j, int k, int l)
    {
        int i1 = 0;
        int j1 = 0;
        int k1 = k;
        int l1;
        for(l1 = iCharSizeX; k1 > 9; l1 += iCharSpacingX)
            k1 /= 10;

        Graphics _tmp = g;
        if((l & 8) != 0)
            i1 = SCREENWIDTH - l1;
        Graphics _tmp1 = g;
        if((l & 0x20) != 0)
            j1 = SCREENHEIGHT - iCharSizeY;
        Graphics _tmp2 = g;
        if((l & 2) != 0)
            i1 = SCREENWIDTH - l1 >> 1;
        Graphics _tmp3 = g;
        if((l & 1) != 0)
            j1 = SCREENHEIGHT - iCharSizeY >> 1;
        cheatPrint(g, i1 + i, j1 + j, "" + k);
    }

    public void printValue(Graphics g, int i, int j, int k)
    {
        print(g, i, j, "" + k);
    }

    void startMusic(int i)
    {
        _curMusic = i;
        try
        {
            sp[i].start();
        }
        catch(MediaException mediaexception) { }
    }

    void stopMusic(int i)
    {
        _curMusic = -1;
        try
        {
            if(sp[i] != null)
                sp[i].stop();
        }
        catch(MediaException mediaexception) { }
    }

}

⌨️ 快捷键说明

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