目前,遊戲已經到了收尾階段,為了配合公測,特意做了乙個問卷調查模組,用於收集玩家對遊戲的反饋。下面使我們的設計歷程。
設計之初,我們曾經想過使用資料庫儲存,為了實現這個模組將增加配置庫里2-3個表,因為考慮到這個模組屬於不大重要的模組(一次性使用),這樣做增加了資料庫的維護了成本,我們的遊戲的配置表已經很多了很多了。
於是我們使用檔案來儲存問卷調查的配置資訊:
題目的類別:1: 單選;2: 多選 3:問答
題號 => array(
'subject' => '問卷調查的題目',
'type' => '題目的類別',
'options' => array(
題號 . 序號 => '題目的答案',
),),
如以下的格式:
return array(
2 => array(
'subject' => '你覺得目前遊戲在美術方面存在哪些不足?(多選)',
'type' => 2,
'options' => array(
201 => '裝備道具**品等不夠華麗',
202 => '港口場景畫不夠寫實',
203 => '港口場景畫不夠寫實',
),),
);
注意:題號和序號的必須聯合 ,這樣才能保證題目對應相應的答案,這是構造這個陣列的特別需要注意的地方。
所有的玩家都能參加這次問卷,也就是說這個表不涉及到分庫的問題,於是我們在」全域性庫「中建立一張表,每個使用者一條記錄,欄位有id ,uid, result。result是使用者問卷調查的結果的序列化,使用json_encode序列化。
知識點:
1)獲取乙個檔案中的陣列,使用include。
2) 構建乙個合理的陣列
3)問卷調查的設計思路
這次問卷調查的主要需求:
1)每個玩家只做一次問卷調查
2)只有問卷調查所有的題目做完才能提交
針對第乙個需求,在提前之前檢測一下玩家是否已經提交。對於第2個問題,我們是這樣做的:使用乙個json儲存玩家的選擇 格式為,最後統計這個json的長度,和問卷調查的總長度對比,就可以知道題目是否做完,最後,通過ajax把json物件傳到伺服器,即可統計玩家的選擇了。
獲取單選題答案
$(".radio1").each(function ()
});
知識點:
1) $.each() 和 $(『').each()的區別
2)$(':checked')和$(":checked", this)的區別
3)需要驗證答案是否為空,因為即使獲取不到答案,也會追加到result中
4)動態構建json的方法。
5) $(this).find('')這個函式使用
獲取多選題答案:
// 獲取多選題答案
$(".checkbox2").each(function () );
if (answerid.length -> 0)
});
知識點:
1)多選題多選,比單選題,多一次迴圈
2)判斷陣列為空的方法
獲取json的長度,沒有專門的函式,只能迴圈json
// 獲取json的長度
var j = 0;
for (var i in result)
提交json到伺服器,這裡讓我想到了,在url中,可以直接把js陣列傳到伺服器中,那可不可以把json物件直接傳入到url中呢,最後測試不可以。於是想到了遍歷json,自己構建合法的url,還有乙個方法就是 使用jquery $_get() 第二個引數,把json直接傳入到伺服器。
在做這個模組的時候,還遇到乙個知識點就是 使用json_decode()把json轉成陣列,需要加入第二個引數並設定為true,否則是乙個物件。
最後學到一點設計的問題,必須檢查玩家提交的結果:驗證題號和答案的合法性。
C語言的問卷調查
1 你對自己的未來有什麼規劃?做了哪些準備?通過英語四級考試,以及找主修專業對口的工作,為此每天至少花上乙個小時時間學習英語,並在學習疲乏時候練習主修專業的專項。2 你認為什麼是學習?學習有什麼用?現在學習動力如何?為什麼?我認為學習就是了解。認識自已不知道的知識 學習是為了提高自已的素質和修養,以...
問卷設計及問卷調查中的問題與技巧
應該說社會調查與問卷技術並沒有直接關係,社會調查範圍很廣,方法也很多,10年一次的人口普查 新聞記者的個案追蹤以及我們經常使用的問卷調查,都可以稱之為社會調查。現在我們越來越多地使用問卷調查,這是一種蒐集的資料來反映總體的有效方法。但在問卷設計及調查分析中,有些問題我們卻往往忽略,首先我先簡單說一下...
MVC架構下的問卷調查
一 首先說一下三層結構吧,表示層usl 主要表示web方式,也可表示winform方式。業務邏輯層bll 針對具體問題的操作,對資料的操作,對資料業務的邏輯處理。資料訪問層dal 對原始資料的訪問。二 言歸正傳,說一下問卷調查的製作。1 首先建立實體exam,裡面記錄id 自增一 parentno ...