描述一下:我的图形是用一个二维数组定义的,如100101010这样子的。画的时候画1的那快
再线等/。

解决方案 »

  1.   

    什么叫上涨模块,楼主要说的清楚点啊可以参考下那个300行代码的俄罗斯方块,http://topic.csdn.net/u/20100612/03/a8d7b257-4385-4bb8-82ff-4a51ac3bd810.html?98964还是挺不错的
      

  2.   

    下面的代码只是给了一个最基本的思路,将原先的东西上移一行,再随机生成最后一行,楼主可以参考下public class Test 
    {
    public static void rise(int[][] map)
    {
    int height = map.length;
    int width = map[0].length;

    //原先存在的上移一格,没有考虑越界这种情况
    for (int i = 0; i < height - 1; i++)
    {
    for (int j = 0; j < width; j++)
    {
    map[i][j] = map[i + 1][j];
    }
    }

    //最后一行随机生成
    while (true)
    {
    int t = 0; //用来记录最后一行1的个数

    for (int j = 0; j < width; j++)
    {
    map[height - 1][j] = (int) (Math.random() * 2);
    if (map[height - 1][j] == 1)
    {
    t++;
    }
    }

    //只有当最后一行不全为0且不全为1时才结束
    if (t != 0 && t != width)
    {
    break;
    }
    }
    }

    public static void printMap(int[][] map)
    {
    for (int i = 0; i < map.length; i++)
    {
    for (int j = 0; j < map[i].length; j++)
    {
    System.out.print(map[i][j]);
    }
    System.out.println();
    }
    }

    public static void main(String[] args)
    {
    int[][] map = {{0, 0, 0, 0, 0},
       {0, 1, 0, 0, 0},
       {0, 1, 1, 0, 0},
       {0, 1, 1, 1, 0},
       {1, 1, 1, 1, 0}};
    System.out.println("上涨前");
    printMap(map);
    System.out.println("上涨后");
    rise(map);
    printMap(map);
    }
    }
      

  3.   

    试试这个,将下落的方块和已经固定的方块做不同的标记,一个是1一个是2.http://blog.csdn.net/jokers_i/article/details/6455828