Villkor

Villkor kan man se som frågor som alltid är antingen sant(true) eller falskt(false). Dom används till exempel i om-satser och loopar.

Det finns flera block som man kan kombinera för att bygga stora villkor med. Dom hittar du i kategorin Logik. I JavaScript blir dom översatta till olika tecken.

Jämföra

För att jämföra finns det följande block/tecken i kategorin Logik. Alla dessa jämförelser ger som resultat antingen sant eller falskt.

BlockJavascriptBeskrivning
==Lika med
!=Inte lika med
<Mindre än
<=Mindre än eller lika med
>Större än
>=Större än eller lika med

Med sådana jämförelser kan vi till exempel bygga en lampa som tänds automatiskt om det ljusniveå som mäts blir mindre än en viss gräns.

basic.forever(() => {
    if (input.lightLevel() < 50) {
        basic.showLeds(`
            . # # # .
            # # # # #
            # # # # #
            # # # # #
            . # # # .
            `)
    } else {
        basic.showLeds(`
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            `)
    }
})

Länk till koden.

Kombinera

För att kombinera flera av dom finns två följande block: ”och” och ”eller”. I JavaScript skrivs dom som && (och) och || (eller). Då kan man ändra föregående exempel till en lampa som bara tänds om det är mörkt och micro:bitten rörs samtidigt.

basic.forever(() => {
    if (input.lightLevel() < 50 && input.acceleration(Dimension.Strength) > 1100) {
        basic.showLeds(`
            . # # # .
            # # # # #
            # # # # #
            # # # # #
            . # # # .
            `)
    } else {
        basic.showLeds(`
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            `)
    }
})

Länk till koden.

Boolesk

Det svaret vi får från block som ”<”, vilket är antingen sant(true) eller falskt(false), kallas för boolesk (boolean på engelska). Vi kan spara ett sådant värde i en variabel. Den kallas då för en boolesk variabel.

Om vi bygger om vår första exempel kan vi använda en variabel som heter ”ärMörkt”. Den innehåller sant(true) om ljusnivån är under 50, eller falskt(false) om det är 50 eller mer. Därefter, om det ärMörkt, tänd lamporna. I den om-sats kollar vi vilket värde finns i variabeln, och utför olika kod beroende på den.

let ärMörkt = false
basic.forever(() => {
    ärMörkt = input.lightLevel() < 50
    if (ärMörkt) {
        basic.showLeds(`
            . # # # .
            # # # # #
            # # # # #
            # # # # #
            . # # # .
            `)
    } else {
        basic.showLeds(`
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            `)
    }
})

Det sista tre block som finns under Logik (inte, sant, falskt) kan användas ihop med den booleska logiken som vi har lärt oss. I det följande exemplet har vi en variabel ”visarHjärta” som börjar med värdet falskt. Sen, varje gång man trycker på A knappen byter den värdet till det motsatta, med hjälp av inte-blocket.

let visarHjärta = false
input.onButtonPressed(Button.A, () => {
    visarHjärta = !(visarHjärta)
})
basic.forever(() => {
    if (visarHjärta) {
        basic.showIcon(IconNames.Heart)
    } else {
        basic.clearScreen()
    }
})
visarHjärta = false

Andra block som ger boolesk svar

Förutom Logik kategorin och variabler finns det några andra block som också ger ett boolesk värde.

Under Input finns två block som ger sant om en viss knapp eller pin är tryckt just nu.

Under Leds finns ett block som svarar sant om ljusdioden med denna koordinater är tänd.

Under Matematik hittar du ett block för att få slumpmässigt sant eller falskt.

Senast ändrad 2018-12-09