【发布时间】:2010-08-24 16:24:28
【问题描述】:
所以基本上,标题听起来比实际问题要花哨。
我正在编写一个应用程序,我想在其中实现一个成就系统。如果我将所有成就创建为通用类的实例,当完成的壮举类型可能不同时,我如何编写一个方法来验证这些成就(即确定用户是否达到或超过目标),条件的数量要满足的可能会有所不同,验证的类型可能会有所不同?
例如:
成就 - 10,000 分!
类型 - 总分
价值 (X) - 10,000
条件 - 1
验证 - 大于 X
对比
成就 - 超级碎片
类型 - 杀死
值 (X) - 10
类型 - 时间
值 (Y) - 10 秒
条件 - 2
验证 - 至少 X 小于 Y
我试图避免为每个成就硬编码验证函数,因为它们主要是通用的,唯一的区别是它们的验证方式。
就像成就类看起来像
public class Achievement
{
boolean locked;
String name;
String desc;
public Achievement(string n, string d)
{
//ctor code
}
}
我正在想办法在没有函数指针的情况下做到这一点,但我失败了。另外,你甚至可以在java中使用函数指针吗?我是这门语言的新手 :(
【问题讨论】:
-
java中没有函数指针。
-
@Shengyuan Lu 我想他/她知道java中没有函数指针。 @FlyingStreudel 我的建议是等待 Java 7 闭包。
标签: java android eclipse algorithm achievements