| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943 | // Fractions Comparison Square states/****************************** MENU ****************************/var menuSquareTwo={    create: function() {                // Creating sound variable        var beepSound = game.add.audio('sound_beep');                // Reading dictionary        var words = game.cache.getJSON('dictionary');                  // Menu options          //information label        m_info = game.add.text(14, 53, "", { font: "20px Arial", fill: "#330000", align: "center" });          // Return to language button        // Remove language icon ::Igor        m_world = game.add.sprite(10, 10, 'about');         m_world.inputEnabled = true;        m_world.input.useHandCursor = true;        m_world.events.onInputDown.add(showInfo);        m_world.events.onInputOver.add(this.showOption, {message: words.menu_world});        m_world.events.onInputOut.add(this.showOption, {message: ""});                  // Return to menu button        m_list = game.add.sprite(60, 10, 'list');         m_list.inputEnabled = true;        m_list.input.useHandCursor = true;        m_list.events.onInputDown.add(this.loadState, {state: "menu", beep: beepSound});        m_list.events.onInputOver.add(this.showOption, {message: words.menu_list});        m_list.events.onInputOut.add(this.showOption, {message: ""});                // Setting title        var style = { font: '28px Arial', fill: '#00804d'};        var title = game.add.text(860, 40, words.game_menu_title, style);        title.anchor.setTo(1, 0.5);                //Showing Games and Levels        var maxHeight = 120; //Max height of a stair        var stairHeight = 29; //height growth of a stair        var stairWidth = 80; //Width of a stair        var startStair = 240;        var startSymbol = 150;        var startSquare = (startSymbol/2)+startStair+stairWidth*5;                var bplus = game.add.sprite(startSymbol, 300, 'equal');            bplus.frame = 0;            bplus.scale.setTo(0.7);            bplus.anchor.setTo(0.5,0.5);                     //First stairs, 6 levels        var stairsA = [];        for(var i=1;i<=5;i++){            //stair            var x1 = startStair+(stairWidth*(i-1));            var y1 = 100+maxHeight-i*stairHeight;            var x2 = stairWidth;//x1 + 40;            var y2 = stairHeight*i;//y1 + 24;                        stairsA[i] = game.add.graphics(0, 0);            stairsA[i].lineStyle(1, 0xFFFFFF, 1);            stairsA[i].beginFill(0x99b3ff);            stairsA[i].drawRect(x1, y1, x2, y2);            stairsA[i].endFill();                        //event            stairsA[i].inputEnabled = true;            stairsA[i].input.useHandCursor = true;            stairsA[i].events.onInputDown.add(this.loadMap, {beep: beepSound, difficulty: i, type: 'A' });            stairsA[i].events.onInputOver.add(function (item) { item.alpha=0.5; }, this);            stairsA[i].events.onInputOut.add(function (item) { item.alpha=1; }, this);            //label            var xl = x1+stairWidth/2; //x label            var yl = y1+(stairHeight*i)/2; //y label            var label = game.add.text(xl, yl, i, { font: '25px Arial', fill: '#ffffff', align: 'center' });                label.anchor.setTo(0.5, 0.4);        }                        var stairsB = [];        for(var i=1;i<=5;i++){            //stair            var x1 = startStair+(stairWidth*(i-1));            var y1 = 270+maxHeight-i*stairHeight;            var x2 = stairWidth;//x1 + 40;            var y2 = stairHeight*i;//y1 + 24;                        stairsB[i] = game.add.graphics(0, 0);            stairsB[i].lineStyle(1, 0xFFFFFF, 1);            stairsB[i].beginFill(0xff6666);            stairsB[i].drawRect(x1, y1, x2, y2);            stairsB[i].endFill();                        //event            stairsB[i].inputEnabled = true;            stairsB[i].input.useHandCursor = true;            stairsB[i].events.onInputDown.add(this.loadMap, {beep: beepSound, difficulty: i, type: 'B' });            stairsB[i].events.onInputOver.add(function (item) { item.alpha=0.5; }, this);            stairsB[i].events.onInputOut.add(function (item) { item.alpha=1; }, this);            //label            var xl = x1+stairWidth/2; //x label            var yl = y1+(stairHeight*i)/2; //y label            var label = game.add.text(xl, yl, i, { font: '25px Arial', fill: '#ffffff', align: 'center' });                label.anchor.setTo(0.5, 0.4);        }                                 var stairsC = [];        for(var i=1;i<=5;i++){            //stair            var x1 = startStair+(stairWidth*(i-1));            var y1 = 440+maxHeight-i*stairHeight;            var x2 = stairWidth;//x1 + 40;            var y2 = stairHeight*i;//y1 + 24;                        stairsC[i] = game.add.graphics(0, 0);            stairsC[i].lineStyle(1, 0xFFFFFF, 1);            stairsC[i].beginFill(0xb366ff);            stairsC[i].drawRect(x1, y1, x2, y2);            stairsC[i].endFill();                        //event            stairsC[i].inputEnabled = true;            stairsC[i].input.useHandCursor = true;            stairsC[i].events.onInputDown.add(this.loadMap, {beep: beepSound, difficulty: i, type: 'C' });            stairsC[i].events.onInputOver.add(function (item) { item.alpha=0.5; }, this);            stairsC[i].events.onInputOut.add(function (item) { item.alpha=1; }, this);            //label            var xl = x1+stairWidth/2; //x label            var yl = y1+(stairHeight*i)/2; //y label            var label = game.add.text(xl, yl, i, { font: '25px Arial', fill: '#ffffff', align: 'center' });                label.anchor.setTo(0.5, 0.4);        }         // ::Igor        //this.beep.play();        twoPosition = 0; //Map position        twoMove = true; //Move no next point        twoDifficulty  = jogo.difficulty; //Number of difficulty (1 to 5)        twoType = jogo.modo;        game.state.start('mapSTwo');        /// ::Igor    },        //Navigation functions,        showOption: function(){        m_info.text = this.message;    },            loadState: function(){        this.beep.play();        game.state.start(this.state);    },                    //MapLoading function    loadMap: function(){        this.beep.play();        twoPosition = 0; //Map position        twoMove = true; //Move no next point        twoDifficulty  = this.difficulty; //Number of difficulty (1 to 5)        twoType = this.type; //Operator of game        if(twoPosition<5){            game.state.start('mapSTwo');        }else{            game.state.start('unofinal');        }    }    };/****************************** MAP ****************************/var mapSquareTwo={    create: function() {                        // Creating sound variable        beepSound = game.add.audio('sound_beep');                // Reading dictionary        var words = game.cache.getJSON('dictionary');        // Background        game.add.image(0, 40, 'bgmap');                if(oneMenu){            // Menu options              //information label            m_info = game.add.text(14, 53, "", { font: "20px Arial", fill: "#330000", align: "center" });              // Return to language button            // Remove language icon ::Igor            m_world = game.add.sprite(10, 10, 'about');             m_world.inputEnabled = true;            m_world.input.useHandCursor = true;            m_world.events.onInputDown.add(showInfo);            m_world.events.onInputOver.add(this.showOption, {message: words.menu_world});            m_world.events.onInputOut.add(this.showOption, {message: ""});              // Return to menu button            m_list = game.add.sprite(60, 10, 'list');             m_list.inputEnabled = true;            m_list.input.useHandCursor = true;            m_list.events.onInputDown.add(this.loadState, {state: "menu", beep: beepSound});            m_list.events.onInputOver.add(this.showOption, {message: words.menu_list});            m_list.events.onInputOut.add(this.showOption, {message: ""});              // Return to diffculty            m_back = game.add.sprite(110, 10, 'back');             m_back.inputEnabled = true;            m_back.input.useHandCursor = true;            m_back.events.onInputDown.add(this.loadState, {state: "menuSTwo", beep: beepSound});            m_back.events.onInputOver.add(this.showOption, {message: words.menu_back});            m_back.events.onInputOut.add(this.showOption, {message: ""});        }                // Styles for labels        var stylePlace = { font: '26px Arial', fill: '#ffffff', align: 'center'};        var styleMenu = { font: '30px Arial', fill: '#000000', align: 'center'};                // Progress bar        var percentText = onePosition*20;        var percentBlocks = onePosition;        for(var p=1;p<=percentBlocks;p++){            var block = game.add.image(680+(p-1)*30, 10, 'block');            block.scale.setTo(2, 1); //Scaling to double width        }        game.add.text(840, 10, percentText+'%', styleMenu);        game.add.text(670, 10, words.difficulty + ' ' + oneDifficulty, styleMenu).anchor.setTo(1,0);        game.add.image(680, 10, 'pgbar');                 //Road        this.points = {        'x': [ 90, 204, 318, 432, 546, 660 ],        'y': [ 486, 422, 358, 294, 230, 166 ]        };                 //Road        this.points = {        'x': [ 90, 204, 318, 432, 546, 660 ],        'y': [ 486, 422, 358, 294, 230, 166 ]        };                  //House        var house = game.add.image(this.points.x[0], this.points.y[0], 'house');        house.scale.setTo(0.7);        house.anchor.setTo(0.7, 0.8);         //School        var school = game.add.image(this.points.x[5], this.points.y[5], 'school');        school.scale.setTo(0.35);        school.anchor.setTo(0.2, 0.7);                 //Trees and Rocks                this.rocks = {             'x': [156, 275, 276, 441, 452, 590, 712],             'y': [309, 543, 259, 156, 419, 136, 316]        }        this.r_types = [1, 1, 2, 1, 2, 2, 2];                for(var i=0; i<this.r_types.length; i++){            if(this.r_types[i]==1){                var sprite = game.add.image(this.rocks.x[i], this.rocks.y[i], 'rock');                sprite.scale.setTo(0.32);                sprite.anchor.setTo(0.5, 0.95);            }else if(this.r_types[i]==2){                var sprite = game.add.image(this.rocks.x[i], this.rocks.y[i], 'birch');                sprite.scale.setTo(0.4);                sprite.anchor.setTo(0.5, 0.95);            }        }        this.trees = {             'x': [105, 214, 354, 364, 570, 600, 740, 779],             'y': [341, 219, 180, 520, 550, 392, 488, 286]        }        this.t_types = [2, 4, 3, 4, 1, 2, 4, 4];                for(var i=0; i<this.t_types.length; i++){            var sprite = game.add.image(this.trees.x[i], this.trees.y[i], 'tree'+this.t_types[i]);            sprite.scale.setTo(0.6);            sprite.anchor.setTo(0.5, 0.95);        }                // places        for (var p = 1; p < this.points.x.length -1; p++){            var place;            if(p<twoPosition)                place = game.add.image(this.points.x[p], this.points.y[p], 'place_b');            else if (twoMove && p==twoPosition)                place = game.add.image(this.points.x[p], this.points.y[p], 'place_b');            else                place = game.add.image(this.points.x[p], this.points.y[p], 'place_a');            place.anchor.setTo(0.5, 0.5);            place.scale.setTo(0.3);            var sign = game.add.image(this.points.x[p]-20, this.points.y[p]-60, 'sign');            sign.anchor.setTo(0.5, 1);            sign.scale.setTo(0.4);            if(p>0 && p<this.points.x.length-1){                var text = game.add.text(this.points.x[p]-23, this.points.y[p]-84, p, stylePlace);                text.anchor.setTo(0.35, 0.5);            }        }        // Kid start position        this.kid = game.add.sprite(this.points.x[twoPosition], this.points.y[twoPosition], 'kid_run');        this.kid.anchor.setTo(0.5,1);        this.kid.scale.setTo(0.5);        game.physics.arcade.enable(this.kid);        this.kid.animations.add('run');        this.kid.animations.play('run', 6, true);                // Delay to next level        this.count = 0;        this.wait = 60;    },    update: function() {                // Wait before moving or staring a game        this.count ++;        if(this.count<=this.wait) return;                // If movement is stopped or position is 5 (final), load game        if(twoPosition==5){            twoMove = false;        }                if(!twoMove){            this.loadGame();        }                // If momevent is enabled, move to next point from actual        if(twoMove){            game.physics.arcade.moveToXY(                this.kid,                 this.points.x[twoPosition+1],                this.points.y[twoPosition+1],                100            );                        // I tractor reached the end, stop movement            if(Math.ceil(this.kid.x)==this.points.x[twoPosition+1] || Math.ceil(this.kid.y)==this.points.y[twoPosition+1]){                twoMove=false;                twoPosition += 1; //Update position            }        }    },    //Navigation functions        showOption: function(){        m_info.text = this.message;    },            loadState: function(){        this.beep.play();        game.state.start(this.state);    },            //MapLoading function    loadGame: function(){        beepSound.play();        if(twoPosition<5){            game.state.start('gameSTwo');        }else{            game.state.start('endSTwo');        }    }};/****************************** GAME ****************************/var sizeA, sizeB, valueA, valueB;var clickA, clickB, animateA, animateB, result, animate, cDelay, eDelay;var blocksA, blocksB, auxblqA, auxblqB;var labelA, fractionA, separatorA, labelB, fractionB, separatorB;var kid, kidDirection, equals, counter, endCounter;var xA, yA, xB, yB, blockW, blockH;var okImg, errorImg;var gameSquareTwo={    create: function() {                  // ::Igor        if (conta == true) {            start[iterator] = Math.floor(Date.now()/1000);            conta = false;        }                //timer        totalTime = 0;        timer = game.time.create(false);        timer.loop(1000, this.updateCounter, this);        timer.start();                        points = [2,4,6,8,9,10,12,14,15,16,18,20];                // Creating sound variable        beepSound = game.add.audio('sound_beep');        okSound = game.add.audio('sound_ok');        errorSound = game.add.audio('sound_error');                // Reading dictionary        var words = game.cache.getJSON('dictionary');        // Background        game.add.image(0, 0, 'bgimage');                //Clouds        game.add.image(300, 100, 'cloud');        game.add.image(660, 80, 'cloud');        game.add.image(110, 85, 'cloud').scale.setTo(0.8);                // Styles for labels        var stylePlace = { font: '26px Arial', fill: '#400080', align: 'center'};        var styleLabel = { font: '26px Arial', fill: '#000080', align: 'center'};        var styleFraction = { font: '20px Arial', fill: '#000080', align: 'center'};        var styleMenu = { font: '30px Arial', fill: '#000000', align: 'center'};                //Floor        for(var i=0;i<9;i++){            game.add.image(i*100, 501, 'floor');        }                     //kid        kid = game.add.sprite(100, 470, 'kid_walk');        kid.anchor.setTo(0.5, 0.7);        kid.scale.setTo(0.8);        kid.animations.add('right',[0,1,2,3,4,5,6,7,8,9,10,11]);        kid.animations.add('left',[23,22,21,20,19,18,17,16,15,14,13,12]);        kidDirection = 'right';        kid.animations.play('right', 6, true);                        //Control variables        sizeA = 0; //Size of first block        sizeB = 0; //Size of second block        valueA = 0; //Number of clicked blocks for a        valueB = 0; //Number of clicked blocks for b                        clickA = false; //If block A is clicked        clickB = false; //If block B is clicked        animateA = false; //Animate A selected blocks to position        animateB = false; //Animate B selected blocks to position        result = false; //Game is correct        animate = null; //Final animation sequence                 //generator        console.log("Diff " + twoDifficulty + ", ini " + ((twoDifficulty-1)*2+1) + ", end " + ((twoDifficulty-1)*2+3));        var rPoint = game.rnd.integerInRange((twoDifficulty-1)*2+1,(twoDifficulty-1)*2+3);        sizeA = points[rPoint];        console.log("Rpoint " + rPoint + ", val " + sizeA);        sizeB =  this.getRndDivisor(sizeA);        blockB = game.rnd.integerInRange(1, sizeB);        blockA = (sizeA/sizeB) * blockB;                console.log("SA " + sizeA + ", SB " + sizeB + ", BA " + blockA + ", BB " + blockB );                //Blocks and fractions group        blocksA = game.add.group(); //Main blocks A        blocksB = game.add.group(); //Main blocks B        auxblqA = game.add.group(); //Auxiliar blocks A        auxblqB = game.add.group(); //Auxiliar blocks B                 //Creating blocks        blockW = 400;        blockH = 50;        if(twoType!="C"){            xA=230, yA=90;            xB=xA, yB=yA+3*blockH+30;        }else{            xB=230, yB=90;            xA=xB, yA=yB+3*blockH+30;        }                     //Blocks A        var widthA = blockW/sizeA;        var lineColor = 0x1e2f2f;        var fillColor = 0x83afaf;        var fillColorS = 0xe0ebeb;                for(var i=0; i<sizeA; i++){            //console.log("Block A"+i+": x:"+(xA+i*widthA)+", y:"+yA);                                    var block = game.add.graphics(xA+i*widthA, yA);                block.anchor.setTo(0.5, 0.5);                block.lineStyle(2, lineColor);                block.beginFill(fillColor);                block.drawRect(0, 0, widthA, blockH);                block.alpha = 0.5;                block.endFill();                block.inputEnabled = true;                block.input.useHandCursor = true;                block.events.onInputDown.add(this.clickSquare, {who: 'A',indice: i});                block.events.onInputOver.add(this.overSquare, {who: 'A',indice: i});                block.events.onInputOut.add(this.outSquare, {who: 'A',indice: i});                        blocksA.add(block);                        //aux blocks            var xAux = xA+i*widthA, yAux = yA+blockH+10;            if(twoType == 'C') yAux = yA;            var block = game.add.graphics(xAux, yAux );                block.anchor.setTo(0.5, 0.5);                block.lineStyle(1, lineColor);                block.beginFill(fillColorS);                block.drawRect(0, 0, widthA, blockH);                                if(twoType!='A') block.alpha = 0;                else block.alpha = 0.2;                                auxblqA.add(block);                    }                //label block A        var labelX = xA+blockW+30;        var labelY = yA+blockH/2;        labelA = game.add.text(labelX, labelY, sizeA , styleFraction);        labelA.anchor.setTo(0.5, 0.41);                //label fraction        labelX = xA+(blockA*widthA)+40;        labelY = yA+blockH+34;        fractionA = game.add.text(labelX, labelY, "0\n"+sizeA , styleFraction);        fractionA.anchor.setTo(0.5, 0.41);        separatorA = game.add.sprite(labelX, labelY, 'separator');        separatorA.anchor.setTo(0.5, 0.5);                fractionA.alpha = 0;        separatorA.alpha = 0;                //Blocks B        var widthB = blockW/sizeB;        lineColor = 0x260d0d;        fillColor = 0xd27979;        fillColorS = 0xf2d9d9;                       for(var i=0; i<sizeB; i++){                                    var block = game.add.graphics(xB+i*widthB, yB);                block.anchor.setTo(0.5, 0.5);                block.lineStyle(2, lineColor);                block.beginFill(fillColor);                block.drawRect(0, 0, widthB, blockH);                block.endFill();                            block.inputEnabled = true;                block.input.useHandCursor = true;                block.events.onInputDown.add(this.clickSquare, {who: 'B',indice: i});                block.events.onInputOver.add(this.overSquare, {who: 'B',indice: i});                block.events.onInputOut.add(this.outSquare, {who: 'B',indice: i});            blocksB.add(block);            //aux blocks            var xAux = xB+i*widthB, yAux = yB+blockH+10;            if(twoType == 'C') yAux = yB;            var block = game.add.graphics(xAux, yAux);                block.anchor.setTo(0.5, 0.5);                block.lineStyle(1, lineColor);                block.beginFill(fillColorS);                block.drawRect(0, 0, widthB, blockH);                                if(twoType!='A') block.alpha = 0;                else block.alpha = 0.2;            auxblqB.add(block);                    }                //label block B        labelX = xA+blockW+30;        labelY = yB+blockH/2;        labelB = game.add.text(labelX, labelY, sizeB , styleFraction);        labelB.anchor.setTo(0.5, 0.41);                            //label fraction        labelX = xA+(blockB*widthB)+40;        labelY = yB+blockH+34;        fractionB = game.add.text(labelX, labelY, "0\n"+sizeB , styleFraction);        fractionB.anchor.setTo(0.5, 0.41);        separatorB = game.add.sprite(labelX, labelY, 'separator');        separatorB.anchor.setTo(0.5, 0.5);                fractionB.alpha = 0;        separatorB.alpha = 0;                          //information label        m_info = game.add.text(14, 53, "", { font: "20px Arial", fill: "#330000", align: "center" });                if(twoMenu){              // Return to language button            // Remove language icon ::Igor            m_world = game.add.sprite(10, 10, 'about');             m_world.inputEnabled = true;            m_world.input.useHandCursor = true;            m_world.events.onInputDown.add(showInfo);            m_world.events.onInputOver.add(this.showOption, {message: words.menu_world});            m_world.events.onInputOut.add(this.showOption, {message: ""});              // Return to menu button            m_list = game.add.sprite(60, 10, 'list');             m_list.inputEnabled = true;            m_list.input.useHandCursor = true;            m_list.events.onInputDown.add(this.loadState, {state: "menu", beep: beepSound});            m_list.events.onInputOver.add(this.showOption, {message: words.menu_list});            m_list.events.onInputOut.add(this.showOption, {message: ""});              // Return to diffculty            m_back = game.add.sprite(110, 10, 'back');             m_back.inputEnabled = true;            m_back.input.useHandCursor = true;            m_back.events.onInputDown.add(this.loadState, {state: "menuSTwo", beep: beepSound});            m_back.events.onInputOver.add(this.showOption, {message: words.menu_back});            m_back.events.onInputOut.add(this.showOption, {message: ""});        }                //ok and error images        okImg = game.add.image(game.world.centerX, game.world.centerY, 'h_ok');        okImg.anchor.setTo(0.5);        okImg.alpha = 0;        errorImg = game.add.image(game.world.centerX, game.world.centerY, 'h_error');        errorImg.anchor.setTo(0.5);        errorImg.alpha = 0;                counter = 0;        endCounter = 100;        cDelay = 0;        eDelay = 60;    },        updateCounter: function() {        totalTime++;    },        overSquare: function(){        if(!clickA && this.who=="A"){            for(var i=0;i<sizeA;i++){                if(i<=this.indice){                    blocksA.children[i].alpha = 1;                }else{                    blocksA.children[i].alpha = 0.5;                }            }            fractionA.x = xA+((this.indice +1)*(blockW/sizeA))+40;            fractionA.alpha = 1;            fractionA.setText(this.indice +1);        }        if(!clickB && this.who=="B"){            for(var i=0;i<sizeB;i++){                if(i<=this.indice){                    blocksB.children[i].alpha = 1;                }else{                    blocksB.children[i].alpha = 0.5;                }            }            fractionB.x = xB+((this.indice +1)*(blockW/sizeB))+40;            fractionB.alpha = 1;            fractionB.setText(this.indice +1);        }    },    outSquare: function(){        if(!clickA && this.who=="A"){            for(var i=0;i<=this.indice;i++){                blocksA.children[i].alpha = 0.5;            }            fractionA.alpha = 0;        }        if(!clickB && this.who=="B"){            for(var i=0;i<=this.indice;i++){                blocksB.children[i].alpha = 0.5;            }            fractionB.alpha = 0;        }    },        clickSquare: function(){        if(!clickA && this.who=="A"){            for(var i=0;i<sizeA;i++){                blocksA.children[i].inputEnabled = false;                if(i<=this.indice){                    blocksA.children[i].alpha = 1;                }else{                    blocksA.children[i].alpha = 0.5;                    auxblqA.children[i].alpha = 0;                }            }            labelA.alpha = 0;            beepSound.play();            clickA = true;            valueA = this.indice+1;            fractionA.x = xA+(valueA*(blockW/sizeA))+40;            separatorA.x = fractionA.x            animateA = true;        }        if(!clickB && this.who=="B"){            for(var i=0;i<sizeB;i++){                blocksB.children[i].inputEnabled = false;                if(i<=this.indice){                    blocksB.children[i].alpha = 1;                }else{                    blocksB.children[i].alpha = 0.5;                    auxblqB.children[i].alpha = 0;                }            }            labelB.alpha = 0;            beepSound.play();            clickB = true;            valueB = this.indice+1;            fractionB.x = xB+(valueB*(blockW/sizeB))+40;            separatorB.x = fractionB.x            animateB = true;        }    },        postScore: function (){                // ::Igor        var fi = 0;        if (result == true) { // Correct student's result:            hits[twoPosition - 1] ++;            end[twoPosition - 1] = Math.floor(Date.now()/1000);            conta = true;            if (twoPosition == 4) {                fi = 1;            }        } else { // Error student's result:            errors[twoPosition - 1] ++;        }        iterator = twoPosition;        sendResults(fi);                /*var abst = "numBlocksA:"+sizeA+", valueA: " + valueA +", numBlocksB: " + sizeB + ", valueB: " + valueB;                var hr = new XMLHttpRequest();        // Create some variables we need to send to our PHP file        var url = "resource/cn/save.php";        var vars = "s_ip="+hip+"&s_name="+name+"&s_lang="+lang+"&s_game="+twoShape+"&s_mode="+twoType;        vars += "&s_oper=Equal&s_leve="+twoDifficulty+"&s_posi="+twoPosition+"&s_resu="+result+"&s_time="+totalTime+"&s_deta="+abst;                hr.open("POST", url, true);        hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");        hr.onreadystatechange = function() {            console.log(hr);            if(hr.readyState == 4 && hr.status == 200) {                var return_data = hr.responseText;                console.log(return_data);            }        }        // Send the data to PHP now... and wait for response to update the status div        hr.send(vars); // Actually execute the request        console.log("processing...");*/    },    update: function() {                if(!(clickA && clickB) && !animate){            if(kidDirection=='right'){                kid.x += 1;                if(kid.x>=800){                    kidDirection='left';                    kid.animations.play('left', 8, true);                }            }else{                kid.x -= 1;                if(kid.x<=100){                    kidDirection='right';                    kid.animations.play('right', 8, true);                }            }        }                if(animateA){ //If clicked A only, animate            for(var i=0;i<valueA;i++){                blocksA.children[i].y +=2;            }            if(blocksA.children[0].y>=auxblqA.children[0].y){                animateA = false;                fractionA.alpha = 1;                fractionA.setText(valueA+"\n"+sizeA);                separatorA.alpha = 1;            }        }        if(animateB){ //If clicked B only, animate            for(var i=0;i<valueB;i++){                blocksB.children[i].y +=2;            }            if(blocksB.children[0].y>=auxblqB.children[0].y){                animateB = false;                fractionB.alpha = 1;                fractionB.setText(valueB+"\n"+sizeB);                separatorB.alpha = 1;            }        }                if(clickA && clickB && !this.animate){            //Check result            timer.stop();            cDelay++;            if(cDelay>=eDelay){                if((valueA/sizeA) == (valueB/sizeB)){                    result = true;                    twoMove = true;                    okSound.play();                    okImg.alpha = 1;                }else{                    result = false;                    twoMove = false;                    errorSound.play();                    kid.animations.stop();                    errorImg.alpha = 1;                }                this.postScore();                clickA = false;                clickB = false;                animate = true;            }        }                if(animate){            counter++;            if(result){                kid.x += 2;                kidDirection='right';                kid.animations.play('right', 8, true);            }            if(counter>endCounter){                game.state.start('mapSTwo');            }        }    },      //Navigation functions,        showOption: function(){        m_info.text = this.message;    },            loadState: function(){        this.beep.play();        game.state.start(this.state);    },        //MapLoading function    loadGame: function(){        beepSound.play();        if(onePosition<5){            game.state.start('gameSOne');        }else{            game.state.start('endSOne');        }    },    //Calculation help functions    getRndDivisor: function(number){ //Get random divisor for a number        var div = []; //Divisors found        var p = 0; //current dividor index        for(var i=2; i<number;i++){            if(number%i==0){                div[p] = i;                p++;            }        }        var x = game.rnd.integerInRange(0,p-1);        return div[x];    }    };/****************************** END ****************************/var endSquareTwo={    create: function() {                  // Creating sound variable        beepSound = game.add.audio('sound_beep');        okSound = game.add.audio('sound_ok');        errorSound = game.add.audio('sound_error');                // Reading dictionary        var words = game.cache.getJSON('dictionary');        // Background        game.add.image(0, 0, 'bgimage');                        //Clouds        game.add.image(300, 100, 'cloud');        game.add.image(660, 80, 'cloud');        game.add.image(110, 85, 'cloud').scale.setTo(0.8);                // Styles for labels        var stylePlace = { font: '26px Arial', fill: '#400080', align: 'center'};        var styleLabel = { font: '26px Arial', fill: '#000080', align: 'center'};        var styleMenu = { font: '30px Arial', fill: '#000000', align: 'center'};                //Floor        for(var i=0;i<9;i++){            game.add.image(i*100, 501, 'floor');        }                // Progress bar        for(var p=1;p<=5;p++){            var block = game.add.image(672+(p-1)*30, 10, 'block');            block.scale.setTo(2, 1); //Scaling to double width        }        game.add.text(820, 10, '100%', styleMenu);        game.add.text(660, 10, words.difficulty + ' ' + oneDifficulty, styleMenu).anchor.setTo(1,0);        game.add.image(670, 10, 'pgbar');                //School and trees        game.add.sprite(600, 222 , 'school').scale.setTo(0.7);        game.add.sprite(30, 280 , 'tree4');        game.add.sprite(360, 250 , 'tree2');                //kid        this.kid = game.add.sprite(0, 460 , 'kid_run');        this.kid.anchor.setTo(0.5,0.5);        this.kid.scale.setTo(0.7);        this.kid.animations.add('walk', [0,1,2,3,4,5,6,7,8,9,10,11]);        this.kid.animations.play('walk', 6, true);    },    update: function() {        if(this.kid.x<=700){            this.kid.x += 2;        }else{            if(twoMenu){                // REDIRECIONAR AQUI!! ::Igor                if (redir == true) {                    this.kid.animations.stop();                    finish_redirect();                    redir = false;                }            }else{                this.kid.animations.stop();            }        }    },        verPrincipal: function(){        game.state.start('welcome');    },        verMenu: function(){        if(twoMenu){            game.state.start('menu');        }    }               };
 |