def modulo_(off=False): nb = createNumberBlock(off, 'modulo_', 'darkblue') nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement('resto da divisão por') nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement() return nb
def binaryFunction(name, operator, off): nb = createNumberBlock(off, name, 'darkblue') nb.addCodeElement(operator, {'máx': 'max_', 'mín': 'min_'}) nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement() nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement() return nb
def random_min_max(off=False): sb = createNumberBlock(off, 'random_min_max', 'darkblue') sb.addCodeElement('aleatorio') sb.addCodeElement('<i>min</i>') sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement() sb.addCodeElement('<i>max</i>') sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def constrains_(off=False): nb = createNumberBlock(off, 'constrains_', 'darkblue') nb.addCodeElement('restringe') nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement('entre') nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement('e') nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement() return nb
def blinkLed(off=False): sb = createStatementBlock(off, 'blinkLed') sb.addCodeElement('pisca') sb.addVariableElement('led', countComponents, 'component_led') sb.addCodeElement() sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement('vezes em') sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement('s') return sb
def setRGBLed(off=False): sb = createStatementBlock(off, 'setRGBLed') sb.addCodeElement(gettext_noop('set')) sb.addVariableElement('led rgb', countComponents, 'component_rgb_led') sb.addCodeElement(gettext_noop('R')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement(gettext_noop('G')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement(gettext_noop('B')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def map_(off=False): nb = createNumberBlock(off, 'map_', 'darkblue') nb.addCodeElement('mapeie [') nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement(',') nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement('] para [') nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement(',') nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement(']') return nb
def relationalOperation(name, operator, off): bb = createBooleanBlock(off, name) bb.addArgumentHolder(createNumberBlockHolder(off, bb)) bb.addCodeElement( operator, { '=': 'equals', '<': 'lesser', '>': 'greater', '≤': 'lesser_equals', '≥': 'greater_equals', '≠': 'not_equals' }) bb.addArgumentHolder(createNumberBlockHolder(off, bb)) return bb
def numericOperation(name, operator, off): nb = createNumberBlock(off, name) nb.addCodeElement() nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement( operator, { '+': 'plus', '−': 'minus', '×': 'multiply', '÷': 'divide' }) nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement() return nb
def analogWrite(off=False): sb = createStatementBlock(off, 'analogWrite') sb.addCodeElement(gettext_noop('set analog pin')) sb.addArgumentHolder(createDropdownNumberBlockHolder(off, PWM_PINS, sb)) sb.addCodeElement(gettext_noop('value')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def map2_(off=False): nb = createNumberBlock(off, 'map2_', 'darkblue') nb.addCodeElement('mapeie [0, 1024] para [0, 255]') nb.addCodeElement() nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement() return nb
def decNumericVar(off=False): sb = createStatementBlock(off, 'decNumericVar', 'red') sb.addCodeElement('decrementa') sb.addVariableElement(TITLE_NUMERIC_VAR, numericVars) sb.addCodeElement('de') sb.addCodeElement() sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def setBrightnessLed(off=False): sb = createStatementBlock(off, 'setBrightnessLed') sb.addCodeElement(gettext_noop('set')) sb.addVariableElement('led', countComponents, 'component_led') sb.addCodeElement('brilho') sb.addCodeElement() sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def setServo(off=False): sb = createStatementBlock(off, 'setServo') sb.addCodeElement(gettext_noop('set')) sb.addVariableElement('servo', countComponents, 'component_servo') sb.addCodeElement(gettext_noop('angle')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement('°') return sb
def speedMotor(off=False): sb = createStatementBlock(off, 'speedMotor') sb.addCodeElement(gettext_noop('speed')) sb.addCodeElement() sb.addVariableElement('motor', countComponents, 'component_motor') sb.addCodeElement() sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def setBuzzer(off=False): sb = createStatementBlock(off, 'setBuzzer') sb.addCodeElement(gettext_noop('play')) sb.addVariableElement('buzina', countComponents, 'component_buzzer') sb.addCodeElement('<i>' + gettext_noop('note') + '</i>') sb.addArgumentHolder( createDropdownNumberBlockHolder(off, MANY_FEW_NOTES, sb)) sb.addCodeElement('<i>' + gettext_noop('duration') + '</i>') sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def unaryFunction(name, operator, off): nb = createNumberBlock(off, name, 'darkblue') nb.addCodeElement(operator, { '√': 'sqrt_', 'abs': 'abs_', 'arredonde': 'round_' }) nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement() return nb
def delay_(off=False): sb = createStatementBlock(off, 'delay_', 'orange') sb.addCodeElement(gettext_noop('delay')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement('ms') return sb
def intToStr(off=False): sb = createStringBlock(off, 'intToStr', 'darkblue') sb.addCodeElement("converte") sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def repeat_(off=False): csb = createCompoundStatementBlock(off, 'repeat_', loop=True) csb.addCodeElement(gettext_noop('repeat')) csb.addArgumentHolder(createNumberBlockHolder(off, csb)) return csb
def trigonometryFunction(name, operator, off): nb = createNumberBlock(off, name, 'darkblue') nb.addCodeElement(operator, {'sen': 'sin_', 'cos': 'cos_', 'tan': 'tan_'}) nb.addArgumentHolder(createNumberBlockHolder(off, nb)) nb.addCodeElement() return nb