2014-05-11 254 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