简易俄罗斯方块

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

2.定义类型:

   Cell:

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

(构造器 一个类中至少要提供两个构造器 一个有参一个无参【构造方法】)   

    图片 image

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


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

   

     Tetromino类型:七种组合的父类

扫描二维码关注公众号,回复: 2629032 查看本文章

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

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



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

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

    给属性赋具体元素

      


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

   在测试类中调用random方法


   主类Tetris—extendsJPanel

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


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

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

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

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


  4.   提供属性:

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

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


  5.   提供绘制正在下落的方块的方法paintCurrentOne(Graphics g),在重写的paint方法内去调用

注释(1):

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

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

(2)属性一般都私有化

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

(4)重写toString方法

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

猜你喜欢

转载自blog.csdn.net/wyq15004350208/article/details/80466147