Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/js/lesson.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/lesson.js')
-rwxr-xr-xjs/lesson.js415
1 files changed, 415 insertions, 0 deletions
diff --git a/js/lesson.js b/js/lesson.js
new file mode 100755
index 0000000..c0b01a6
--- /dev/null
+++ b/js/lesson.js
@@ -0,0 +1,415 @@
+$(document).ready(
+ function(){
+
+ var k = Karma({
+ image: [
+ {name:"camel" , file:"camel.png"},
+ {name:"jar" , file:"jar.png"},
+ {name:"cat" , file:"cat.png"},
+ {name:"teddy" , file:"teddy.png"},
+ {name:"squirrel" , file:"squirrel.png"},
+ {name:"box" , file:"box.png"},
+ {name:"deer" , file:"deer.png"},
+ {name:"elephant" , file:"elephant.png"},
+ {name:"lantern" , file:"lantern.png"},
+ {name:"triangle" , file:"triangle.png"},
+ {name:"man" , file:"man.png"},
+ {name:"monkey" , file:"monkey.png"},
+ {name:"reindeer" , file:"reindeer.png"},
+ {name:"horse" , file:"horse.png"},
+ {name:"mouth" , file:"mouth.png"},
+ {name:"mother" , file:"mother.png"},
+ {name:"rabbit" , file:"rabbit.png"},
+ {name:"badge" , file:"badge.png"},
+ {name:"pencil" , file:"pencil.png"},
+ {name:"pencil_in_hand" , file:"pencil_in_hand.png"},
+ {name:"tortoise" , file:"tortoise.png"},
+ {name:"lion" , file:"lion.png"},
+ {name:"joker" , file:"joker.png"},
+ {name:"train" , file:"train.png"},
+ {name:"ear" , file:"ear.png"},
+ {name:"dog" , file:"dog.png"},
+ {name:"rubber_letter" , file:"rubber_letter.png"},
+ {name:"ram" , file:"ram.png"},
+ {name:"puppet_show" , file:"puppet_show.png"},
+ {name:"bull" , file:"bull.png"},
+ {name:"card" , file:"card.png"},
+ {name:"rat" , file:"rat.png"},
+ {name:"goat" , file:"goat.png"},
+ {name:"peacock" , file:"peacock.png"},
+ {name:"girl" , file:"girl.png"},
+ {name:"mask" , file:"mask.png"},
+ {name:"tree" , file:"tree.png"},
+ {name:"village" , file:"village.png"}
+ ],
+
+ canvas: [
+ {name:"ladder", domId:"ladder"}
+ ]
+ });
+
+
+ k.ready(function() {
+ var logos =["camel", "jar","cat","teddy","squirrel","box","deer","elephant","lantern","triangle","man","monkey",
+ "reindeer","horse",
+ "mouth","mother","rabbit","badge","pencil","pencil_in_hand","tortoise","lion","joker",
+ "train","ear","dog","rubber_letter","ram","puppet_show",
+ "bull","card","rat","goat","peacock","girl","mask","tree","village","village"];
+
+ var activities = new Array();
+ activities[0] = new Array(23,0);
+ activities[1] = new Array(4,0);
+ activities[2] = new Array(32,0);
+ activities[3] = new Array(18,0);
+ activities[4] = new Array(30,0);
+ activities[5] = new Array(38,0);
+ activities[6] = new Array(25,0);
+ activities[7] = new Array(2,0);
+ activities[8] = new Array(9,0);
+ activities[9] = new Array(34,0);
+ activities[10] = new Array(35,0);
+ activities[11] = new Array(11,0);
+ activities[12] = new Array(28,0);
+ activities[13] = new Array(22,0);
+ activities[14] = new Array(24,0);
+ activities[15] = new Array(5,0);
+ activities[16] = new Array(32,0);
+ activities[17] = new Array(36,0);
+ activities[18] = new Array(6,0);
+ activities[19] = new Array(31,0);
+ activities[20] = new Array(19,0);
+ activities[21] = new Array(37,0);
+ activities[22] = new Array(24,0);
+ activities[23] = new Array(16,0);
+ activities[24] = new Array(32,0);
+ activities[25] = new Array(17,0);
+ activities[26] = new Array(39,0);
+ activities[27] = new Array(10,0);
+ activities[28] = new Array(15,0);
+ activities[29] = new Array(0,1);
+ activities[30] = new Array(17,1);
+ activities[31] = new Array(30,1);
+ activities[32] = new Array(31,1);
+ activities[33] = new Array(7,1);
+ activities[34] = new Array(8,1);
+ activities[35] = new Array(38,1);
+ activities[36] = new Array(0,2);
+ activities[37] = new Array(17,2);
+ activities[38] = new Array(30,2);
+ activities[39] = new Array(31,2);
+ activities[40] = new Array(7,2);
+ activities[41] = new Array(8,2);
+ activities[42] = new Array(12,1);
+ activities[43] = new Array(20,0);
+ activities[44] = new Array(38,18);
+ activities[45] = new Array(0,3);
+ activities[46] = new Array(17,3);
+ activities[47] = new Array(30,2);
+ activities[48] = new Array(31,3);
+ activities[49] = new Array(13,1);
+ activities[50] = new Array(8,3);
+ activities[51] = new Array(38,17);
+ activities[52] = new Array(0,4);
+ activities[53] = new Array(17,4);
+ activities[54] = new Array(30,3);
+ activities[55] = new Array(31,4);
+ activities[56] = new Array(13,0);
+ activities[57] = new Array(8,4);
+ activities[58] = new Array(29,1);
+ activities[59] = new Array(21,2);
+ activities[60] = new Array(36,0);
+ activities[61] = new Array(38,19);
+ activities[62] = new Array(0,5);
+ activities[63] = new Array(17,5);
+ activities[64] = new Array(30,4);
+ activities[65] = new Array(31,5);
+ activities[66] = new Array(7,0);
+ activities[67] = new Array(8,5);
+ activities[68] = new Array(5,1);
+ activities[69] = new Array(21,3);
+ activities[70] = new Array(1,1);
+ activities[71] = new Array(3,1);
+ activities[72] = new Array(38,20);
+ activities[73] = new Array(0,6);
+ activities[74] = new Array(17,6);
+ activities[75] = new Array(30,5);
+ activities[76] = new Array(31,6);
+ activities[77] = new Array(7,2);
+ activities[78] = new Array(8,6);
+ activities[79] = new Array(29,2);
+ activities[80] = new Array(21,4);
+ activities[81] = new Array(12,2);
+ activities[82] = new Array(33,1);
+ activities[83] = new Array(38,21);
+ activities[84] = new Array(0,7);
+ activities[85] = new Array(17,7);
+ activities[86] = new Array(30,5);
+ activities[87] = new Array(31,7);
+ activities[88] = new Array(7,0);
+ activities[89] = new Array(8,7);
+ activities[90] = new Array(21,5);
+ activities[91] = new Array(12,3);
+ activities[92] = new Array(1,2);
+ activities[93] = new Array(38,22);
+ activities[94] = new Array(0,8);
+ activities[95] = new Array(17,8);
+ activities[96] = new Array(30,6);
+ activities[97] = new Array(31,8);
+ activities[98] = new Array(7,0);
+ activities[99] = new Array(8,8);
+ activities[100] = new Array(21,6);
+ activities[101] = new Array(5,2);
+ activities[102] = new Array(33,2);
+ activities[103] = new Array(36,0);
+ activities[104] = new Array(38,19);
+ activities[105] = new Array(0,9);
+ activities[106] = new Array(17,9);
+ activities[107] = new Array(30,7);
+ activities[108] = new Array(31,9);
+ activities[109] = new Array(7,3);
+ activities[110] = new Array(8,9);
+ activities[111] = new Array(21,7);
+ activities[112] = new Array(12,4);
+ activities[113] = new Array(33,3);
+ activities[114] = new Array(38,23);
+ activities[115] = new Array(0,10);
+ activities[116] = new Array(17,10);
+ activities[117] = new Array(31,10);
+ activities[118] = new Array(7,0);
+ activities[119] = new Array(8,10);
+ activities[120] = new Array(21,8);
+ activities[121] = new Array(1,3);
+ activities[122] = new Array(26,2);
+ activities[123] = new Array(38,24);
+ activities[124] = new Array(0,11);
+ activities[125] = new Array(17,11);
+ activities[126] = new Array(30,7);
+ activities[127] = new Array(31,11);
+ activities[128] = new Array(7,0);
+ activities[129] = new Array(8,11);
+ activities[130] = new Array(29,3);
+ activities[131] = new Array(21,9);
+ activities[132] = new Array(5,3);
+ activities[133] = new Array(12,5);
+ activities[134] = new Array(38,25);
+ activities[135] = new Array(0,12);
+ activities[136] = new Array(17,12);
+ activities[137] = new Array(30,8);
+ activities[138] = new Array(31,12);
+ activities[139] = new Array(7,0);
+ activities[140] = new Array(8,12);
+ activities[141] = new Array(21,10);
+ activities[142] = new Array(1,4);
+ activities[143] = new Array(33,4);
+ activities[144] = new Array(36,0);
+ activities[145] = new Array(38,19);
+ activities[146] = new Array(0,13);
+ activities[147] = new Array(17,13);
+ activities[148] = new Array(31,13);
+ activities[149] = new Array(7,4);
+ activities[150] = new Array(8,13);
+ activities[151] = new Array(21,11);
+ activities[152] = new Array(12,6);
+ activities[153] = new Array(1,5);
+ activities[154] = new Array(38,26);
+ activities[155] = new Array(0,14);
+ activities[156] = new Array(17,14);
+ activities[157] = new Array(30,9);
+ activities[158] = new Array(31,14);
+ activities[159] = new Array(7,10);
+ activities[160] = new Array(8,14);
+ activities[161] = new Array(21,12);
+ activities[162] = new Array(29,4);
+ activities[163] = new Array(33,5);
+ activities[164] = new Array(20,0);
+ activities[165] = new Array(38,27);
+ activities[166] = new Array(0,15);
+ activities[167] = new Array(17,15);
+ activities[168] = new Array(30,10);
+ activities[169] = new Array(31,15);
+ activities[170] = new Array(7,5);
+ activities[171] = new Array(8,15);
+ activities[172] = new Array(29,5);
+ activities[173] = new Array(21,13);
+ activities[174] = new Array(1,6);
+ activities[175] = new Array(33,6);
+ activities[176] = new Array(3,3);
+ activities[177] = new Array(38,20);
+ activities[178] = new Array(0,16);
+ activities[179] = new Array(17,16);
+ activities[180] = new Array(31,16);
+ activities[181] = new Array(7,0);
+ activities[182] = new Array(8,16);
+ activities[183] = new Array(29,6);
+ activities[184] = new Array(21,14);
+ activities[185] = new Array(5,5);
+ activities[186] = new Array(12,7);
+ activities[187] = new Array(36,0);
+ activities[188] = new Array(38,19);
+ activities[189] = new Array(0,17);
+ activities[190] = new Array(17,17);
+ activities[191] = new Array(31,17);
+ activities[192] = new Array(7,0);
+ activities[193] = new Array(8,17);
+ activities[194] = new Array(29,7);
+ activities[195] = new Array(21,15);
+ activities[196] = new Array(12,8);
+ activities[197] = new Array(1,7);
+ activities[198] = new Array(38,28);
+ activities[199] = new Array(0,18);
+ activities[200] = new Array(17,18);
+ activities[201] = new Array(31,18);
+ activities[202] = new Array(7,6);
+ activities[203] = new Array(8,18);
+ activities[204] = new Array(29,8);
+ activities[205] = new Array(21,16);
+ activities[206] = new Array(5,6);
+ activities[207] = new Array(33,7);
+ activities[208] = new Array(20,0);
+ activities[209] = new Array(38,29);
+ activities[210] = new Array(0,19);
+ activities[211] = new Array(17,19);
+ activities[212] = new Array(31,19);
+ activities[213] = new Array(7,0);
+ activities[214] = new Array(8,19);
+ activities[215] = new Array(29,9);
+ activities[216] = new Array(21,17);
+ activities[217] = new Array(12,9);
+ activities[218] = new Array(33,8);
+ activities[219] = new Array(38,30);
+ activities[220] = new Array(0,20);
+ activities[221] = new Array(17,20);
+ activities[222] = new Array(31,20);
+ activities[223] = new Array(7,0);
+ activities[224] = new Array(8,20);
+ activities[225] = new Array(29,10);
+ activities[226] = new Array(21,18);
+ activities[227] = new Array(5,7);
+ activities[228] = new Array(1,8);
+ activities[229] = new Array(36,0);
+ activities[230] = new Array(38,19);
+ activities[231] = new Array(0,21);
+ activities[232] = new Array(17,21);
+ activities[233] = new Array(31,21);
+ activities[234] = new Array(7,7);
+ activities[235] = new Array(8,21);
+ activities[236] = new Array(21,19);
+ activities[237] = new Array(33,9);
+ activities[238] = new Array(14,1);
+ activities[239] = new Array(3,4);
+ activities[240] = new Array(20,0);
+ activities[241] = new Array(38,30);
+ activities[242] = new Array(0,22);
+ activities[243] = new Array(20,0);
+ activities[244] = new Array(36,0);
+ activities[245] = new Array(8,22);
+ activities[246] = new Array(21,20);
+ activities[247] = new Array(0,23);
+
+ k.ready(function(){
+
+ //game logic
+ function draw(){
+ var canvas = document.getElementById('ladder');
+ if (canvas.getContext){
+ var ctx = canvas.getContext('2d');
+ var maxx = 1200;
+ var maxy = 16000;
+ var x = 0;
+ var y = 0;
+ var odd = 1;
+ var cellsize = 100;
+ var xstart = 16 + 2 * cellsize;
+ var ystart = maxy - cellsize * 0.5;
+ var rows = 1 + activities.length / 3;
+ var row = 0;
+ var cells = 8;
+ var cell = 0;
+ var id = -1;
+ var ix = 0;
+ var idm = 0;
+ var activity = 0;
+ var flag = 0;
+
+ // ladder
+ ctx.font = "14pt Arial";
+ // ctx.textAlign = "center";
+ x = xstart;
+ y = ystart;
+ ctx.beginPath();
+ ctx.fillRect(x-cellsize*0.8,y+0.15*cellsize,cellsize*0.5,cellsize*0.2);
+ ctx.moveTo(x-cellsize*0.5,y);
+ ctx.lineTo(x-cellsize*0.2,y+0.25*cellsize);
+ ctx.moveTo(x-cellsize*0.5,y+0.5*cellsize);
+ ctx.lineTo(x-cellsize*0.2,y+0.25*cellsize);
+ for(row=0;row<rows;row++){
+ if (row % 2 == 0) {
+ x = xstart;
+ } else {
+ x = xstart + (cells - 1)*cellsize;
+ }
+ for(cell=0;cell<cells;cell++){
+ ctx.strokeRect(x,y,cellsize, cellsize / 2);
+ if (cell % 2 == 1) {
+ drawlogo(x,y,activity);
+ activity = activity + 1;
+ }
+ if (row % 2 == 0){
+ x = x + cellsize;
+ } else {
+ x = x - cellsize;
+ }
+ }
+ if (row + 1 < rows) {
+ if (odd == 1) {
+ ctx.moveTo(x,y);
+ ctx.arc(x, y-cellsize, cellsize, Math.PI/2, 0, 1);
+ ctx.arc(x, y-cellsize, 1.5*cellsize, 0, Math.PI*3/2, 1);
+ ctx.arc(x, y-cellsize, cellsize, Math.PI*3/2, 0, 0);
+ ctx.arc(x, y-cellsize, 1.5*cellsize, 0, Math.PI/2, 0);
+ ctx.stroke();
+ odd = 0;
+ } else {
+ x = xstart;
+ ctx.moveTo(x,y);
+ ctx.arc(x, y-cellsize, cellsize, Math.PI/2, Math.PI, 0);
+ ctx.arc(x, y-cellsize, 1.5*cellsize, Math.PI, Math.PI*3/2, 0);
+ ctx.arc(x, y-cellsize, cellsize, Math.PI*3/2, Math.PI, 1);
+ ctx.arc(x, y-cellsize, 1.5*cellsize, Math.PI, Math.PI/2, 1);
+ ctx.stroke();
+ odd = 1;
+ }
+ }
+ y = y - 2.5 * cellsize;
+ x = xstart;
+ }
+ }
+
+ function drawlogo(x, y, activity) {
+
+ id = activities[activity][0]
+ ix = activities[activity][1]
+ if (id == 0){
+ // draw milestone
+ ctx.moveTo(x,y);
+ ctx.lineTo(x,y-cellsize);
+ ctx.moveTo(x+cellsize, y-cellsize);
+ ctx.lineTo(x+cellsize, y);
+ ctx.moveTo(x, y-cellsize);
+ ctx.arc(x+0.5*cellsize,y-cellsize,0.5*cellsize,Math.PI,0,0);
+ ctx.fillText(ix, x + (cellsize * 0.3), y-(cellsize * 0.4), cellsize);
+ ctx.stroke();
+ } else {
+ // draw logo
+ k.canvas["ladder"].drawImage(k.image[logos[id-1]].media, x, y - cellsize);
+ if (ix > 0) {
+ ctx.fillText(ix, x + (cellsize * 0.3), y + (cellsize * 0.4), cellsize);
+ }
+ }
+ }
+ }
+
+ draw();
+ });
+ });
+});