My final project

sketch
//hfroling
//section c


var level = 1;
var spot;
var a;
var b;
var lilies = [];
var fishies = [];
var turtles = [];
var heights = [80,140,200,260,320,380,440,500];
var bunny;

function preload() {
  bunnyStopped = loadImage("https://i.imgur.com/ASG9W87.png"); //loads image
  bunnySitting = loadImage("https://i.imgur.com/fouQhgx.png"); //loads image
  bunnyDead = loadImage("https://i.imgur.com/9d2vjo4.png");
  lilyPadImg = loadImage("https://i.imgur.com/Z69HCHs.png");
  killerFishImg = loadImage("https://i.imgur.com/mRGD4oC.png");
  turtleImg = loadImage("https://i.imgur.com/4JEWEFk.png");
}

function setup() {
    createCanvas(800,600);
    background(120, 150, 81);
    imageMode(CENTER)
    a = width/2-35;
    b = 295;
    noStroke();
    print(bunnyStopped.width);       // displays in console
    print(bunnyStopped.height);


        for(j=0;j<8;j++){               //lily pad object setup
            lilies[j] = new Object();
            lilies[j].x = (floor(random(60,width-60)/60)*60)-20;
            lilies[j].y = heights[j];
        }

        for(k=0;k<8;k++){               //fish set up
            fishies[k] = new Object();
            fishies[k].x = random(width-50);
            fishies[k].y = heights[k];
            fishies[k].dx = random(1,6);
        }

        for(l=0;l<8;l++){           //turtles set up
            turtles[l] = new Object();
            turtles[l].x = random(width-50);
            turtles[l].y = heights[l];
            turtles[l].dx = random(-3,3);
        }

    bunny = makeBunny(width/2,320,0);
}

function draw() { //draw the image
    background(120, 150, 81);
    textSize(18);
    textAlign(CENTER, CENTER);
    fill('white');
        if(frameCount < 150){
            text('PRESS UP ARROW KEYS TO HOP ACROSS THE RIVER', width/2, 30);
        }

    river();
    bunny.draw();
    bunny.collideLily();
    bunny.onTurtle = false;


    for(i=0;i<8;i++){
        bunny.collideTurtle(turtles[i])
    }

    for(i=0;i<8;i++){
        bunny.collideWater(fishies[i],turtles[i],lilies[i])
    }

    bunny.dieBunny();
}


function river(){ //make river
    var depth = 60;
    spot = 50;
        if(level == 1){
            text('LEVEL 1',100, height-30);
                for(var i=1; i<3; i++){
                    fill('lightblue');
                    rect(0,spot,width,depth);
                    fill(208,228,247);
                    rect(0,spot+depth,width,depth);
                    spot += depth*2;
                }


                for(k=0;k<4;k++){           //fishies on river
                    drawFish(fishies[k]);
                    fishies[k].x += fishies[k].dx
                        if (fishies[k].x > width) {
                            fishies[k].x = -40;
                            fishies[k].dx = random(1,6);
                        }
                }

                for(l=0; l<4; l++){             //turtles on river
                    drawTurtle(turtles[l]);
                    turtles[l].x  += turtles[l].dx
                        if (turtles[l].x >= width -25 & turtles[l].dx > 0) {
                            turtles[l].dx = -turtles[l].dx;
                        }
                        if (turtles[l].x <= 25 & turtles[l].dx < 0) {
                            turtles[l].dx = -turtles[l].dx;
                        }
                }
        }

        for(j=0;j<4;j++){           //lilies on river
            drawLily(lilies[j]);
        }
    
    if(level == 2){
        text('LEVEL 2',100, height-30);
            for(var i=1; i<4; i++){
                fill('lightblue');
                rect(0,spot,width,depth);
                fill(208,228,247);
                rect(0,spot+depth,width,depth);
                spot += depth*2;
            }

            for(k=0;k<6;k++){           //fishies on river
                drawFish(fishies[k]);
                fishies[k].x += fishies[k].dx
                    if (fishies[k].x > width) {
                        fishies[k].x = -40;
                        fishies[k].dx = random(1,6);
                    }
            }

            for(l=0; l<6; l++){             //turtles on river
                drawTurtle(turtles[l]);
                turtles[l].x  += turtles[l].dx
                    if (turtles[l].x >= width -25 & turtles[l].dx > 0) {
                        turtles[l].dx = -turtles[l].dx;
                    }

                    if (turtles[l].x <= 25 & turtles[l].dx < 0) {
                        turtles[l].dx = -turtles[l].dx;
                    }
            }

            for(j=0;j<6;j++){          //lilies on river
                drawLily(lilies[j])
            }
    }

    if(level == 3){
        text('LEVEL 3',100, height-30);
        for(var i=1; i<5; i++){
            fill('lightblue');
            rect(0,spot,width,depth);
            fill(208,228,247);
            rect(0,spot+depth,width,depth);
            spot += depth*2;
        }
        for(k=0;k<8;k++){           //fishies on river
            drawFish(fishies[k]);
            fishies[k].x += fishies[k].dx
            if (fishies[k].x > width) {
                fishies[k].x = -40;
                fishies[k].dx = random(1,6);
            }
        }

        for(l=0; l<8; l++){             //turtles on river
            drawTurtle(turtles[l]);
            turtles[l].x  += turtles[l].dx
                if (turtles[l].x >= width -25 & turtles[l].dx > 0) {
                    turtles[l].dx = -turtles[l].dx;
                }

                if (turtles[l].x <= 25 & turtles[l].dx < 0) {
                    turtles[l].dx = -turtles[l].dx;
                }

            for(j=0;j<8;j++){          //lilies on river
                drawLily(lilies[j])
            }   
        }
    }

    if(level == 4){
        fill('lightblue');
        rect(0,0,width,450)
        textSize(36);
        fill('white')
        text('YOU WON!',width/2, height/2-50);
        image(bunnySitting,(width/2),450,200,200);
        textSize(12);
        text('PRESS RELOAD TO PLAY AGAIN!',100, 30);
        noLoop();
        
    }
}

