parseTabutronic method

void parseTabutronic(
  1. List<String> items
)

Implementation

void parseTabutronic(List<String> items) {
  if (items.length != 8) throw CertaboInvalidMessageLengthException(ascii.encode(items.join(" ")));

  for (var i = 0; i < items.length; i++) {
    int rowNum = int.parse(items[i]);
    List<List<int>> row = [];
    for (var j = 0; j < 8; j++) {
      List<int> piece = [...CertaboProtocol.emptyFieldId];
      piece[piece.length - 1] = rowNum & 1;
      row.add(piece);
      rowNum = rowNum >> 1;
    }
    _items.addAll(row.reversed.toList());
  }
}