cmq se ti può essere di aiuto il codice che controlla il conteggio dei risulati èil seguente
codice:
/*--------------VERSION CONTROL INFORMATION----------------------
Quiz Template Global Toolbox Class
Developed by Dan Carr
Quality Assurance by Andrew Chemey
Last Modified for Flash MX: November 25, 2001
Copyright 2001 Macromedia Inc. All rights reserved.
------------------END VERSION CONTROL--------------------------
*/
#initclip 1
// SECTION 1: BUILD THE QUIZ CLASS FOR EVENT HANDLING
// 1-1: Set the contructor function for the Quiz Class
_global.Quiz = function ()
{
this.total_correct = 0;
this.total_wrong = 0;
this.percent_correct = 0;
this.percent_display = undefined;
this.quest_to_ask = 0;
this.randomize = undefined;
this.login_file = undefined;
this.activity_ID = undefined;
this.activity_name = undefined;
this.results_page = undefined;
this.Quest_Frames = new Array();
this.quest_num = 0;
this.page_num = undefined;
this.endFlag = false;
}
_global.Quiz.prototype = new Object();
Object.registerClass("QuizSuperClass",Quiz);
// 1-2: Initialize Quiz tracking session
Quiz.prototype.initStartQuiz = function ()
{
this.start_time = getTimer();
var start_param = this.login_file+";"+this.activity_ID+";"+this.activity_name;
fscommand("CMIInitialize");
fscommand("MM_cmiSetLessonStatus", "i");
fscommand("MM_StartSession", start_param);
}
// 1-3: Initialize a new quiz page
Quiz.prototype.initNewPage = function(num)
{
fscommand("CMISetLocation", num);
}
// 1-4: Conclude the Quiz session and submit score
Quiz.prototype.initSubmitScore = function()
{
this.stop_time = int(getTimer()/1000);
this.elapsed_time = this.getLatency(this.stop_time - this.start_time);
this.percent_correct = Math.round(this.total_correct/(this.total_correct+this.total_wrong)*100);
fscommand("MM_cmiSetLessonStatus", "c");
fscommand("CMISetTime", this.elapsed_time);
fscommand("CMISetScore", this.percent_correct);
fscommand("CMIFinish");
fscommand("CMIExitAU");
}
// 1-5: Format Latency for correct tracking
Quiz.prototype.getLatency = function (timeInSec)
{
var l_seconds, l_minutes, l_hours, timeInHours;
if (timeInSec <= 9) {
l_seconds = "0"+timeInSec;
l_minutes = "00";
l_hours = "00";
} else {
l_seconds = timeInSec;
l_minutes = "00";
l_hours = "00";
}
if (l_seconds > 59) {
l_minutes = int(l_seconds / 60);
l_minutes = this.formatNum(l_minutes);
l_seconds = l_seconds - (l_minutes * 60);
l_seconds = this.formatNum(l_seconds);
l_hours = "00";
}
if (l_minutes > 59) {
l_hours = int(l_minutes/ 60);
l_hours = this.formatNum(l_hours);
l_minutes = l_minutes - (l_hours * 60);
l_minutes = this.formatNum(l_minutes);
}
timeInHours = l_hours+":"+l_minutes+":"+l_seconds;
return timeInHours;
}
// 1-6: Return formatted number - convert from single digit to double digit
Quiz.prototype.formatNum = function (num) {
if (num <= 9) {
num = "0"+num;
}
return num;
}
// 1-7: Set the pooling number and build an array of page numbers
Quiz.prototype.setQuestArray = function()
{
this.pooling_array = new Array();
this.start_page;
this.end_page;
for (var i = 0; i < _root._totalframes; i++) {
this.pooling_array[i] = i+1;
}
this.start_page = this.pooling_array.shift();
this.end_page = this.pooling_array.pop();
if (this.randomize == true) {
this.setRandomArray(this.pooling_array);
}
if (this.quest_to_ask > this.pooling_array.length || this.quest_to_ask < 1) {
this.quest_to_ask = this.pooling_array.length;
} else {
this.quest_to_ask = int(this.quest_to_ask);
}
for (var i = 0; i < this.quest_to_ask; i++) {
this.Quest_Frames[i] = this.pooling_array[i];
}
}
// 1-8: Randomize the array of page numbers if requested
Quiz.prototype.setRandomArray = function(array)
{
for (var i=0 ; i < array.length; i++) {
newLoc = Math.round(Math.random() * (array.length-1));
currLoc = array[i];
array[i] = array[newLoc];
array[newLoc] = currLoc;
}
}
// 1-9: Set the navigation to the next page in the array
Quiz.prototype.setNewPage = function()
{
if (this.endFlag == false){
this.page_num = this.Quest_Frames[this.quest_num];
this.quest_num++;
this.initNewPage(this.page_num);
_root.gotoAndStop(this.page_num);
} else if (this.endFlag == true) {
this.percent_format = this.percent_correct+"%";
_root.gotoAndStop(_root._totalframes);
}
}
// 1-10: Catch the result variables from the interactions
Quiz.prototype.countScore = function (weightNum)
{
if (weightNum < 0) {
this.total_wrong += Math.abs(weightNum);
} else {
this.total_correct += Number(weightNum);
}
this.quest_to_ask--;
if(this.quest_to_ask > 0){
_root.nav.nextBtn.gotoAndStop(1);
} else if (this.quest_to_ask == 0) {
this.initSubmitScore();
this.endFlag = true;
if(this.results_page == true){
_root.nav.nextBtn.gotoAndStop(1);
} else {
_root.nav.nextBtn.gotoAndStop(2);
}
}
}
// 1-11: Trace a report of the Quiz Object properties to the Output window
Quiz.prototype.reportToOutput = function(defined)
{
for (x in this){
if (typeof(this[x]) != "function" && typeof(this[x]) != "object"){
if(defined == true){
if (typeof(x) != undefined){
trace(x+" : "+this[x]);
}
} else {
trace(x+" : "+this[x]);
}
}
}
}
#endinitclip 1