mayacakmak / emarsoftware

Front end tools for designing robot faces, setting up custom robot APIs, and controlling a robot (WoZ)
BSD 2-Clause "Simplified" License
2 stars 11 forks source link

Inability to loop or repeat code #85

Open pianokitkat opened 2 years ago

pianokitkat commented 2 years ago

Writing loops does not work. Additionally, repeating code by manually copying and pasting the same code multiple times still does not repeat the actions.

mayacakmak commented 2 years ago

Same response as Issue #86

The code written in the 'EMAR robot programming' tools is essentially Javascript and should allow everything you can do in Javascript, including loops, randomization, and defining/calling functions. Below is a simple example that I just tested and seems to work.

var greetings = ["hello", "hi", "greetings"];
var buttonName = null;
for (let i=0; i<greetings.length; i++) {
  let rand = getRandomInt(greetings.length);
  console.log(">>>>>>> " + i);
  console.log("rand " + rand);
  robot.setScreen(i);
  robot.speak(greetings[rand]);
  await robot.sleep(2000);
}

function getRandomInt(max) {
  return Math.floor(Math.random() * max);
}