Click the green flag to run the example program. Look at the 'out' variable: it changes to ((100)+(random 0-99)) every 1 second for 5 times.
=== WORK IN PROGRESS === has [ c blocks, stack blocks, reporter blocks, parameters, pointers ] This uses scratch but it is like the 3.0 format. The Example program makes: { repeat(5) set[out v]to((100)+(pick random(0)to(99))) wait(1)secs end [hello] } iostack clears when done: fixed. Vars r1 and r2 are temporary registers for reporter blocks with parameters or stack blocks with two or more parameters. Sometimes the blocks are scattered because scratch 3.0 also has it. It is easier to make blocks. === 11 APR 2018 == This uses a stack and a list of blocks with links to other blocks. Stack Blocks: ask out wait repeat repeatuntil if Stack Block: Next Block To Run Parameters Block Id: List Number For Reporter Block Ask & Out: item(i+2)=Block Id value Value: item(i+1)=String Value Reporter Blocks: random value add Add: item(i+1)=Block Id 1st value item(i+2)=Block Id 2st value Random: no parameters taken Repeat: item(i+2)=Block Id times item(i+3)=goto End: StackBlockOrVoidBlock end Repeatuntil: item(i+2)=Block Id condition item(i+3)=goto If: item(i+2)=Block Id condition Answer: no parameters taken