java俄罗斯方块简单代码_Java实现简易俄罗斯方块

本文介绍了如何使用Java编程实现俄罗斯方块游戏。详细讲解了从对象抽象到类的设计,包括Cell、Tetromino及其不同形状的子类如T、I、L、S、Z、O和J类。还涵盖了Tetris类的主要方法,如四格方块的移动、绘制和动态效果的实现。此外,文章提到了键盘监听和动态下落的处理,展示了游戏的交互和运行机制。
摘要由CSDN通过智能技术生成

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

一、将对象抽象为类

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

建立如下类:

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

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

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

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

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

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

T类继承于Tetromino类:

6685442aca991d217ce6367c8be41223.png

I类继承于Tetromino类:

0cc1c2e476782fe4baa4c94225ac4737.png

L类继承于Tetromino类:

227a605c3be08355071cacc4bfa54fd5.png

S类继承于Tetromino类:

fcf7975ed5dbd408b5ef6e293006fe9b.png

Z类继承于Tetromino类:

8f861c197fc064da88ea521d7ac5da4d.png

O类继承于Tetromino类:

e28bf8993030fe0dfd45d2ebe08e17f8.png

J类继承于Tetromino类:

014e86a849884f8e852819fe578c39ea.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() {

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值