2014-05-11 214 views
-1

我想这对于我的汽车工厂为我的Java Swing的游戏之一,使用某种类型的设计模式,但我没有可用的设计模式设计模式:

在我的比赛的比赛,我的一个很好的知识希望人们可以选择具有不同属性(速度,制动,转向输入)的汽车,以便他们为比赛选择的汽车行为会有所不同。

我得到它使用我的车班组长这个CarHandling类:汽车

// // class CarHandling 
public class CarHandling implements ICarHandling { 
    private final double ACCELERATION = 100; 
    private final double BRAKING = -200; 
    private final double MAX_STEERING_INPUT = 0.5; 
    ... 

} 

// class Car constructor 
public Car(Point position, ICarHandling carHandling) { 
    this.position = position; 
    this.carHandling = carHandling; 
} 

这也包括其他图像/纹理。我想将汽车属性(和图像位置)存储到属性文件中,但不知道如何将它加载到我的Java Swing游戏中。

回答

2

你确定你是不是在这个工程?我不认为在这里添加工厂会简化或简化您的设计。

它看起来好像有足够的不同种类的ICarHandling实现,当用户选择不同类型的汽车时,您将传递给汽车构造函数。

您可以通过添加一个Textures对象来轻松扩展该设计,该对象将包含有关加载纹理的位置等信息。这不会将某些纹理绑定到某辆车,并且可以混合搭配不同的处理和纹理。

// class Car constructor 
public Car(Point position, ICarHandling carHandling, Textures textures) { 
    this.position = position; 
    this.carHandling = carHandling; 
    this.textures = textures; 
} 

至于第二个问题,你已经

我想存储的汽车性能(和图像位置)到 性文件,但不知道我应该如何加载到我的Java 摇摆游戏。

假设您使用了一些标准的java项目结构,将纹理,属性等存储在资源文件夹中,然后从那里加载它们。

真的,只是谷歌这一点,有几种简单的方法完整的代码示例实现这一目标。

+0

好的,将查看此。 – 8bitboy