【发布时间】:2014-09-25 02:50:40
【问题描述】:
我正在为每轮有很多问题的游戏申请。每个玩家都可以回答问题(多个玩家可以回答同一个问题)并获得不同数量的积分。该应用程序在开始时有一个玩家列表和一个问题列表。
我不确定如何对此建模 - 我在考虑每个问题都可以有一个字典、玩家对象的键和他们获得多少分的值。我还考虑为每个具有 Question 对象键和积分值的玩家提供一个字典(如果他们没有回答,那么该问题就不是键)。
我不确定哪个是最佳选择,或者是否有更好的方法来做到这一点。让许多问题对象副本为许多玩家浮动是否是个好主意(反之亦然,对于其他选项)?
在我的 AngularJS 工厂中,我创建了一个 Player 类:
function Player(name, heard) {
this.name = name;
this.heard = heard;
}
还有一个 QuestionList 和 Question 类
function Question(number) {
this.number = number;
}
function QuestionList() {
this.questions;
}
QuestionList.prototype.createQuestions(n) {
for (var i = 0; i < n; i++)
this.questions.push(new Question(i + 1));
}
我如何关联它们?任何帮助将不胜感激,谢谢。
【问题讨论】:
-
我认为玩家可能来来去去,但无论谁在玩,问题都是一样的。这听起来像是信息存储在播放器中,而不是问题中。您是否将
answers数组视为player的属性?数组中的每个项目都可以包含问题(问题对象引用或 ID 号)、选择的答案、获得的分数、回答的时间等。 -
每一轮的玩家都是一样的。你能扩展对象引用/ID号吗?我认为这就是我需要避免重复。此外,我需要遍历所有问题以显示记分牌。在您的方法中,我是否会遍历每个玩家,为每个问题编号搜索问题编号/分值?
标签: javascript angularjs oop object data-structures