Let's talk about loops. So I have a while loop here, and with just a few lines of code, I can write this message all the way down the screen.
If I go ahead and change the message like this, you know, to make it better
all of them change.
So how is this working? Well, we can revisit this code in a moment
But first let's take a step back and think about how we might write this program
using only what we know so far without using loops.
So, to do that, we're really just gonna write a bunch of text over and over and over again right?
We're gonna say text, message, I'll put it in the first place, and now it's just a matter of repeating this
enough times so that eventually we get all the way to the bottom.
And that's gonna take a lot of work, right?
Because the bottom is really far away. And it's even worse if you
then point out to me, hey, this wasn't actually 70, it needs to be closer, it needs to be at like
60. And now that affects this one because it also needs to be smaller
and all the way on, the more calls of text we have.
And in fact, this way it's gonna take even longer to get to the bottom.
So, this is really a pain, and thankfully we have loops to help us
From now on, any time you see repetitive code like this, your first thought should be
"Could I use a loop?" A loop will let us repeat this piece of code over and over and
over again, making just little changes each time. So here's
how we would rewrite this code with a loop. To get started, we need to type "while",
the parentheses, and the curly braces. We're gonna get this message, but
it's just because we're not done yet. Don't worry, it'll go away when we finish.
So every time you write a loop you need to answer three key questions.
And here they are: so,
the first question is, "What do I want to repeat?" And
whatever we want to repeat needs to go in-between these curlies.
So we want to repeat the "text" call in this case, so go ahead and put that in here.
But it's a little bit silly, right? Because right now we're just gonna be repeating
the same call of text over and over, which is not really any good right, we need something to be
changing. That brings us to question two, which is "What do I want to change each time?"
So we want to change this "y" position, right? We want it to become 60 and then we want it
to become 80. So we'll make that into a variable instead.
Called y, because it's the y position. So we'll go ahead and declare a variable
up here. I'll start it at 40. And now, finally, we just need to
be changing y. We can do that down here, we can say "y gets y +
"20" and it will be getting bigger every time. And in fact, we can use
our lesson from incrementing shortcuts here. We can just go ahead
and use the shortcut. So, this is fantastic, and we only
need to do question three now, which is "How long should we be repeating this?"
Well we want to do this over and over and over again, but we don't really want to do it forever, right?
If we do it forever, first, that's a really long time to wait, and second, it might even crash your browser.
But hopefully not. So really, we only
want to do this until we get to the bottom of the page, right? Which means we wanna do it
as long as y is less than 400. So we just put that in here, and there
we have it! We have this message being written all the way down the screen.
And you can see that this is way simpler than our previous approach, which, you know,
took us about as long to write, but we weren't even a quarter of the way finished.
So we can get rid of that, and there we have our program.
Now, let's try to get a better understanding of what's going on. To do that, I'm going
to print out y each time. I'm gonna say "y is now" and then down here
I'll just tack y onto the end of the message so we can see it.
So at the moment, the value is changing by 20, and we can change
that just by changing this variable here. Or you can make it, you know, like,
50. And now, now they're changing by 50. Similarly,
you can go ahead and play with these other values and have them change. And
you can see how that affects, you know, where the program stops.
So, to understand this, you can think of it sort of
like an "if" statement actually. We have our boolean expression in here
just like you learned. And then, we do the body of the, um, the statement
this part, only if the boolean is true, and otherwise we just jump to
the end. But what's interesting is that with a while loop we actually
have this secret thing going on at the bottom which says "go back to the start"
"of the loop". And what this secret instruction means
is that instead of leaving and just keeping on going, like with an "if"
statement, every time we do the loop body we're going to go back and check
if the condition is still true. And if it is, we're just going to repeat one
more time. And just like you might have guessed, the second time we repeat, we're gonna do the same thing...
we're gonna check hey, you know, go back to the start. Is y still less than
279? And if it is, we'll repeat one more time and keep checking.
And if it's not, we go back to the start here. And finally,
we'll get to escape and keep going with our program.
So great, there are a lot more interesting ways of using loops we're going to learn about soon, but
for now, you are off to an excellent start.