用j2se做俄罗斯方块时,怎么画出各种不同形状的方块?长方形和正方形的我会,还剩下几个不规则的方块画不出来,画出来了也不知道用什么方法来控制他们的移动? 还有就是对于这几种方块怎么进行碰撞检测呢? 还有就是同步实现的问题? 总之各位骨灰 回答的越详细越好!a ri ga dou !

解决方案 »

  1.   

    一般的做法是画盘格,然后用颜色去填充盘格
    也就是说有很多个小panel,然后用颜色去填充相应的panel,比如横的长方形,就填充4个横向的panel,一个正方形,就填充相邻两行的相邻两个小panel,等等,每一种图形的左右上下翻转都有自己的算法,盘格是个二维数组,可以用int型,比如int[19][19] grid,刚开始初始化为0,如果该位置被占用,就设为1,比如上面的横向长方型,刚出来时(当然出现位置可以用游戏设计者设定),grid[0][0] = 1, grid[0][1]=1, grid[0][2]=1,grid[0][3]=1,左移时,先判断右边的一个格子是否被占用,即grid[0][4]是否为1,如果为1,则不能移,如果不为1,则grid[0][0] = 0,grid[0][4]=1,等等,这就是所谓的没种图形的自己的算法,每变动一次的时候,扫描一次全盘格子,把为1的用颜色填充。当然,做的更复杂的还可以用不同的颜色填充,这就需要在设计没种形状的类时,有个color属性
    这些例子网上很多的,N多年前自己练习写游戏时也写过一个,大概思路就是那样了
      

  2.   

    恩 还是看视频吧 或者Think in Java上面也有