世间万物都可以看成对象,然后类是对象抽象出来的。对象是真实存在的个体,而类是代表一类个体。类是对象的模板,对象是类的具体的实例。
类中可以包含所有对象所共有的属性/特征----成员变量,还可以包含所有对象所共有的行为----方法。一个类可以创造多个对象,同一类型的多个对象,结构相同,数据不同。
引用类型之间画等号:指向同一个对象,对其中一个引用的修改会影响另一个引用。
基本类型之间画等号:赋值,对其中一个变量的修改不会影响另一个变量。
null:空,没有指向任何对象若引用的值为null,则该引用不能再进行任何操作了,若操作则NullPointerException空指针异常。
为实现以下功能:

可以通过定义四个变量的方法搞定,但数据的封装就是个问题,而且主方法定义的变量和方法中的变量并没有什么直接的关系。所以我们采用面向对象的思想解决:


接下来是回顾今天刚接触的Tetris游戏,现在只能完成很简单的一部份。
Tetris游戏的逻辑为:
玩家操作有:旋转方块;以格子为单位左右移动方块;让方块加速落下。
方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的方块出现在区域上方开始落下。
当区域中某一行的横向格子全部由方块填满,则该列会消失并成为玩家的得分。同时删除的行数越多,得分指数上升。
当固定的方块堆到区域最上方而无法消除层数时,则游戏结束。
一般来说,游戏还会提示下一个要落下的方块,熟练的玩家会考虑到下一个方块,评估要如何进行。由于游戏能不断进行下去对商业用游戏不太理想,所以一般还会随着游戏的进行而加速提高难度。
预先设置的随机发生器不断地输出单个方块到场地顶部。
本案例需要定义类来表示Tetris游戏中的基本构造单元:格子。



最后看看程序运行效果:


最后查看位置为:5,3
以上便是俄罗斯方块简单的一小小部分。
网友评论