notice that math sin( returns then gradually increases until math sin( returns then it begins to decrease until math sin( returns the number is special number in mathematics called pi (pronounced the same as delicious --pie||this value is also stored in the constant variable pi in the math module (which is why line uses the variablemath pi)which is technically the float value since we want wavy-looking bounce for our squirrelwe'll only pay attention to the return values of math sin(for the arguments to values returned by math sin( math sin(arg arg let' take look at the return value of getbounceamount(and figure out what it does exactly return int(math sin(math pi float(bouncerate)currentbounce bounceheightremember that on line we set the bouncerate constant to this means that our code will only increment playerobj['bounce'from to and that we want to split up the range of floating-point values from to into partswhich we can do with simple division each of the equal parts of the length on the graph for the --sine wave bounce|is you can see that when playerobj['bounce'is at (halfway between and )the value passed to the math sin(call is math pi which is (halfway between and then math sin( will return which is the highest part of the sine wave (and the highest part of the sine wave happens half way through the wave