java 俄罗斯方块简易_Java实现简易俄罗斯方块

本文实例为大家分享了Java实现简易俄罗斯方块的具体代码,供大家参考,具体内容如下

一、将对象抽象为类

首先考虑俄罗斯方块游戏中含有哪些具体的对象,对象中含有哪些具体属性和方法,然后用代码来实现。

建立如下类:

Cell类:代表最小的方格单位,构成7种图形的最基本图形。

含有row(行号),col(列号),image(对应的图片)属性,

含有left(左移),right(右移),drop(下落)方法。

Tetromino类:代表由4个最小方格构成的7种图形的合集。

含有cells(四个方块)属性,

含有moveLeft(四格方块向左移动),moveRight(四格方块向右移动),softDrop(软下落),randomOne(随机生成一个四格方格)方法。

T类继承于Tetromino类:

4f3b421de6becced5d36b17d792a62db.png

I类继承于Tetromino类:

3adb1a2476e0cd994eae7ec9269a63ef.png

L类继承于Tetromino类:

37b75baa919e3ddc8c2d180ac6aea2d8.png

S类继承于Tetromino类:

cb13aed75caadcef65ddf1025f926c63.png

Z类继承于Tetromino类:

96b2606eb3de864d64558d9cd7005134.png

O类继承于Tetromino类:

efaa30b515d837cc1fe30865d7531c55.png

J类继承于Tetromino类:

c996529c52a144232fdd9e7da5d822a5.png

Tetris类:俄罗斯方块的主方法类,包括了游戏运行过程中所需要的众多方法。

含有currentOne(正在下落的四格方块),nextOne(即将下落的四格方块),Cell[][]wall(二维数组的表格,代表墙)属性。

二、类的实现

Notes:各类实现过程中要符合Javabean规范。

Cell类:

package com.tetris;

import java.awt.image.BufferedImage;

/*

* 俄罗斯方块中的最小单位:方格

* 特征(属性):

* row--行号

* col--列号

* image--对应的图片

*

* 行为(方法)

* left();

* right();

* drop();

*/

public class Cell {

private int row; //行

private int col; //列

private BufferedImage image;

public Cell(int row, int col, BufferedImage image) {

super();

this.row = row;

this.col = col;

this.image = image;

}

public Cell() {

super();

// TODO Auto-generated constructor stub

}

public int getRow() {

return row;

}

public void setRow(int row) {

this.row = row;

}

public int getCol() {

return col;

}

public void setCol(int col) {

this.col = col;

}

public BufferedImage getImage() {

return image;

}

public void setImage(BufferedImage image) {

this.image = image;

}

@Override

public String toString() {

return "(" + row + ", " + col + ")";

}

//向左移动

public void left(){

col--;

}

//向右移动

public void right(){

col++;

}

//向下移动

public void drop(){

row++;

}

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值