cenenzo Skrevet 20. november 2013 Del Skrevet 20. november 2013 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
MrL Skrevet 20. november 2013 Del Skrevet 20. november 2013 (endret) 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 20. november 2013 av MrLG Lenke til kommentar
cenenzo Skrevet 20. november 2013 Forfatter Del Skrevet 20. november 2013 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
MrL Skrevet 20. november 2013 Del Skrevet 20. november 2013 (endret) 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 20. november 2013 av MrLG Lenke til kommentar
cenenzo Skrevet 20. november 2013 Forfatter Del Skrevet 20. november 2013 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå