2014-09-30 72 views
0

我想創建一個簡單的JavaScript程序來幫助我學習,但我很難搞清楚如何設計它。我還是比較新的JS,這實際上是我的第一個應用程序不是從書中複製。JavaScript Help:創建學習遊戲 - 匹配並填充空白

示例場景:我有國家,每個國家都有我在該國的活動。英格蘭:英國之戰,亞瑟王。美國:福特,首次登月。等

我正在創造一個遊戲,讓我可以與自己玩多個遊戲。一個是簡單的匹配遊戲:你有一系列的事件,你必須將它們匹配到國家。另一個會問一個問題,我填補空白。

我的問題是:

  • 在這樣的程序,使用MongoDB的,我會組織成基於國家目標,然後用活動來填充它,然後把所有的國家變成一個巨大的陣列?
  • 我將如何隨機化答案?我知道如何做random(),但我從來沒有用它來隨機化多個潛在答案。我將如何編程,以便足夠聰明地隨機分配一個國家和一個財產?
  • 如何隨機化潛在答案和問題?每個問題都會成爲自己的問題和答案?那麼我如何保證答案在我的隨機答案列表中?

感謝您幫助我解決這個問題。

回答

1

MongoDB將所有數據存儲在文檔中,所以數據之間的關係越少越好。不要試圖以關係方式思考或構建數據。

我建議創建一個集合,也許叫做quiz。並在quiz只有3個字段,你需要:countryeventsrandom

構建你的數據是這樣的:

{ 
    country: COUNTRY, 
    events: [ EVENT1, EVENT2, ... ], 
    random: RANDOM 
} 

看到此鏈接以獲取更多信息The Random Attribute 一旦你挑你的「隨機」的國家,你可以隨機從數組events。 然後它只是一個問題如何將您的國家&事件作爲Q &答:

P.S.不清楚你是否想要隨機COUNTRY和它的隨機事件,或者你的意思是隨機COUNTRY與無關的隨機事件。

+0

哇,非常好!謝謝!!我的意思是一個隨機的國家,然後其中一些是錯誤的。例如。隨機國家是英格蘭,隨機事件(答案)是傑克開膛手的謀殺案,戴安娜王妃的婚禮和水門事件醜聞。所以你會選擇水門作爲不屬於的水門事件。 – ObbyOss 2014-10-01 03:16:41

+0

我很高興它有幫助。 因此,在你的隨機事件作爲錯誤答案的情況下,你需要從同一個數組中取3個CORRECT事件,然後選擇一個隨機的COUNTRY(不相同)並選擇其中一個EVENT(這將是錯誤的)。 re文檔類型NoSQL,您可以閱讀更多文章並嘗試瞭解其結構。即使有經驗的程序員有時也會犯這種結構性錯誤,並在需要縮放的後期階段遇到問題。 祝你好運! – Anzel 2014-10-01 08:00:11