=====Day 7=====
<font size='1' color='brown'>loading......</font>
<font face = "kaiti">
<!--此处为日后写正文的位置-->因为时间的调整的缘故,原定在明天的比赛调整到了今天,明天早上只有15分钟的表演赛时间,因此今天下午我们就要进行最终比赛。 今天下午仍然是匆忙的调试,昨天发现函数里的IF会导致BUG后,我删掉了那一系列的判断句,将函数作为单纯的遥控指令动作,也就是说我实现的功能与简化版没有区别。但我发现,在教育版下用函数编程写出来的有一个绝对的优势:它可以在单个动作的衔接之间进行强行跳转,比如DELAY的时候,或者ENDFOR的时候。比方说有一个动作连续右前快走五步,队友用这个动作时只有用'''back'''强行终止动作恢复站立姿势然后再做下一个东西,这个方法固然可行,但是其恢复动作时速度极慢,实际在球场上我认为效果并不好。而我所用的这个代码模式,自带有强行跳转动作的效果,执行右前快走时,我连续按别的按键,可以将动作直接跳转到别的动作上。正如我昨天所说的,这个软件有着非常多的BUG,包括这一个,我就无法理解这种跳转是怎么实现的,我在写程序的时候并没有写读取遥控器事件的代码,理论上不可能成功的,可实际上它就是发生了动作跳转,这意味着这个软件把伪码翻译成C时仍然有着我想象不到的漏洞。 所为有失必有得,有得必有失,删掉了所有的IF后我发现这个特性,本来很开心,以为终于找到了直接写代码的一个优势,不料这个本来意义重大的优势很快被另一个BUG覆盖了——在我强行跳转后,机器人出现了我无法理解的行为,经常执行一些奇怪的动作组合,比如说我只发送了一个右踢指令,然后关上了遥控器,但是机器人会在右踢结束后进行一系列的动作,包括右前快走、左铲、前倒地起身等,完全处于失控状态。虽说这时候也可以用'''back'''法恢复,但是真正到了赛场上每次执行任务都用back终究不是一个好的选择。无奈之下,我只能放弃这个满是BUG的函数式编程模式,选择直接用简 化版进行原始的操控模式。当然,少了原计划的强行跳转,也只是让我的程序不能像之前那样灵活,这让我少了一个相对优势,但是也不至于落得太惨的地步,终究把人物回归到了动作细节调整上面。 昨天我在写wiki时想到,如果把右踢动作脚的最低点调低或许会使得这一踢更为有力,今天我进行了尝试,发现我的猜想基本正确,这样的调整确实有着很明显的效果。但是出于之前摔倒的恐惧,我也不敢像左踢那样擦地而行,最终仍然与地面保持了一定距离,腾空踢出,比昨天的射程大了一些,但是仍然比不上左踢。我到球场上试验了一下,总的来说能够满足基本的传球动作——尽管我很怀疑我对这个机器人的掌握能否称作“传球”,感觉更像是一个简单的把球踢走。除此之外我将左铲等动作进行优化,修改了速度和延时,使得相关的动作更为迅速,不过也只是微调,看上去效果不是很明显。 今天下午最终我们进行了3V3的足球赛,但是场面一度十分混乱,场地小而机器人大,实际上大家挤到一起,最终对方进了乌龙球,我们也进了普通球,但是场面过于混乱,且踢球逐渐演变为想办法让对手出界回不来,我们总是处于以多欺少的状态,也不知道老师会怎么算最终结果。
</font>
----
=====Day 8=====