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

📄 maincanvas.java

📁 J2ME手机游戏蜀山剑侠传源代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                2
            }, {
                2, 3, 3
            }, {
                2, 7, 7
            }
        };
        int j1 = nIK;
        nIK = 0;
        if((j1 & 0x808000) != 0)
        {
            nGame_Flag |= 0x100;
            nGame_Timer[1] = 0;
            byCursor[0]--;
            if(byCursor[0] < 0)
                byCursor[0] = abyte1[nObj_X[0]][byCursor[1]];
        } else
        if((j1 & 0x10200000) != 0)
        {
            nGame_Flag |= 0x100;
            nGame_Timer[1] = 0;
            byCursor[0]++;
            if(byCursor[0] > abyte1[nObj_X[0]][byCursor[1]])
                byCursor[0] = 0;
        } else
        if((j1 & 0x1020000) != 0)
        {
            if(nObj_X[0] != 0)
            {
                nGame_Flag |= 0x100;
                nGame_Timer[1] = 0;
                byCursor[0] = 0;
                byCursor[1]--;
                if(byCursor[1] < 0)
                    byCursor[1] = 2;
            }
        } else
        if((j1 & 0x8080000) != 0)
        {
            if(nObj_X[0] != 0)
            {
                nGame_Flag |= 0x100;
                nGame_Timer[1] = 0;
                byCursor[0] = 0;
                byCursor[1]++;
                if(byCursor[1] > 2)
                    byCursor[1] = 0;
            }
        } else
        if((j1 & 0x40040000) != 0)
        {
            nGame_Flag |= 0x100;
            nGame_Timer[1] = 0;
            switch(nObj_X[0])
            {
            case 0: // '\0'
                switch(byCursor[0])
                {
                case 2: // '\002'
                    byGame_Chap[0] = 10;
                    byGame_Chap[1] = 2;
                    byGame_Chap[2] = 1;
                    nObj_Count[0] = 6;
                    break;

                default:
                    nObj_X[0] = (byte)(byCursor[0] + 1);
                    bySKey = 2;
                    byCursor[0] = 0;
                    break;
                }
                break;

            case 1: // '\001'
                if(byCursor[1] == 0)
                {
                    if(nMy_Yen - T_I_YEN[byCursor[0]] >= 0 && byMy_Item[byCursor[0]] - 99 < 0)
                    {
                        nGame_Timer[1] = 15;
                        nMy_Yen -= T_I_YEN[byCursor[0]];
                        byMy_Item[byCursor[0]]++;
                        boolean flag1 = false;
                        nObj_X[0] = 0;
                        byCursor[0] = 0;
                        byCursor[1] = 0;
                        bySKey = 1;
                    }
                } else
                if(nMy_Yen - T_W_YEN[byCursor[1] - 1][byCursor[0]] >= 0 && byMy_Weapon[byCursor[1] - 1][byCursor[0]] - 99 < 0)
                {
                    nGame_Timer[1] = 15;
                    nMy_Yen -= T_W_YEN[byCursor[1] - 1][byCursor[0]];
                    byMy_Weapon[byCursor[1] - 1][byCursor[0]]++;
                    boolean flag2 = false;
                    nObj_X[0] = 0;
                    byCursor[0] = 0;
                    byCursor[1] = 0;
                    bySKey = 1;
                }
                break;

            case 2: // '\002'
                if(byCursor[1] == 0)
                {
                    if(byMy_Item[byCursor[0]] > 0)
                    {
                        nGame_Timer[1] = 31;
                        nMy_Yen += T_I_YEN[byCursor[0]] >> 1;
                        byMy_Item[byCursor[0]]--;
                        boolean flag3 = true;
                        nObj_X[0] = 0;
                        byCursor[0] = 0;
                        byCursor[1] = 0;
                        bySKey = 1;
                    }
                } else
                if(byMy_Weapon[byCursor[1] - 1][byCursor[0]] > 0 && (byMy_Weapon[byCursor[1] - 1][byCursor[0]] - 1 != 0 || byMy_EW[byCursor[1] - 1] - byCursor[0] != 0))
                {
                    nGame_Timer[1] = 31;
                    nMy_Yen += T_W_YEN[byCursor[1] - 1][byCursor[0]] >> 1;
                    byMy_Weapon[byCursor[1] - 1][byCursor[0]]--;
                    boolean flag4 = true;
                    nObj_X[0] = 0;
                    byCursor[0] = 0;
                    byCursor[1] = 0;
                    bySKey = 1;
                }
                break;
            }
        } else
        if((j1 & 0x100) != 0)
        {
            nGame_Flag |= 0x100;
            nObj_X[0] = 0;
            byCursor[0] = 0;
            byCursor[1] = 0;
            bySKey = 1;
        }
        if(nMy_Yen - 0xf423f > 0)
            nMy_Yen = 0xf423f;
        if((nGame_Flag & 0x100) != 0)
        {
            SColor(0, 0, 0);
            FRect(byDraw_Zero_X, byDraw_Zero_Y, 112, 96);
            offGfx.drawImage(Img_TB[2], 0, 0, 0);
            img_nodraw = true;
            SColor(0, 0, 192);
            FRect(byDraw_Zero_X, byDraw_Zero_Y, 112, 16);
            SColor(32, 0, 128);
            FRect(32 + byDraw_Zero_X, 16 + byDraw_Zero_Y, 80, 16);
            SColor(255, 255, 255);
            DStr("\u91D1\u5E01 " + nMy_Yen, 32 + byDraw_Zero_X, 16 + byDraw_Zero_Y, 0);
            if(nObj_X[0] == 0)
            {
                SColor(32, 0, 128);
                FRect(byDraw_Zero_X, 16 + byDraw_Zero_Y, 32, 48);
                SColor(255, 160, 0);
                FRect(byDraw_Zero_X, (byCursor[0] << 4) + 16 + byDraw_Zero_Y, 32, 16);
                SColor(255, 255, 255);
                DChars(T_MES[0][2][byCursor[0]], 0, T_MES[0][2][byCursor[0]].length, byDraw_Zero_X, byDraw_Zero_Y, 0);
                for(int i = 2; i >= 0; i--)
                    DChars(T_MES[1][2][i], 0, T_MES[1][2][i].length, byDraw_Zero_X + 10, 16 + (i << 4) + byDraw_Zero_Y, 0);

            } else
            {
                if(nObj_Y[0] - byCursor[0] > 0)
                    nObj_Y[0] = byCursor[0];
                else
                if((nObj_Y[0] + 2) - byCursor[0] < 0)
                    nObj_Y[0] = byCursor[0] - 2;
                SColor(T_WIN_C[abyte0[byCursor[1]]][0], T_WIN_C[abyte0[byCursor[1]]][1], T_WIN_C[abyte0[byCursor[1]]][2]);
                FRect(byDraw_Zero_X, 32 + byDraw_Zero_Y, 112, 48);
                SColor(255, 160, 0);
                FRect(byDraw_Zero_X, (byCursor[0] - nObj_Y[0] << 4) + 32 + byDraw_Zero_Y, 112, 16);
                SColor(255, 255, 255);
                if(byCursor[1] == 0)
                {
                    if(nObj_X[0] - 1 == 0)
                    {
                        DChars(T_SHM[2][0][byCursor[0]], 0, T_SHM[2][0][byCursor[0]].length, byDraw_Zero_X, byDraw_Zero_Y, 0);
                        for(int j = 2; j >= 0; j--)
                        {
                            DChars(T_SIM[2][0][j + nObj_Y[0]], 0, T_SIM[2][0][j + nObj_Y[0]].length, byDraw_Zero_X + 12, 32 + (j << 4) + byDraw_Zero_Y, 0);
                            DStr("" + T_I_YEN[j + nObj_Y[0]], 112 + byDraw_Zero_X, 32 + (j << 4) + byDraw_Zero_Y, 0x10 | 8);
                        }

                    } else
                    {
                        if(byMy_Item[byCursor[0]] > 0)
                            DChars(T_SHM[2][0][byCursor[0]], 0, T_SHM[2][0][byCursor[0]].length, byDraw_Zero_X, byDraw_Zero_Y, 0);
                        for(int k = 2; k >= 0; k--)
                            if(byMy_Item[k] > 0)
                            {
                                DChars(T_SIM[2][0][k + nObj_Y[0]], 0, T_SIM[2][0][k + nObj_Y[0]].length, byDraw_Zero_X + 12, 32 + (k << 4) + byDraw_Zero_Y, 0);
                                DStr("" + (T_I_YEN[k + nObj_Y[0]] >> 1), 112 + byDraw_Zero_X, 32 + (k << 4) + byDraw_Zero_Y, 0x10 | 8);
                            }

                    }
                } else
                {
                    FArc(-4 + byDraw_Zero_X, 18 + byDraw_Zero_Y, 24, 24, 60, 60);
                    FArc(12 + byDraw_Zero_X, 6 + byDraw_Zero_Y, 24, 24, 240, 60);
                    if(nObj_X[0] - 1 == 0)
                    {
                        DStr("\u653B\u51FB\u529B+" + T_W_AT[byCursor[1] - 1][byCursor[0]], byDraw_Zero_X, byDraw_Zero_Y, 0);
                        for(int l = 2; l >= 0; l--)
                        {
                            DChars(T_SIM[3][byCursor[1] - 1][l + nObj_Y[0]], 0, T_SIM[3][byCursor[1] - 1][l + nObj_Y[0]].length, byDraw_Zero_X + 12, 32 + (l << 4) + byDraw_Zero_Y, 0);
                            DStr("" + T_W_YEN[byCursor[1] - 1][l + nObj_Y[0]], 112 + byDraw_Zero_X, 32 + (l << 4) + byDraw_Zero_Y, 0x10 | 8);
                        }

                    } else
                    {
                        if(byMy_Weapon[byCursor[1] - 1][byCursor[0]] > 0)
                            DStr("\u653B\u51FB\u529B+" + T_W_AT[byCursor[1] - 1][byCursor[0]], byDraw_Zero_X, byDraw_Zero_Y, 0);
                        for(int i1 = 2; i1 >= 0; i1--)
                            if(byMy_Weapon[byCursor[1] - 1][i1 + nObj_Y[0]] > 0)
                            {
                                DChars(T_SIM[3][byCursor[1] - 1][i1 + nObj_Y[0]], 0, T_SIM[3][byCursor[1] - 1][i1 + nObj_Y[0]].length, 16 + byDraw_Zero_X + 12, 32 + (i1 << 4) + byDraw_Zero_Y, 0);
                                DStr("" + (T_W_YEN[byCursor[1] - 1][i1 + nObj_Y[0]] >> 1), 112 + byDraw_Zero_X, 32 + (i1 << 4) + byDraw_Zero_Y, 0x10 | 8);
                                if(byMy_EW[byCursor[1] - 1] - (i1 + nObj_Y[0]) == 0)
                                    DChar('\u25CF', byDraw_Zero_X + 12, 32 + (i1 << 4) + byDraw_Zero_Y, 0);
                            }

                    }
                }
            }
            nGame_Flag &= 0xfffffeff;
        }
        if(nGame_Timer[1] > 0)
        {
            nGame_Timer[1]--;
            SColor(0, 0, 192);
            FRect(byDraw_Zero_X, byDraw_Zero_Y, 112, 16);
            SColor(255, 255, 255);
            DChars(T_MES[2][1][nGame_Timer[1] >> 4], 0, T_MES[2][1][nGame_Timer[1] >> 4].length, 56 + byDraw_Zero_X, byDraw_Zero_Y, 1 | 0x10);
            if((nGame_Timer[1] & 0xf) == 1)
            {
                nGame_Flag |= 0x100;
                nGame_Timer[1] = 0;
            }
        }
    }

    public void CMInit()
    {
        byCursor[0] = 0;
        nObj_Count[0] = 0;
        nGame_Flag |= 8;
        if((nGame_Flag & 0x40) != 0)
        {
            nE_Flag[(nE_Flag[0] >> 1) + 1] |= 0xff000000;
            nE_Flag[0]++;
            nGame_Flag &= 0xffffffbf;
        }
        for(int i = 42; i >= 23; i--)
            Img_Obj[i] = null;

        Img_Bak = null;
        Img_Chip = null;
        Img_TB = null;
        cTalkH = null;
        byD_Map = null;
        Run.gc();
        bySKey = 5;
        byGame_Chap[0] = 13;
        byGame_Chap[1] = 0;
        nIK = 0;
    }

    public void CM()
    {
        byte abyte0[][] = {
            {
                69, 52
            }, {
                92, 62
            }, {
                80, 46
            }, {
                37, 57
            }, {
                85, 40
            }
        };
        String as[] = {
            "\u6751\u843D", "\u8700\u5C71\u540E\u5C71", "\u8700\u5C71\u68A6\u77F3", "\u7981\u5730", "\u8700\u5C71\u4FA7\u5CF0"
        };
        byte abyte1[] = {
            1, 1, 1, 2, 2, 3, 3, 4
        };
        int j = nIK;
        nIK = 0;
        if((j & 0x1828000) != 0)
        {
            byCursor[0]--;
            if(byCursor[0] < 0)
                byCursor[0] = abyte1[nE_Flag[0]];
        } else
        if((j & 0x18280000) != 0)
        {
            byCursor[0]++;
            if(byCursor[0] > abyte1[nE_Flag[0]])
                byCursor[0] = 0;
        } else
        if((j & 0x40040000) != 0)
        {
            byMap_No = (byte)(byCursor[0] - 1);
            byGame_Chap[0] = 8;
            if(byCursor[0] == 0)
                byGame_Chap[0] = 9;
        } else
        if((j & 0x100) != 0)
        {
            byGame_Chap[3] = 12;
            byGame_Chap[0] = 14;
        }
        nObj_Count[0] = nObj_Count[0] + 1 & 0xf;
        j = (T_COS[nObj_Count[0] << 2] + 0x10000 >> 13) + 3;
        SColor(0, 0, 0);
        FRect(byDraw_Zero_X, byDraw_Zero_Y, 112, 96);
        offGfx.drawImage(Img_Map, 0, 0, 0);
        img_nodraw = true;
        SColor(255, 64, 32);
        for(int i = abyte1[nE_Flag[0]]; i >= 1; i--)
            FRect((abyte0[i][0] - 2) + byDraw_Zero_X, (abyte0[i][1] - 2) + byDraw_Zero_Y, 5, 5);

        SColor(0, 0, 192);
        FRect((abyte0[0][0] - 2) + byDraw_Zero_X, (abyte0[0][1] - 2) + byDraw_Zero_Y, 5, 5);
        FRect(byDraw_Zero_X, byDraw_Zero_Y, 112, 16);
        FArc((abyte0[byCursor[0]][0] - (j >> 1)) + byDraw_Zero_X, (abyte0[byCursor[0]][1] - 16) + byDraw_Zero_Y, j, 32, 60, 60);
        SColor(255, 255, 255);
        DStr(as[byCursor[0]], 56 + byDraw_Zero_X, byDraw_Zero_Y + 2, 1 | 0x10);
    }

    public void CDLoad()
    {
        byte abyte0[] = {
            4, 16, 15, 16
        };
        byte abyte1[] = {
            3, 2, 14, 12
        };
        byte abyte2[] = {
            0, 0, 0, 0
        };
        byte abyte3[] = {
            1, 2, 3, 2
        };
        byte abyte5[][] = {
            {
                0, 1, 0, 0, 0, 0, 0, 0
            }, {
                0, 0, 0, 1, 0, 0, 0, 0
            }, {
                0, 0, 0, 0, 0, 1, 0, 0
            }, {
                0, 0, 0, 0, 0, 0, 0, 1
            }
        };
        LVImage((byte)0);

⌨️ 快捷键说明

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