1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
$(document).ready(function(){
var k = Karma ({
svg: [{domId:"truck", name:"truck"}]
});
k.ready(function(){
var TIMER_DELAY=1000, TOTAL_SECONDS=10;
var boxInTruckA=0,boxInTruckB=0,level=1,num1=0,num2=0,numTime=TOTAL_SECONDS;
var selectedOpt="#optA";
var isRunning=false;
var isFirstRun=true;
var timer;
var init = function() {
$("#happyFace",k.svg.truck.root).hide();
$("#sadFace",k.svg.truck.root).hide();
$("#rightBox",k.svg.truck.root).text("");
$(selectedOpt,k.svg.truck.root).animate({svgTransform: 'translate(0 -10)'},500);
$("#box1",k.svg.truck.root).text("");
$("#box2",k.svg.truck.root).text("");
};
var addBoxInTruck = function(truckName,num) {
$("#"+truckName+"box"+num,k.svg.truck.root).show();
};
var timesOut =function(){
numTime--;
$("#tmrValue",k.svg.truck.root).text(numTime);
if (numTime===0) {
boxInTruckA++;
addBoxInTruck("truckA",boxInTruckA);
if (boxInTruckA===9) {
$("#truckAtext",k.svg.truck.root).show();
$("#truckA",k.svg.truck.root).animate({svgTransform: 'translate(600)'}, 4000);
endGame();
return;
}
numTime=TOTAL_SECONDS;
showQuestion();
}
timer = window.setTimeout(timesOut,TIMER_DELAY);
};
var showQuestion = function() {
$("#rightBox",k.svg.truck.root).text(num1+" X "+num2+" = "+num1*num2);
num1=Karma.rand(2+level,3+(level*3));
num2=Karma.rand(2+level,num1);
$("#box1",k.svg.truck.root).text(num1);
$("#box2",k.svg.truck.root).text(num2);
};
var checkAnswer = function(event) {
if(isRunning===true){
$("#answerBox").css('background-color','white');
if(event.keyCode===13) {
$("#happyFace",k.svg.truck.root).hide();
$("#sadFace",k.svg.truck.root).hide();
if($("#answerBox").val()==(num1*num2)) {
$("#happyFace",k.svg.truck.root).show();
numTime=TOTAL_SECONDS;
boxInTruckB++;
addBoxInTruck("truckB",boxInTruckB);
if (boxInTruckB===9) {
$("#truckBtext",k.svg.truck.root).show();
$("#truckB",k.svg.truck.root).animate({svgTransform: 'translate(600 198)'}, 4000);
endGame();
return;
}
else {
showQuestion();
}
}
else {
$("#sadFace",k.svg.truck.root).show();
$("#answerBox").css('background-color','red');
}
$("#answerBox").val('');
}
}
};
var addEvent = function() {
$("#answerBox").keydown(checkAnswer);
$("#btnStart",k.svg.truck.root).click(startGame);
$(".optBtns",k.svg.truck.root).click(function(){
if(isFirstRun===true) {
if (selectedOpt==="#"+this.id) { //if same option clicked, do nothing
return;
}
$(selectedOpt,k.svg.truck.root).animate({svgTransform: 'translate(0 0)'},500);
$(this).animate({svgTransform: 'translate(0 -10)'},500);
selectedOpt="#"+this.id;
level = selectedOpt.charCodeAt(4) - 64; //A=65, B=66, C=67
}
});
};
var endGame=function() {
isRunning=false;
clearTimeout(timer);
};
var startGame = function() {
if(isFirstRun===true) {
$(".box",k.svg.truck.root).hide();
$(".truckText",k.svg.truck.root).hide();
isRunning=true;
isFirstRun=false;
timesOut();
showQuestion();
$("#answerBox").val('').focus();
}
}
addEvent();
init();
});
});
|