返回第二十章 舍不得if套不着狼(2 / 2)任煦之秋首页

关灯 护眼     字体:

上一页 目录 下一章

switch(keyCode)

{

case 38:/*上*/

if((灰太狼.y –移动的宽度)大于等于 0)

{

灰太狼.y -=移动的宽度

}

break;

case 40:/*下*/

if((灰太狼.y +移动的宽度)小于等于(窗体的高度-灰太狼的高度))

{

灰太狼.y +=移动的宽度

}

break;

case 37:/*左*/

if((灰太狼.x –移动的宽度)大于等于 0)

{

灰太狼.x -=移动的宽度

}

break;

case 39:/*右*/

if((灰太狼.x +移动的宽度)小于等于(窗体的宽度-灰太狼的宽度))

{

灰太狼.x +=移动的宽度

}

break;

&:/*其他按键*/

什么都不做

break;

}」

「为什么向下和向右的时候判断时要减去灰太狼的高度和高度啊?」

我挠了挠头,有些想不明白。

「这是因为我们描述一个控件的位置,其实是描述的这个空间最左上角那个点的位置信息。现在我们使用这个灰太狼这个控件是个正方形,并且它的变长为50像素。

当灰太狼移动到最左的时候,x=0;移动到最上的时候,y=0。但是移动到最右的时候,此时和窗体重合是右边,此时x=窗体的宽度– 50像素。

同理,当灰太狼移动到最下边的时候,和窗体重合的是下边,这个时候的y=窗体的高度– 50像素」

为了让我能够明白这其中的关系,老爹还特别打开是画图程序,给我详细画了出来。这么一来,我不想理解都难。

既然逻辑已经讲明白了,我只需要把老爹的讲述转译成代码就好了。虽然又犯了不少的错误,但在老爹耐心地指导下还是将bug一个一个都解决了,这么一来,灰太狼总算不会消失了。

通过实现这个功能我才深切的体会到,其实在实现某个功能之前,分析才是最重要的。只要把过程弄明白了,要实现具体的功能时就变得得心应手。

还有就是老爹说的这些理论我都明白,可是在写程序的过程中却漏洞百出,「看来纸上得来终觉浅」果然还是说得不错的。

『加入书签,方便阅读』

上一页 目录 下一章