实现俄罗斯方块的下落

本文详细介绍了如何实现俄罗斯方块游戏中的方块下落功能。通过创建驱动方块下落的线程,设计方块状态判断及监听器接口,使得外部可以控制方块的运动,并在游戏控制器中实现方块监听,确保方块能按照预期进行下落。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现俄罗斯方块的下落:

1,实现方块的驱动马达,驱动方块下落,每一个方块都有一个马达。(相当去汽车发动机) - 用一个线程来实现

2,实现一个发动马达的方法供外部对象使用;

3,在测试程序中进行测试。


一、在上一篇实现的CBlock.java标准方块类基础上,新增以下代码,实现方块的下落

1、给block增加两个属性(1)、判断当前方块是否已活着;(2)、给方块增加一个监听器属性

//加volatile,不让该变量进入高速缓存
private volatile boolean isAlive;//判断方块是否处于活动状态,被多个线程访问
private BlockListener listener;//方块监听器属性

2、提供一个外部方法,让外部对象可以给方块注册监听器

 /**
 * 为方块注册一个监听方法
 */
public void addBlockListener(BlockListener l){
if (l!=null) {
this.listener=l;
}
}

3、实现方块的驱动马达,驱动方块下落

/**
 *作     者: Helloway
 *类     名:Motor
 *类说明:方块内部类,用来驱动自己往下落
 */
private class Motor implements Runnable{
Point newPos=null;
public Motor(int speed) {
CBlock.thi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值