我们又回到了“画温斯顿”这个程序了， 但是我添加了一些文字。
看，我想做的是在把温斯顿放在这些标签下面，
显示他不同的人生阶段。
现在他在屏幕上到处乱窜。
这是因为在该函数里， 我们把faceX和faceY 设置成了随机数。
但是，我们想做的事情是—— 嘿，我想你把温斯顿画到我指定的这个位置。
我希望每次调用函数的时候， 我都能准确说明它的位置，
就像我们放置椭圆和矩形的时候一样。
我想要把温斯顿放在这里、这里， 还有一个温斯顿在这里、一个温斯顿在这里。
我不希望我每次调用函数的时候， 他满世界随机乱跑。
要做到这一点，我们要设置该函数里的参数，
既要在函数定义里设置参数——就是顶部这里，
也要是调用函数这里设置参数—— 就是下面这里我们实际调用参数的时候。
在画温斯顿的时候， 我们传递的函数参数为faceX和faxeY，
我们要让该函数使用我们传递的值， 而不是生成随机数。
我们先这样想，我们传递完值后， 下面这些函数会如何调用它们呢。
我们想要把温斯顿放在每行标题文字下面，
这样每个温斯顿的X坐标跟Y坐标应该 跟这些标题文字的坐标很接近。
可能温斯顿的Y坐标 比标题文字的Y坐标低10个像素左右。
那第一个的X、Y坐标就应该是10、30， 然后是200、230；10、 230； 200、 230。
这跟标题文字的坐标是一样的。 只是每一个Y坐标我加了10，
因为我想把它放低一点点而已。
但是温斯顿没有动。
这是因为我们还没有告诉上面的函数我们要传递参数了，所以它还在用这些随机数值。
要告诉这些函数，“我们要给你这些信息啦”，
我们一定要在这些括号里面打入这些参数的名字。
我们将其命名为 faceX 和 face Y, 用逗号分隔开。
我们这样命名是因为在该函数里面 我们已经用了这些名字，
这样我们就不用重写其他代码了。
但是，还是什么都没有发生。 温斯顿还是在满世界乱跑。
如果你在看回来顶部的函数，
你会发现随机数值还是覆盖在faceX和faceY上。
所以我们要做的就是把这两行都删掉。
现在，faceX和faceY传递到函数里了，
而且它在使用我们在下面调用的值。
但是如你所见，温斯顿摆放的位置不是很正确，
因为我忘记了文字应该左对齐，脸则应该是居中。
所以我只需要修改一下我的数字是吧。
我要把 X 坐标右移很多, Y坐标下移一点。 好了，孩童时期的温斯顿弄好了。
我们继续。
我们现在只要修改一下函数的参数值即可，完全不用重新定义函数。
它会使用我们传递的值，
就像制作椭圆和矩形的时候一样。
现在我已经差不多摆放好了， 但是我又注意到温斯顿有点大。
几个温斯顿重叠在一起。 他的大小不大对劲。
因为我是写了一个代码， 用函数把温斯顿画出来的，
我也是一下子就可以改变全部的大小，
只要修改这一行画椭圆的代码即可。
我们看看改成190x190怎么样。 耶，温斯顿减肥了。
现在他的大小合适了。 然后，我还可以微调一下位置。
这样我就能把它放进去了是不是？ 好酷！
我们再来回顾一下这个函数的功能。 它定义了一个叫做“画温斯顿”的函数，
它将采用两个值， 这两个值的名字叫faceX和faceY。
实际上这两个值就是参数， 我们可以在整个函数里使用它们，
就像我们以前使用在顶部声明的参数一样，
我们声明完函数之后就可以随时调用它们，
我们可以传递不同的值。 它也会每次使用新输入的值。
你也见证了这些函数的神奇效应，
我们可以设计一些我们觉得可以重复使用的代码，
但是我们也可以用参数说， “嘿，你可以在这里修改一下这个代码。”
就像是一个菜谱， 你写下总体指令，
然后你突然发现你要喂的 不只是一个温斯顿，而是四个，
你不用一切重新开始，
你只需要调整一下原始指令，并把一切乘上4即可。
现在你可以开始想自己代码里的菜谱啦！ 哇！真好吃！