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

📄 map.java

📁 java 小程序 使用j2me 开发的一个小的游戏软件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            {
            if(grid[0]==0)
            {
                canvas.map[(grid[1]+1)*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]-1].type
                    = canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type;
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type = 0;
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]-1]
                    = TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]];
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]] = 0;
                grid[0] = TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]-1;
            }
            else
            {
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]-1].type
                   = canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type;
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type = 0;
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]-1]
                   = TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]];
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]] = 0;
                grid[0] = grid[0]-1;
            }
            if(TomAdventureCanvas.onGround(grid[0],grid[1]))
            {
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].status = 6;
            }
            else
            {
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].status = 5;
            }
            grid = TomAdventureCanvas.whichGrid(x,y,15,15);
            while(grid[1]!=0)
            {
                if(TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==3 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==4 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==5 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==6 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==7 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==8 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==9 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==18 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==19)
                {
                     canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type =
                         canvas.map[(grid[1]-1)*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type;
                     TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]]=TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]];
                }
                else
                {
                    canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type = 0;
                    TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]] = 0;
                    break;
                }
                grid[1]--;
            }
            lrollcount = 1;
            }
            lrollcount++;
        }
        else
        {
            status = 0;
        }
    }

    public void roll_right()
    {
        int[] grid = new int[2];
        grid = TomAdventureCanvas.whichGrid(x,y,15,15);
        if(!TomAdventureCanvas.isBlock(x,y,15,15,1))
        {
            if(rrollcount>2)
            {
            if(grid[0]==TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]-1)
            {
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]].type
                    = canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type;
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type = 0;
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][0]
                    = TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]];
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]] = 0;
                grid[0] = 0;
            }
            else
            {
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]+1].type
                    = canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type;
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type = 0;
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]+1]
                    = TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]];
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]] = 0;
                grid[0] = grid[0]+1;
            }
            if(TomAdventureCanvas.onGround(grid[0],grid[1]))
            {
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].status = 7;
            }
            else
            {
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].status = 5;
            }
            grid = TomAdventureCanvas.whichGrid(x,y,15,15);
            while(grid[1]!=0)
            {
                if(TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==3 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==4 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==5 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==6 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==7 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==8 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==9 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==18 ||
                   TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]]==19)
                {
                     canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type =
                         canvas.map[(grid[1]-1)*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type;
                     TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]]=TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]][grid[0]];
                }
                else
                {
                    canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type = 0;
                    TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]] = 0;
                    break;
                }
                grid[1]--;
            }
            rrollcount = 1;
            }
            rrollcount++;
        }
        else
        {
            status = 0;
        }
    }

    public void down()
    {
        int[] grid = new int[2];
        grid = TomAdventureCanvas.whichGrid(x,y,15,15);
        if(!TomAdventureCanvas.onGround(grid[0],grid[1]))
        {
            if(downcount%3==0)
            {
                if((grid[1]+1)<TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][3])
                {
                canvas.map[(grid[1]+1)*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type =
                    canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type;
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+2][grid[0]]=TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]];
                canvas.map[grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].type = 0;
                TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]] = 0;
                canvas.map[(grid[1]+1)*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][2]+grid[0]].status = 5;
                downcount = 0;
                y = TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][1]+grid[1]*TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][0][5];
                }
                else
                {
                    TomAdventureCanvas.mapstage[TomAdventureCanvas.stage-1][grid[1]+1][grid[0]] = 0;
                    type = 0;
                    status = 0;
                }
            }
            else
            {
                y = y + 5;
            }
            downcount++;
        }
        else
        {
            status = 0;
            downcount = 1;
        }
    }

    public void paint(Graphics g)
    {
        isdraw = false;

        switch(status)
        {
            case 0: //正常
                break;
            case 1: //下落
                fall();
                break;
            case 2: //碎裂
                crack();
                break;
            case 3: //向左推动
                push_left();
                break;
            case 4: //向右推动
                push_right();
                break;
            case 5: //石头下落
                down();
                break;
            case 6: //向左滚动
                roll_left();
                break;
            case 7: //向右滚动
                roll_right();
                break;
        }

        if(type!=0)
        {
            if (TomAdventureCanvas.mapx <= x &&
                x <= TomAdventureCanvas.mapx + TomAdventureCanvas.vieww
                && TomAdventureCanvas.mapy <= y &&
                y <= TomAdventureCanvas.mapy + TomAdventureCanvas.viewh)
            {
                isdraw = true;
            }
            else if (TomAdventureCanvas.mapx <= x + mapdetail[type][2] &&
                     x + mapdetail[type][2] <=
                     TomAdventureCanvas.mapx + TomAdventureCanvas.vieww
                     && TomAdventureCanvas.mapy <= y &&
                     y <= TomAdventureCanvas.mapy + TomAdventureCanvas.viewh)
            {
                isdraw = true;
            }
            else if (TomAdventureCanvas.mapx <= x &&
                     x <= TomAdventureCanvas.mapx + TomAdventureCanvas.vieww
                     && TomAdventureCanvas.mapy <= y + mapdetail[type][3] &&
                     y + mapdetail[type][3] <=
                     TomAdventureCanvas.mapy + TomAdventureCanvas.viewh)
            {
                isdraw = true;
            }
            else if (TomAdventureCanvas.mapx <= x + mapdetail[type][2] &&
                     x + mapdetail[type][2] <=
                     TomAdventureCanvas.mapx + TomAdventureCanvas.vieww
                     && TomAdventureCanvas.mapy <= y + mapdetail[type][3] &&
                     y + mapdetail[type][3] <=
                     TomAdventureCanvas.mapy + TomAdventureCanvas.viewh)
            {
                isdraw = true;
            }
            if (isdraw == true)
            {
                TomAdventureCanvas.drawClipImage(g, x - TomAdventureCanvas.mapx,
                                                 y - TomAdventureCanvas.mapy,
                                                 TomAdventureCanvas.imgitem[mapdetail[type][4]],
                                                 mapdetail[type][0],
                                                 mapdetail[type][1],
                                                 mapdetail[type][2],
                                                 mapdetail[type][3]);
            }
        }
    }
}

⌨️ 快捷键说明

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