简易俄罗斯方块

1.分析游戏界面,通过游戏界面,抽象出来几种类型

2.定义类型:

   Cell:

   共同特征:行号,列号:一个方格里有行号列号,我们添加构造器

(构造器 一个类中至少要提供两个构造器 一个有参一个无参【构造方法】)   简易俄罗斯方块_第1张图片

    图片 image

    给共同特征赋予get/set方法,toString方法以及一个有参构造器

简易俄罗斯方块_第2张图片

    共同行为:向左,向右,向下移动,提供javaBean相关规范(1)

   简易俄罗斯方块_第3张图片

     Tetromino类型:七种组合的父类

    共同特征:Cells—四个方块(用数组表示)--权限修饰词protected

    共同行为; 向左,向右,向下移动,提供javabean相关规范

简易俄罗斯方块_第4张图片

简易俄罗斯方块_第5张图片

    添加randomOne()–用来提供随机生成的一个方块

    根据父类,定义出来七种子类:T,I,O,J,L,S,Z

    给属性赋具体元素

      简易俄罗斯方块_第6张图片

简易俄罗斯方块_第7张图片

   在此需将T.png导入eclipse中(复制粘贴),其余六种效仿T即可。

   在测试类中调用random方法

简易俄罗斯方块_第8张图片

   主类Tetris—extendsJPanel

   提供静态属性,加载静态资源(前提:必须是一块面板JPanel类型,可以嵌入窗口。面板上自带一个画笔,有一个功能:自动绘制.,其实是调用了JPanel里的paint()方法。)

简易俄罗斯方块_第9张图片

   1.   面板会自动调用绘制方法paint(graphics g)

   2.   重写paint方法,绘制图片背景。

 3.   绘制网络和嵌入墙中的方块。paintWall(graphice g)提供属性wall ----是一个Cell类型的二维数组。20行,10列

    属性Cell_Size------一个方块的宽度

简易俄罗斯方块_第10张图片

  4.   提供属性:

   currentOne -----正在下落的方块

   nextOne ----下一个将要下落的方块

简易俄罗斯方块_第11张图片

  5.   提供绘制正在下落的方块的方法paintCurrentOne(Graphics g),在重写的paint方法内去调用简易俄罗斯方块_第12张图片

注释(1):

Javabean规范,就是程序员在定义类时,默认遵守的一种规范

如:(1)添加两个构造器

(2)属性一般都私有化

(3)提供共有的get/set方法

(4)重写toString方法

(5)重写equals方法和hashcode方法

你可能感兴趣的:(简易俄罗斯方块)