getCommands method

List<EFaceGesture> getCommands()

Implementation

List<EFaceGesture> getCommands() {
  var result = <EFaceGesture>[];

  while (true) {
    if (result.contains(EFaceGesture.lookUp) &&
        result.contains(EFaceGesture.lookDown) &&
        result.contains(EFaceGesture.turnLeft) &&
        result.contains(EFaceGesture.turnRight) &&
        result.contains(EFaceGesture.smile)) {
      break;
    }

    do {
      var cm = EFaceGesture.fromInt(Random().nextInt(6));

      if (!result.contains(cm) && cm != EFaceGesture.lookStraight) {
        result.add(cm);
        break;
      }
    } while (true);
  }

  result.insert(2, EFaceGesture.lookStraight);

  return result;
}