• 大小: 242KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-08-07
  • 语言: Java
  • 标签: java  

资源简介

自己用Java 写的俄罗斯方块程序。供大家批评指正。

资源截图

代码片段和文件信息

//本类是方块类的基类,包含所有方块共有的方法
 class Block {



 int temp [][] = new int [4][2] ;
 int current_Type_ID ;          //存储当前方块样式
 int current_Block_Type [][] ;  //存储当前迷宫样式数据的二维数组
 int current_Rotate_State    ;  //存储当前的旋转状态
 int current_Block_Position [][] ; //存储当前方块的位置
 int rotate_Data [][][]      ;  //存储不同旋转状态下的坐标
 int rotate_State_Count   ;  //记录方块旋转状态的个数
 
 int offset_Row = -1  ; //存储行上的偏移量
 int offset_Column = 1  ; //存储列上的偏移量 
 Game game  ;  
 //方块旋转 
 void rotate(  )
{
 switch( current_Type_ID )
 {
  case 0 :
 
  current_Rotate_State =  ( current_Rotate_State + 1 ) % 2 ;
 
  current_Block_Type = BlocksFactory.rotate_data_0[current_Rotate_State ].clone() ;
  break ;
 
  case 2 :
  current_Rotate_State =  ( current_Rotate_State + 1 ) % 4 ;
 
  current_Block_Type = BlocksFactory.rotate_data_2[current_Rotate_State ].clone() ;
 
  break ;
 
  case 3 :
 
  current_Rotate_State =  ( current_Rotate_State + 1 ) % 2 ;
 
  current_Block_Type = BlocksFactory.rotate_data_3[current_Rotate_State ].clone() ;  
 
  break ;
 
  case 4 :
 
  current_Rotate_State =  ( current_Rotate_State + 1 ) % 2 ;
 
  current_Block_Type = BlocksFactory.rotate_data_4[current_Rotate_State ].clone() ;  
 
  break ;
 
  case 5 :
 
  current_Rotate_State =  ( current_Rotate_State + 1 ) % 4 ;
 
  current_Block_Type = BlocksFactory.rotate_data_5[current_Rotate_State ].clone() ;  
 
  break ;
 
  case 6 :
 
  current_Rotate_State =  ( current_Rotate_State + 1 ) % 4 ;
 
  current_Block_Type = BlocksFactory.rotate_data_6[current_Rotate_State ].clone() ;
 
  break ;
 
 }
 
}

//方块向左移动
void  move_Left( )
{
if (  game.collisionDetecor(Game.direction.left) )
{
offset_Column -- ;
}
}
//方块向右移动
void move_Right()
{
if (  game.collisionDetecor(Game.direction.right) )
{
offset_Column ++ ;
}
}
//方块向下移动
void move_down()
{
if (  game.collisionDetecor(Game.direction.down) )
{
offset_Row ++ ;
}
}

int[][] getCurrentPosition()
{
for ( int i = 0 ; i < 4 ; i ++)
{
current_Block_Position  [ i ][ 0 ] =  current_Block_Type [ i ] [ 0 ] + offset_Row ;
current_Block_Position  [ i ][ 1 ] =  current_Block_Type [ i ] [ 1 ] + offset_Column ; 
}

return current_Block_Position ;
}
      
public Block( int id  Game game )
{
current_Rotate_State  = 0  ;
current_Block_Position = new int [ 4 ][ 2 ]  ;
current_Type_ID = id  ;
current_Block_Type = (int [][]) BlocksFactory.block_Type[id].clone();  //克隆block_Type中的数据
this.game = game  ;

//构造当前方块的旋转状态数组
switch ( current_Type_ID )
{
case 0 :
rotate_Data = BlocksFactory.rotate_data_0 ;
rotate_State_Count = 2  ;
break ;

case 2 :
rotate_Data = BlocksFactor

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-10-14 23:55  俄罗斯方块\
     目录           0  2011-10-14 22:59  俄罗斯方块\Tetris\
     文件         232  2011-10-09 21:26  俄罗斯方块\Tetris\.classpath
     文件         568  2011-10-14 22:38  俄罗斯方块\Tetris\.project
     文件       47364  2011-10-14 16:35  俄罗斯方块\Tetris\back.jpg
     目录           0  2011-10-14 22:59  俄罗斯方块\Tetris\bin\
     文件       47364  2011-10-14 16:35  俄罗斯方块\Tetris\bin\back.jpg
     文件        2246  2011-10-14 22:20  俄罗斯方块\Tetris\bin\Block.class
     文件        2583  2011-10-14 22:10  俄罗斯方块\Tetris\bin\BlocksFactory.class
     文件        1015  2011-10-14 22:19  俄罗斯方块\Tetris\bin\Game$direction.class
     文件        3147  2011-10-14 22:19  俄罗斯方块\Tetris\bin\Game$GameMonitor.class
     文件        1015  2011-10-14 22:19  俄罗斯方块\Tetris\bin\Game$gameState.class
     文件         510  2011-10-14 22:19  俄罗斯方块\Tetris\bin\Game$GameTimer.class
     文件        7471  2011-10-14 22:19  俄罗斯方块\Tetris\bin\Game.class
     文件        1799  2011-10-14 22:22  俄罗斯方块\Tetris\bin\GameCanvas.class
     文件        2440  2011-10-14 17:30  俄罗斯方块\Tetris\bin\Tetris$frameMonitor.class
     文件        3336  2011-10-14 17:30  俄罗斯方块\Tetris\bin\Tetris.class
     目录           0  2011-10-14 22:59  俄罗斯方块\Tetris\src\
     文件       47364  2011-10-14 16:35  俄罗斯方块\Tetris\src\back.jpg
     文件        3661  2011-10-14 22:20  俄罗斯方块\Tetris\src\Block.java
     文件        2541  2011-10-14 22:10  俄罗斯方块\Tetris\src\BlocksFactory.java
     文件       15466  2011-10-14 22:19  俄罗斯方块\Tetris\src\Game.java
     文件        2922  2011-10-14 22:22  俄罗斯方块\Tetris\src\GameCanvas.java
     文件        6477  2011-10-14 17:30  俄罗斯方块\Tetris\src\Tetris.java
     文件       54723  2011-10-14 22:40  俄罗斯方块\俄罗斯方块.jar
     文件         119  2011-10-14 23:58  俄罗斯方块\游戏操作说明.txt
     目录           0  2011-10-14 23:00  俄罗斯方块\源代码\
     文件       47364  2011-10-14 16:35  俄罗斯方块\源代码\back.jpg
     文件        3661  2011-10-14 22:20  俄罗斯方块\源代码\Block.java
     文件        2541  2011-10-14 22:10  俄罗斯方块\源代码\BlocksFactory.java
     文件       15466  2011-10-14 22:19  俄罗斯方块\源代码\Game.java
............此处省略2个文件信息

评论

共有 条评论