2011-03-21 78 views
0

我在Objective-C中做了一個匹配遊戲,我試圖找出一種方法來保留數組的值後洗牌。實時創建類?

三種不同的陣列被從「的plist」文件填入彼此對應的各自的元件(即,在第一陣列第n個元素與在第二和第三陣列第n個元素相匹配)。
然後將數組混合並顯示。然而,在洗牌過程中,我失去了在元素之間找到匹配的能力,因爲它們現在是隨機排列的。

解決這個問題,可以在此page找到。用戶「chrisL」建議爲每個問題/答案匹配一個班級。這是一個合理的解決方案,但是我需要使這個遊戲更加靈活,以便有人可以添加儘可能多的匹配元素,而無需觸摸任何代碼。
我覺得這可以做的唯一方法是確定有多少匹配的項目,併爲他們實時創建類,但這聽起來像一個編程不切實際。
任何人都可以射我一些指針來解決這個問題嗎?

回答

2

我想你不明白給你建議的解決方案。取而代之的dyynamically生成類,你會動態實例

  1. 您的問題清單「扁平化」,只是約定保證的一類(東西完全正常不過的事情)對象,每個組6個相鄰的項目對應到一個問題。相反,這樣做會創建一系列問題(其中每個問題都是一個問題元素數組),然後您可以無需擔心地將外部數組洗牌。

    [Q1, a1, b1, c1, Q2, a2, c2] --> [[Q1, a1, b1, c1], [Q2, a2, b2, c2]] 
    
  2. 下一個點是,使用數組來表示一個問題,通過使第一元件是問題文本的慣例,並且下一個元素是選項是不好的編程習慣。而不是使用這種表示,創建一個Question類,然後實例化Question對象來填充你的問題列表。 這種面向對象的方法給出了兩個主要優點:

    • 訪問的問題時,而不是臨時索引可以使用專有名稱和方法。
    • 在後面添加不同類型的問題變得更加容易。
+0

是的,這讓我很有意義我會嘗試它。謝謝! – user550323 2011-03-23 20:10:14