摘要:
然后,我们实现点击小球的动作。点击小球的时候,分为两步,第一步:选中;第二步,清除。本章先研究选中。首先,我们需要了解点击的小球的位置,但是,之前的设计并没有传入相关的参数。所以我们先来重构BallActionListener 1 package org.stephen.bubblebreaker.listener; 2 3 import java.awt.event.ActionEvent; 4 import java.awt.event.ActionListener; 5 6 import org.stephen.bubblebreaker.control.EventDispatche.. 阅读全文
摘要:
本章,我们来讨论如何为游戏加上动作。先从整体上考虑,很多Java例子程序喜欢直接在代码中加入:button.addActionListener(new ActionListener() { public void performAction(Event e) {}});这样的代码。这是不好的,因为这不符合单一职责原则,ActionListener应该独立出去,单独成类。这样,当发生问题的时候也容易寻找。有两种形式,一种是本文采用的单独成类的形式,另外一种是在对应的对象中声明内部类。例如:class MyButton.ActionListener {}。整体上来讲,我们会加入:StartActi 阅读全文
摘要:
在写了这么多理论之后,读者都对实践比较感兴趣。那么如何写自表达代码呢?我们跳开理论部分(以后我会补充理论部分),直接进入实践部分,从本章开始,将以消小球这个游戏为例,以Java代码为样本,引导大家一步一步书写自表达式代码。消小球是一款见于Windows Mobile上的游戏,在12x12的方格子里随即放置各种颜色的小球。选中至少两个相邻的同颜色小球,再次点击,就消除选中的小球,消除的小球的个数累加作为得到的分数,消掉小球以后上面的小球会降落,某列被消除以后,会将其左边的列拉过来,直到无法继续消除位置。好了,游戏规则介绍完毕。那么我们开始在Eclipse里建立工程。Java工程,名称Bubble 阅读全文