2014-11-03 34 views
0

我正在設計比賽遊戲。有一個問題列表,每個用戶需要在這個遊戲中回答。設計模式:如何確定q/a比賽遊戲模式

我有兩個類型的問題。第一個是多項選擇題。這個問題包含一個選項列表,每個選項都是一個String。

另一個是搜索問題。這類問題只有一個正確答案,即國家類型。我們將顯示一張地圖,讓用戶找到正確的國家。

public class Country { 
    String countryName; 
    LatLng ll; 
} 

這兩種類型的問題將被一起顯示,並混合作爲列表給每個用戶。

如果顯示給用戶的問題是選擇題,我們將顯示一個選項列表,讓用戶選擇; 如果用戶看到搜索問題,則需要他/她在地圖上搜索相應的國家/地區。

有兩種類型的答案在這裏,字符串和鄉村。

這裏是我的問題:

  1. 我應該設計兩個類型類的每個問題,MCQuestion和SearchingQuestion,並讓他們延長了同一抽象類的問題?
public abstract class Question { 
    String questionText; 

} 

如何設計各類型的問題。我需要方法來返回正確的答案,並檢查一個輸入是否正確?

  • 我應該還設計兩種類型的回答爲每種類型的答案的?
  • +0

    你究竟在做什麼? – 2014-11-03 02:16:17

    +0

    我有一個問題字段,人們需要回答問題。如果這是一個MCQ,那麼我們有4個選項讓用戶選擇。如果這是一個搜索問題,那麼我們將顯示一張地圖並讓用戶找到正確的國家。 – 2014-11-03 02:25:38

    +0

    從相同的抽象類中獲得這些完全不同類型的問題,你期望什麼好處? – 2014-11-03 02:58:15

    回答

    -1

    我覺得你的總體思路是有道理的。

    派生從一個超類中的問題是非常有用的,因爲這樣你可以例如將它們存儲在Questions[]陣,並挑選一個隨機。

    我不知道您是否需要兩種不同的答案類型,因爲您的答案基本上由一個字符串組成,無論是{"A","B","C","D"}還是標準國家代碼(您可以創建一個轉換器以將國家/地區代碼

    獲取和設置正確答案等的方法都很好,但我們無法告訴您需要哪些方法,因爲只有您知道遊戲會是什麼樣子。如果您不確定,請使用MVC模式。你的問題類只能代表模型。