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

📄 map.java

📁 java 小程序 使用j2me 开发的一个小的游戏软件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import javax.microedition.lcdui.*;

public class Map
{
    private int x,y;
    private int count = 1;
    public int downcount = 1;
    public int lrollcount = 1;
    public int rrollcount = 1;
    private boolean isdraw;
    private TomAdventureCanvas canvas;
    public int type,status;
    //元素坐标,序号:0,1,2,3,4,5,6,7,8,9,10,11,12,68,69,70,71,72,18,19
    private int[][] mapdetail={
        {0,0,0,0},
        {0,0,15,15,2},{15,0,15,15,2},{30,0,15,15,2},{45,0,15,15,2},
        {60,0,15,15,2},{0,0,15,15,3},{15,0,15,15,3},{30,0,15,15,3},
        {45,0,15,15,3},{0,0,15,9,4},{17,0,15,9,4},{0,0,15,14,15},
        {0,0,16,15,6},{16,0,16,15,6},{32,0,16,15,6},{48,0,16,15,6},
        {64,0,16,15,6},{0,0,15,15,5},{15,0,15,15,5}
    };

    public Map(TomAdventureCanvas cs,int startx,int starty,int maptype)
    {
        canvas = cs;
        x = startx;
        y = starty;
        type = maptype;
        status = 0;
    }

    public void fall()
    {
        int[] grid = new int[2];
        if(count<8)
        {
            count++;
        }
        else if(count<10)
        {
            count++;
            grid = TomAdventureCanvas.whichGrid(x, y, 15, 15);
               if (TomAdventureCanvas.mapstage[TomAdventureCanvas.stage -
                    1][grid[1]+1][grid[0]] == 10 ||
                    TomAdventureCanvas.mapstage[TomAdventureCanvas.stage -
                    1][grid[1]+1][grid[0]] == 11)
                {
                    TomAdventureCanvas.mapstage[TomAdventureCanvas.stage -
                        1][grid[1] + 1][grid[0]] = 0;
                }
        }
        else
        {
            y = y + 5;
            if(canvas.tom.status == Tom.LEFT)
            {
                canvas.tom.status = Tom.FALL_LEFT;
            }
            else if(canvas.tom.status == Tom.RIGHT)
            {
                canvas.tom.status = Tom.FALL_RIGHT;
            }
            if(y>TomAdventureCanvas.maph)
            {
                count = 1;
                status = 0;
                type= 0;
            }
        }
    }

    public void crack()
    {
        int[] grid = new int[2];
        if(count<3)
        {
            count++;
            if(type == 8) {type = 13;}
            else if(type == 7) {type = 14;}
            else if(type == 6) {type = 15;}
            else if(type == 9) {type = 16;}
            else if(type == 3||type == 4||type == 5) {type = 17;}
        }
        else
        {
            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]--;
            }
            count = 1;
            status = 0;
        }
    }

    public void push_left()
    {
        int[] grid = new int[2];
        grid = TomAdventureCanvas.whichGrid(x,y,15,15);
        if(!TomAdventureCanvas.isBlock(x,y,15,15,-1))
        {
            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 = 0;
            }
            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]--;
            }
        }
        else
        {
            status = 0;
        }
    }

    public void push_right()
    {
        int[] grid = new int[2];
        grid = TomAdventureCanvas.whichGrid(x,y,15,15);
        if(!TomAdventureCanvas.isBlock(x,y,15,15,1))
        {
            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 = 0;
            }
            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]--;
            }
        }
        else
        {
            status = 0;
        }
    }

    public void roll_left()
    {
        int[] grid = new int[2];
        grid = TomAdventureCanvas.whichGrid(x,y,15,15);
        if(!TomAdventureCanvas.isBlock(x,y,15,15,-1))
        {
            if(lrollcount>2)

⌨️ 快捷键说明

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