Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inability to create functions #86

Open
pianokitkat opened this issue Feb 23, 2022 · 2 comments
Open

Inability to create functions #86

pianokitkat opened this issue Feb 23, 2022 · 2 comments

Comments

@pianokitkat
Copy link

Currently we cannot make functions in the software. Can we enable the creation of functions? (Or call other programs from one program). This is for the idea of randomly selecting from a variety of functions that each go through a different short interaction.

@mayacakmak
Copy link
Owner

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);
}

@mayacakmak
Copy link
Owner

Also see program Fixed_Interaction_2_10 on "Test Robot" for dealing with having asynchronous calls within a function that you define (mainly you need to define the function to be async).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants