@@ -320,47 +320,121 @@ Blockly.JavaScript['button_change_image_position'] = function (block) {
320320 var value_image_pos_ = Blockly . JavaScript . valueToCode ( block , 'image_pos_' , Blockly . JavaScript . ORDER_ATOMIC ) ;
321321 var code ;
322322 if ( dropdown_pos_ == 'u' ) {
323- code = 'if(!window.varImageUD){window.varImageUD = 0;}\n' +
324- 'if(!window.varImageUp){window.varImageUp = 0;}\n' +
325- 'if(!window.varImageDown){window.varImageDown = 0;}\n' +
326- 'window.varImageUp = ' + value_image_pos_ + ';\n' +
327- 'window.varImageUD = window.varImageUD + (window.varImageDown - window.varImageUp);\n' +
328- 'document.getElementById("image").style.marginTop = varImageUD+"px";\n' +
329- 'console.log(window.varImageUD);\n' ;
323+ code = 'if(!window.varImageUD){window.varImageUD = 0;}\n' +
324+ 'if(!window.varImageUp){window.varImageUp = 0;}\n' +
325+ 'if(!window.varImageDown){window.varImageDown = 0;}\n' +
326+ 'window.varImageUp = ' + value_image_pos_ + ';\n' +
327+ 'window.varImageUD = window.varImageUD + (window.varImageDown - window.varImageUp);\n' +
328+ 'document.getElementById("image").style.marginTop = varImageUD+"px";\n' +
329+ 'console.log(window.varImageUD);\n' ;
330330 }
331331 if ( dropdown_pos_ == 'd' ) {
332- code = 'if(!window.varImageUD){window.varImageUD = 0;}\n' +
333- 'if(!window.varImageUp){window.varImageUp = 0;}\n' +
334- 'if(!window.varImageDown){window.varImageDown = 0;}\n' +
335- 'window.varImageDown = ' + value_image_pos_ + ';\n' +
336- 'window.varImageUD = window.varImageUD + (window.varImageDown - window.varImageUp);\n' +
337- 'document.getElementById("image").style.marginTop = varImageUD+"px";\n' +
338- 'console.log(window.varImageUD);\n' ;
332+ code = 'if(!window.varImageUD){window.varImageUD = 0;}\n' +
333+ 'if(!window.varImageUp){window.varImageUp = 0;}\n' +
334+ 'if(!window.varImageDown){window.varImageDown = 0;}\n' +
335+ 'window.varImageDown = ' + value_image_pos_ + ';\n' +
336+ 'window.varImageUD = window.varImageUD + (window.varImageDown - window.varImageUp);\n' +
337+ 'document.getElementById("image").style.marginTop = varImageUD+"px";\n' +
338+ 'console.log(window.varImageUD);\n' ;
339339 }
340340 if ( dropdown_pos_ == 'l' ) {
341- code = 'if(!window.varImageLR){window.varImageLR = 0;}\n' +
342- 'if(!window.varImageLeft){window.varImageLeft = 0;}\n' +
343- 'if(!window.varImageRight){window.varImageRight = 0;}\n' +
344- 'window.varImageLeft = ' + value_image_pos_ + ';\n' +
345- 'window.varImageLR = window.varImageLR + (window.varImageRight - window.varImageLeft);\n' +
346- 'document.getElementById("image").style.marginLeft = varImageLR+"px";\n' +
347- 'console.log(window.varImageLR);\n' ;
341+ code = 'if(!window.varImageLR){window.varImageLR = 0;}\n' +
342+ 'if(!window.varImageLeft){window.varImageLeft = 0;}\n' +
343+ 'if(!window.varImageRight){window.varImageRight = 0;}\n' +
344+ 'window.varImageLeft = ' + value_image_pos_ + ';\n' +
345+ 'window.varImageLR = window.varImageLR + (window.varImageRight - window.varImageLeft);\n' +
346+ 'document.getElementById("image").style.marginLeft = varImageLR+"px";\n' +
347+ 'console.log(window.varImageLR);\n' ;
348348 }
349349 if ( dropdown_pos_ == 'r' ) {
350- code = 'if(!window.varImageLR){window.varImageLR = 0;}\n' +
351- 'if(!window.varImageLeft){window.varImageLeft = 0;}\n' +
352- 'if(!window.varImageRight){window.varImageRight = 0;}\n' +
353- 'window.varImageRight = ' + value_image_pos_ + ';\n' +
354- 'window.varImageLR = window.varImageLR + (window.varImageRight - window.varImageLeft);\n' +
355- 'document.getElementById("image").style.marginLeft = varImageLR+"px";\n' +
356- 'console.log(window.varImageLR);\n' ;
350+ code = 'if(!window.varImageLR){window.varImageLR = 0;}\n' +
351+ 'if(!window.varImageLeft){window.varImageLeft = 0;}\n' +
352+ 'if(!window.varImageRight){window.varImageRight = 0;}\n' +
353+ 'window.varImageRight = ' + value_image_pos_ + ';\n' +
354+ 'window.varImageLR = window.varImageLR + (window.varImageRight - window.varImageLeft);\n' +
355+ 'document.getElementById("image").style.marginLeft = varImageLR+"px";\n' +
356+ 'console.log(window.varImageLR);\n' ;
357357 }
358358 return code ;
359359} ;
360360
361- Blockly . JavaScript [ 'button_reset_image_position' ] = function ( block ) {
362- var code = 'document.getElementById("image").style.margin = "0 0 0 0";\n' +
363- 'window.varImageUD=0;\n' +
364- 'window.varImageLR=0;\n' ;
361+ Blockly . JavaScript [ 'button_reset_image_position' ] = function ( block ) {
362+ var code = 'document.getElementById("image").style.margin = "0 0 0 0";\n' +
363+ 'window.varImageUD=0;\n' +
364+ 'window.varImageLR=0;\n' ;
365365 return code ;
366366} ;
367+
368+ Blockly . JavaScript [ 'button_game' ] = function ( block ) {
369+ var dropdown_npc_ = block . getFieldValue ( 'npc_' ) ;
370+ var dropdown_level_ = block . getFieldValue ( 'level_' ) ;
371+ var dropdown_distance_ = block . getFieldValue ( 'distance_' ) ;
372+ var dropdown_user_ = block . getFieldValue ( 'user_' ) ;
373+ var variable_button_ = Blockly . JavaScript . variableDB_ . getName ( block . getFieldValue ( 'button_' ) , Blockly . Variables . NAME_TYPE ) ;
374+ var statements_event_ = Blockly . JavaScript . statementToCode ( block , 'event_' ) ;
375+ var code = 'var btnGameNpcShow_ = document.getElementById("npcshow"),\n' +
376+ ' btnGameUserShow_ = document.getElementById("usershow"),\n' +
377+ ' btnGameNpc_ = document.getElementById("npc"),\n' +
378+ ' btnGameUser_ = document.getElementById("user"),\n' +
379+ ' btnGameNpcImg_ = document.getElementById("npcimg"),\n' +
380+ ' btnGameUserImg_ = document.getElementById("userimg"),\n' +
381+ ' btnGameGoal_ = document.getElementById("goal"),\n' +
382+ ' btnGameStart_ = document.getElementById("start"),\n' +
383+ ' btnGameTimer_,\n' +
384+ ' btnGameA_ = 0,\n' +
385+ ' btnGameB_ = 0,\n' +
386+ ' btnGameDistance_ = ' + dropdown_distance_ + ',\n' +
387+ ' btnGameNpcSpeed_ = ' + dropdown_level_ + ',\n' +
388+ ' btnGameUserSpeed_;\n' +
389+ ' \n' +
390+ 'btnGameStart_.className = "";\n' +
391+ 'btnGameNpcImg_.setAttribute("src","' + dropdown_npc_ + '");\n' +
392+ 'btnGameUserImg_.setAttribute("src","' + dropdown_user_ + '");\n' +
393+ 'btnGameGoal_.innerHTML = btnGameDistance_;\n' +
394+ 'btnGameStart_.addEventListener("click",go);\n' +
395+ ' \n' +
396+ 'function go(){\n' +
397+ ' btnGameStart_.className = "go";\n' +
398+ ' btnGameA_ = 0;\n' +
399+ ' btnGameB_ = 0;\n' +
400+ ' ' + statements_event_ +
401+ ' btnGameTimer_ = setInterval(function(){\n' +
402+ ' btnGameB_ = btnGameB_ + btnGameNpcSpeed_;\n' +
403+ ' btnGameNpcShow_.innerHTML = btnGameB_;\n' +
404+ ' btnGameNpc_.style.marginLeft = btnGameB_+"px";\n' +
405+ ' if(btnGameB_>=btnGameDistance_){\n' +
406+ ' alert("GAME OVER!!!! YOU LOSE!!!!!");\n' +
407+ ' stop();\n' +
408+ ' }\n' +
409+ ' },120);\n' +
410+ ' \n' +
411+ ' function stop(){\n' +
412+ ' clearInterval(btnGameTimer_);\n' +
413+ ' btnGameA_ = 0;\n' +
414+ ' btnGameB_ = 0;\n' +
415+ ' btnGameNpcShow_.innerHTML = 0;\n' +
416+ ' btnGameUserShow_.innerHTML = 0;\n' +
417+ ' btnGameNpc_.style.marginLeft = 0;\n' +
418+ ' btnGameUser_.style.marginLeft = 0;\n' +
419+ ' btnGameStart_.className = "";\n' +
420+ ' ' + variable_button_ + '.removeAllListeners("pressed");\n' +
421+ ' ' + variable_button_ + '.removeAllListeners("repressed");\n' +
422+ ' ' + variable_button_ + '.removeAllListeners("longPress");\n' +
423+ ' }\n' +
424+ '}\n' ;
425+ return code ;
426+ } ;
427+
428+
429+ Blockly . JavaScript [ 'button_game_user' ] = function ( block ) {
430+ var dropdown_user_ = block . getFieldValue ( 'user_' ) ;
431+ var code = ' btnGameA_ = btnGameA_ + ' + dropdown_user_ + ';\n' +
432+ ' btnGameUserShow_.innerHTML = btnGameA_;\n' +
433+ ' btnGameUser_.style.marginLeft = btnGameA_+"px";\n' +
434+ ' if(btnGameA_>=btnGameDistance_){\n' +
435+ ' alert("YOU WIN!!!!!");\n' +
436+ ' stop();\n' +
437+ ' }\n' ;
438+ return code ;
439+ } ;
440+
0 commit comments