上一关,我们学习了关闭传送门,在这一关中,先关闭传送门,收集完一侧的宝石后再打开传送门,传送到另一侧去。
开发传送门我们可以先关闭传送门,收集完一侧宝石,
然后转身后,打开传送门,走到另一侧,打开开关,
然后再转身后,再关闭传送门,收集完另一侧开关。
用3次while循环完成任务。卖个关子,希望你先不看下面的内容,自己尝试一下,如何,只用1个while循环,就可以闯关任务?
下面是我自己尝试的一个方法。
我先定义了一个函数“前进收集宝石”moveAndCollectGem()
用来判断前进,转身,收集宝石。
if 前方受阻:转身;
else if 有宝石:收集宝石;
else 前进。
定义函数然后用一个while循环,条件是一直走到开关之前都要循环:
while if 不是开关就循环{
if 前方受阻,且 有宝石{
打开传送门,前进收集宝石
}
else if 前方受阻{
关闭开关,前进收集宝石。
}
else {
前进收集宝石
}
}
最后,打开开关。
一次循环完成任务第二种方法花费了我差不多30分钟,才做出来,你呢?
网友评论