2016-12-01 25 views
0

我正在爲Unity開發一款Quiz Quiz。這個遊戲主要向玩家展示問題和他們各自的答案。這些問題和答案都存儲在SQL數據庫中。遊戲從數據庫中獲取數據並將其展示給玩家。那麼,一旦球員回答了一個問題,我想向他展示直到現在有多少選擇餘地有每個答案。我的意思是,到目前爲止,世界上有多少人選擇了這個問題的答案。 實施例: 問題A - >答案B(25%)回答C(25%)回答d(50%)回答E(0%)如何在問答遊戲中製作每個在線答案的概率? -SQL DataBase

我的主要思想做,這是的choise的次數存儲用於每答案和總問題時間。然後我可以使用這個公式找出每個答案的百分比: AnswerB的概率 - >答案B的選擇次數/玩家玩過這個問題的所有時間的總和。

我不知道我是否可以將所有這些數據存儲在sql表中,因爲回答問題的次數會增加所有時間。也許有另一個公式來做到這一點。

我不知道這是否是存儲數據進行概率操作的最佳方式。我只需要一個更好的主意來做到這一點。

關於遊戲的一些注意事項: - 如果玩家解決了2次或更多的問題,我想考慮所有這些問題的概率公式。 - 我想存儲所有在線數據在SQL數據庫

任何想法會有所幫助。 謝謝。

回答

0

你的方法基本正確,但我不會存儲顯式給出的答案總數。只需存儲爲每個問題提供的答案數量,並計算在您需要時給出的答案總數 - 這樣您就不需要始終更新總數,並且不會有數據不一致問題。

這可以例如以QuestionID和AnswerID作爲關鍵字存儲在單個表格中AnswersGiven(QuestionID,AnswerID,TimesSelected)。每次有人挑選問題時更新TimesSelected。

或者,您可能想要跟蹤其他數據,例如哪個用戶給出了答案。然後,您需要運行計數查詢以獲得給定答案的數量,但是如果需要,您可以運行進一步分析(例如給出答案之間的相關性)。

+0

謝謝你的回答。是一個很好的創意存儲數據在表中AnswersGiven(QuestionID,AnswerID,TimesSelected)。但「所選時間」字段將隨着時間的推移而增加,因此可能會出現溢出。 ¿我該如何解決這個可能的溢出問題? TimesSelected必須是「INT」類型的字段?再次感謝。 – Jackson

+0

如果使用32位整數,則在遇到溢出之前至少需要20億人來回答問題。不要太過悲觀,但我懷疑你的應用程序會達到那麼多。如果你使用64位整數,即使每個星球上的每個人每天都回答一百萬年,你也可以安全地避免溢出。 –

相關問題