WEBVTT 00:00:01.304 --> 00:00:03.685 Remember the three steps of making an animation? 00:00:03.685 --> 00:00:06.589 We start out by making some variables outside the draw loop, 00:00:06.589 --> 00:00:08.405 and then inside the draw loop we use those variables 00:00:08.405 --> 00:00:10.011 in our drawing code. 00:00:10.011 --> 00:00:12.039 So we've got a variable for the x position, 00:00:12.039 --> 00:00:14.395 one for the y position, one for the ballWidth, 00:00:14.395 --> 00:00:16.011 and one for the ballHeight. 00:00:16.011 --> 00:00:17.723 And then, at the very end, 00:00:17.723 --> 00:00:20.025 we change those variables a little bit every time, 00:00:20.025 --> 00:00:22.773 so x is going to be the old value of x, plus 1, 00:00:22.773 --> 00:00:24.701 so it's going to be increasing every time; 00:00:24.701 --> 00:00:27.796 y is going be the old value of y, minus 2, 00:00:27.796 --> 00:00:29.801 so y will be decreasing every time; 00:00:29.801 --> 00:00:35.406 ballWidth is going to get the old value of ballWidth times 0.99. 00:00:35.410 --> 00:00:39.409 So since 0.99 is less than 1, we're going to see ballWidth decreasing. 00:00:39.409 --> 00:00:41.839 And ballHeight is going to be the old value of ballHeight 00:00:41.839 --> 00:00:45.501 divided by 1.01, which is greater than 1, 00:00:45.501 --> 00:00:47.963 and so we're also going to see ballHeight decreasing. 00:00:47.963 --> 00:00:50.234 So if I press Restart, you can see 00:00:50.234 --> 00:00:53.585 all of these attributes of the ball changing. 00:00:53.725 --> 00:00:56.607 So if you look at these four lines of code, 00:00:56.607 --> 00:00:59.251 you'll notice that they all follow a similar pattern. 00:00:59.251 --> 00:01:01.400 We've got a variable, then an equals sign, 00:01:01.400 --> 00:01:06.047 then the same variable, some operator -- plus, minus, times, divide -- 00:01:06.527 --> 00:01:08.593 and some number, okay? 00:01:08.593 --> 00:01:11.772 And this pattern is so common in programming, 00:01:11.772 --> 00:01:14.460 and programmers are so lazy, that they decided, 00:01:14.460 --> 00:01:16.777 "Hey! Since we use this pattern so much, 00:01:16.777 --> 00:01:19.054 "Shouldn't there be an easier way to type it?" 00:01:19.054 --> 00:01:22.006 And so they made a shortcut, and the shortcut goes like this: 00:01:22.006 --> 00:01:24.528 Instead of saying "x gets x plus 1", 00:01:24.528 --> 00:01:29.331 I could say "x plus equals 1." Got it? 00:01:29.331 --> 00:01:35.970 And instead of saying y gets y minus 2, I could say "y minus equals 2." 00:01:36.670 --> 00:01:41.259 And instead of saying ballWidth gets ballWidth times 0.99, 00:01:41.259 --> 00:01:47.686 I can say -- you guessed it -- "ballWidth times equals 0.99" 00:01:48.203 --> 00:01:49.832 Finally, instead of saying 00:01:49.832 --> 00:01:53.658 ballHeight gets ballHeight divided by 1.01 00:01:53.658 --> 00:01:57.373 we can say "ballHeight divides equals 1.01." 00:01:57.373 --> 00:01:59.468 So for all of these, what it does is 00:01:59.468 --> 00:02:01.553 it takes the value of the variables, 00:02:01.553 --> 00:02:04.123 so ballWidth, and then this operator, 00:02:04.123 --> 00:02:06.344 and then multiplies it by 0.99. 00:02:06.344 --> 00:02:09.240 So it's going to say, "ballWidth times 0.99" 00:02:09.240 --> 00:02:12.067 and then store it back in the variable, ballWidth. 00:02:12.067 --> 00:02:13.864 And if I press Restart you can see 00:02:13.864 --> 00:02:16.005 our animation looks the same as before. 00:02:16.005 --> 00:02:17.975 And now you get to be lazy too!