 Here's my program that is going to simulate the motion of our lightning bolt across the Caribbean horizontally. So, up here at the top I declare two integer variables, then I write the setup function that's going to tell processing how big to make the window that we're going to draw and then all the commands that draw the lightning bolt are down here in the draw function. This is basically the same as other programs that we use to draw the lightning bolt. The only difference is we've added this command down here. So, let's go through how this program works. First processing executes these two commands. We'll never look at them again. Then it executes the setup block. It's never going to look at that again either. Then it goes to the draw block and executes all these commands in order. Using the values of x and y that we set up here at the top. Then it changes the value of x by adding one to it. Then it goes up to the top of the draw block and executes all these commands in order. Again, with the new value of x. Then it increments the value of x by one again. And keeps on doing this until we tell it to stop. A more compact way of writing this command is to simply write x plus plus. That's the same as saying x equals x plus one. But it's more compact to write and fewer chances for typos. Here's what the program looks like when it's running. So there goes the lightning bolt across the screen. It looks like it's moving because it's being redrawn at a rate that's too fast for an eye to realize that it's just being redrawn. Like a cartoon flipbook. Now it's gone. And the reason it's gone is that even though the program is still running, the value of x has exceeded 400, which is the horizontal size of the window, so we can't see it anymore. If I run it again, it'll start back at the beginning. You're hearing this amplified by all of the surrogates. Now he's not going after him, but he is being critical. Which is further than we've seen.