Add implementation for while

This commit is contained in:
Florrie 2018-04-07 13:56:28 -03:00
parent 27d053acff
commit c57d0c94eb

View file

@ -17,6 +17,7 @@ class Scratch3ControlBlocks {
return {
control_repeat: this.repeat,
control_repeat_until: this.repeatUntil,
control_while: this.repeatWhile,
control_for_each: this.forEach,
control_forever: this.forever,
control_wait: this.wait,
@ -56,12 +57,20 @@ class Scratch3ControlBlocks {
repeatUntil (args, util) {
const condition = Cast.toBoolean(args.CONDITION);
// If the condition is true, start the branch.
// If the condition is false (repeat UNTIL), start the branch.
if (!condition) {
util.startBranch(1, true);
}
}
repeatWhile (args, util) {
const condition = Cast.toBoolean(args.CONDITION);
// If the condition is true (repeat WHILE), start the branch.
if (condition) {
util.startBranch(1, true);
}
}
forEach (args, util) {
const variable = util.target.lookupOrCreateVariable(
args.VARIABLE.id, args.VARIABLE.name);