function makeBunny(a,b,da){ // make bunny
    var bunny = {ba: a, bb: b, bda: da,
        draw: drawBunny,
        step: stepBunny,
        collideLily: collideLily,
        onLily: false,
        collideTurtle: collideTurtle,
        onTurtle: false,
        collideWater: collideWater,
        dieBunny: dieBunny
    }
    return bunny;
}

function drawBunny(){
    image(bunnyStopped,this.ba,this.bb,50,50);
        if(this.bb<=0){
            level+=1;
            this.bb +=level*120 + 240
        }
}


function stepBunny(keyCode){ /// add this .y
    if (keyCode === UP_ARROW){
        this.bb -= 60;
    }

    if (keyCode === DOWN_ARROW){
        this.bb += 60;
    }

    if (keyCode === RIGHT_ARROW){
        this.ba += 60;
    }

    if (keyCode === LEFT_ARROW){
        this.ba -= 60;
    }
}

function collideLily(lily){
    this.onLily=false;
        for(i=0;i<lilies.length;i++){
            if(dist(lilies[i].x,lilies[i].y,this.ba,this.bb)<=10){
                this.onLily = true;
                this.bda = 0;
                console.log("should be on a lily")
            }
        }

}

function collideWater(fish,turtle,lily){ //work on
    if(this.onLily == false & this.onTurtle==false && this.bb < 180+(level*120) && this.bb > 60){
        if(dist(this.ba,this.bb,turtle.x,turtle.y)>15||(dist(lily.x,lily.y,this.ba,this.bb)>10)){
            this.ba += 1;
        }
    }
}


function collideTurtle(turtle){
    if (this.onLily == false){
        if(dist(turtle.x,turtle.y,this.ba,this.bb)<=20){
            this.ba += turtle.dx
            console.log("on a turtle")
            this.onTurtle = true;
        }
    }
}

function dieBunny(){
    if(this.ba > width){
        fill(135, 6, 4);
        rect(0,0,width,height);
        fill(82, 25, 21);
        rect(0,330,width,height);
        textSize(36);
        fill('white')
        text('YOU LOST!',width/2, 100);
        image(bunnyDead,(width/2),350,200,150);
        textSize(12);
        text('PRESS RELOAD TO PLAY AGAIN!',100, 30);
        noLoop();
    }
}

function keyPressed() {
  bunny.step(keyCode);
}

function drawLily(lily){
    image(lilyPadImg, lily.x,lily.y, 50,50);
}

function drawFish(fish){
    image(killerFishImg, fish.x, fish.y,50,50);
}

function drawTurtle(turtle){
    if(turtle.dx < 0){
        push()
        translate(turtle.x, turtle.y);
        rotate(radians(180));
        image(turtleImg, 0, 0, 50,50);
        pop()

    }
    else{
            image(turtleImg, turtle.x, turtle.y, 50,50);
    }
}

Leave a Reply