Gå til innhold
Trenger du skole- eller leksehjelp? Still spørsmål her ×

Hva er Boolean innenfor programmering


Anbefalte innlegg

Hva er Boolean innenfor programmering?

 

Jeg vet at det har sann og falsk verdi,

 

men jeg skjønner ikke helt hvordan jeg skal ta i bruk verdien.

boolean restart=false; // restart er falsk verdi
color b; //b er farge

void setup() {

  size(1000, 1000); //size
  background(0,255,255); // backgrunnfarge
  frameRate(50); // FPS
  b=color(255, 0, 0); // b variabelen får fargen rød.
}



void draw() {
  if (restart) { //bolean restarter og vi får blått bakgrunn.
    background(0, 0, 255); //blå 
    restart=false; // når det er falsk så får vi blått bakgrunn
  }
  
  
  if (mousePressed) { //hvis du trykker musa
    line(pmouseX, pmouseY, mouseX, mouseY); // p mouse jo fortere jeg beveger, jo mer streker.
    fill (b); // fyller fargen
    ellipse (mouseX, mouseY, 50, 50);  //musepilen bestemmer plassen til ellipsen.
  }
}

  void mousePressed() {
    restart=true; // når du trykker får boolean ny verdi.
  }

  void keyPressed() {
    if (key == 't')
      b=color(255, 0, 0);
    else if (key == 'y')
      b=color(0, 255, 0);
    else if (key == 'u') // trykker u for farge
      b=color(0, 0, 255);
  }

hva skjer når boolean verdien blir true? eller false, for jeg ser ikke hva det gjør når det er false og true..

 

 

noen som vil forklare meg?

Lenke til kommentar
Videoannonse
Annonse

Boolean er det samme som 0 eller 1.

 

Om du skriver

 

if (restart == 1) (der restart er en int)

eller if (restart). (der restart er en boolean).

 

Så er det egentlig ingen forskjell.

 

Forskjellen ligger i at det er mer hensiktsmessig å bruke boolean hvis en "ting" bare kan ha 2 tilstander. Det blir også mindre å skrive, f.eks kan man skrive (!restart), som egentlig er det samme som (restart == 0).

Endret av MrLG
Lenke til kommentar

Boolean er det samme som 0 eller 1.

 

Om du skriver

 

if (restart == 1) (der restart er en int)

eller if (restart). (der restart er en boolean).

 

Så er det egentlig ingen forskjell.

 

Forskjellen ligger i at det er mer hensiktsmessig å bruke boolean hvis en "ting" bare kan ha 2 tilstander. Det blir også mindre å skrive, f.eks kan man skrive (!restart), som egentlig er det samme som (restart == 0).

 

boolean restart=false;

 

void draw() {

if (restart) { //bolean restarter og vi får blått bakgrunn.

background(0, 0, 255); //blå

restart=false; // når det er falsk så får vi blått bakgrunn

 

void mousePressed() {

restart=true; // når du trykker får boolean ny verdi.

}

 

 

skjønte ikke så mye :( men kan du forklare hva som skjer når det går fra false til true? fordi egj skjønner ikke helt hva som skjer med selve koden, når det bytter fra false til true.

Lenke til kommentar

 

boolean restart=false;

 

void draw() {

if (restart) { //bolean restarter og vi får blått bakgrunn.

background(0, 0, 255); //blå

restart=false; // når det er falsk så får vi blått bakgrunn

 

void mousePressed() {

restart=true; // når du trykker får boolean ny verdi.

}

 

 

skjønte ikke så mye :( men kan du forklare hva som skjer når det går fra false til true? fordi egj skjønner ikke helt hva som skjer med selve koden, når det bytter fra false til true.

 

Hele koden din er litt ute av sammenheng, men jeg kan prøve å forklare. Utifra koden er det sånn:

Når du starter programmet, er restart satt til false:

boolean restart=false;

Hvis du kaller denne metoden, draw(), akkurat nå, vil det skje slik:

void draw() {

if (restart) { //Sjekker om restart == true, det er den ikke, og derfor stopper programmet her, og ingenting av koden videre i draw() vil skje, derfor vil du ikke få blå farge.

 

Derimot, hvis noen kaller denne metoden

void mousePressed() {

restart=true;

}

Blir restart i programmet satt til true.

HVis du nå kaller draw() igjen, vil all koden skje, dvs fargen vil bli blå. Men deretter vil restart blitt satt til false, så hvis du kaller draw() igjen rett etter på, vil den ikke skifte fargen på nytt. Dette vil kun skje om du kaller mousePressed() igjen.

--------

Dette er det beste jeg tror jeg klarer å forklare utifra koden du har her.

Endret av MrLG
Lenke til kommentar

 

Hele koden din er litt ute av sammenheng, men jeg kan prøve å forklare. Utifra koden er det sånn:

Når du starter programmet, er restart satt til false:

boolean restart=false;

Hvis du kaller denne metoden, draw(), akkurat nå, vil det skje slik:

void draw() {

if (restart) { //Sjekker om restart == true, det er den ikke, og derfor stopper programmet her, og ingenting av koden videre i draw() vil skje, derfor vil du ikke få blå farge.

 

Derimot, hvis noen kaller denne metoden

void mousePressed() {

restart=true;

}

Blir restart i programmet satt til true.

HVis du nå kaller draw() igjen, vil all koden skje, dvs fargen vil bli blå. Men deretter vil restart blitt satt til false, så hvis du kaller draw() igjen rett etter på, vil den ikke skifte fargen på nytt. Dette vil kun skje om du kaller mousePressed() igjen.

--------

Dette er det beste jeg tror jeg klarer å forklare utifra koden du har her.

 

tusen takk! Setter stor pris på det!

void gas() {
    if (keyPressed) {
      if (key == 'g' || key == 'G');
      if (speed >=0) {
        speed = speed + 1;
      }
      if (speed <= -0) {
        speed = speed - 1;
      }
    }
  }
  
  
   void brems() {
    if (keyPressed) {
      if (key =='b' || key == 'B');
      if (speed <= -0) {
        speed = speed + 2;
      }
      if (speed <=-0) {
        speed = speed - 2;
      }
    }
  }

 

jeg har laget en sketch med en bil som kjører, og jeg skal sette inn keypressed G og B for å få bilen til å kjøre fortere og tregere. men jeg finner ikke helt verdeiene for speed for brems, for at det skal bremse ned farten...

noen som kan hva jeg har gjort feil? for jeg får ikke bilen til å bremse...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...