我正在申请一个每轮有很多问题的游戏。每个玩家都可以回答问题(多个玩家可以回答相同的问题)并获得不同数量的积分。该应用程序在开始时有一个播放器列表和一系列问题。
我不确定如何对此进行建模 - 我正在考虑每个问题可能都有一个字典,玩家对象的关键字以及他们获得了多少点的价值。我还考虑为每个玩家提供一个字典,其中包含Question对象和点值的关键字(如果他们没有回答那么问题不是关键)。
我不确定哪个是最佳选择,或者是否有更好的方法可以做到这一点。对于许多玩家来说,让许多问题对象副本浮动是一个好主意(反之亦然,对于其他选项)?
在我的AngularJS工厂,我制作了一个Player类:
function Player(name, heard) {
this.name = name;
this.heard = heard;
}
和问题清单和问题类
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));
}
我如何联系他们?任何帮助将不胜感激,谢谢。
答案 0 :(得分:1)
每一轮都有很多问题,每个问题都有很多选择(和点值),每个玩家有很多选择,你可以在其中加上每个问题的分数。
function Round(questions){
this.questions=questions;//array of Question instances
}
function Question(question){
this.question=question;//the question "What's a green animal?"
this.choices=choices;//array of choice instances
}
function Choice(question,choice,pointsWorth){
this.question=question;//the question it belongs to---the parent class
this.choice=choice;//"Alligator"
this.pointsWorth=pointsWorth;//the correct answer is worth 5, wrong answers 0?
}
function Player(){
this.choices=[];
}
Player.prototype.chooseChoice=function(choice){
this.choices.push(choice);
}
Player.prototype.score=function(){
return sum(this.choices);//You gotta write this function. this.choices[0].pointsWorth+this.choices[1].pointsWorth etc
}