diff --git a/src/resources/blocks/operators.js b/src/resources/blocks/operators.js index 795443f..813f32e 100644 --- a/src/resources/blocks/operators.js +++ b/src/resources/blocks/operators.js @@ -295,6 +295,31 @@ function register() { return [`(${X || 0} / ${Y || 1})`, javascriptGenerator.ORDER_ATOMIC]; }) + // x ^ y + registerBlock(`${categoryPrefix}power`, { + message0: '%1 ^ %2', + args0: [ + { + "type": "input_value", + "name": "X", + "check": "Number" + }, + { + "type": "input_value", + "name": "Y", + "check": "Number" + } + ], + output: "Number", + inputsInline: true, + colour: categoryColor + }, (block) => { + const X = javascriptGenerator.valueToCode(block, 'X', javascriptGenerator.ORDER_ATOMIC); + const Y = javascriptGenerator.valueToCode(block, 'Y', javascriptGenerator.ORDER_ATOMIC); + + return [`(${X || 0} ** ${Y || 1})`, javascriptGenerator.ORDER_ATOMIC]; + }) + // get a letter of a string registerBlock(`${categoryPrefix}letter`, { message0: 'letter %1 of %2',