用java编写俄罗斯方块的难题不知道怎么解决,求大神帮助!

怎么解决方块下落后,堆积的各种方块颜色的问题?
关键代码部分
//获得方块类型编号
int type=this.dto.getGameAct().getTypeCode();

    //打印方块
    for (int i = 0; i < points.length; i++) {
        drawAct(points[i].x,points[i].y,type,g);
    }

    //绘制地图
    boolean[][] map=this.dto.getGameMap();
    //map为 boolean[][] map,如果方块不能再向下移动,该map对面的坐标点就等于true
    //双重循环来遍历map
    for (int x = 0; x < map.length; x++) {
        for (int y = 0; y < map[x].length; y++) {
            if(map[x][y]){
                    //画方块的方法,x为map的x坐标,y为map的y坐标,第三个参数是方块的颜色编号
                    drawAct(x,y,this.dto.getGameAct().getTypeCode(),g);                     
            }
        }
    }

    =================================================
    我的问题就是堆积起来的方块怎么能保持各自的颜色![图片说明](https://img-ask.csdn.net/upload/201611/07/1478451556_422135.jpg)

http://www.blogjava.net/evapocket/archive/2009/08/12/elsblock.html

你可以在方块这个类中设置个颜色属性,当随机创建出来就有颜色,就算是堆积颜色也不会改变。