邮件数值参数, 像其他普通数值参数一样, 邮件值可以直接被用于其他图标的数值参数,或者直接被显示在 RCX 或者 NXT 上。例如,范例程序:
Robolab 为邮件设置了完善的结构图标,可以方便的让两个控制之间协同工作起来:邮件等待图标,程序将等待直到邮箱中的邮件数值等于设定数值才继续后面的图标。
关于邮件数值的 loops 循环,当邮件的数值小于(大于)参数数值的时候执行循环内容。
关于邮件数值的分支判断图标, 前者根据邮件数值大于或者小于参数数值执行不同的分支,后者根据邮件的数值等于或者不等于参数数值执行不同的分支,通常邮件总是由发送程序设定的特定的数值, 所以关于相等的邮件判断分支使用起来更加的方便。
程序实例:
在之前的章节中,我们提到了用触碰传感器控制两个马达的机器人,就像个线操纵的遥控车,现在有了邮件功能,我们可以将机器人的遥控方式升级为无线方式,玩起来更加自如、更加有趣味。
因为机器人有停止、前进、左转和右转四种状态,所以我们在发射程序中要根据触碰传感器的状态发射 4 个不同数值的邮件, 而在接收程序中要根据邮件的数值对机器人进行相应的操作:
程序中对应于触碰传感器的状态分别发送“1”——停止、 “2”——右转、 “3”——左转和“4”——前进,只是为了确保 NXT 发射的邮件机器人一定能够收到,所以在每次改变状态的时候都以 0.1 秒为间隔连续发射 10 次控制邮件。
接收程序:
除此之外,Robolab 也为邮件功能设置了相应的容器和事件图标
将邮件数值存放在容器中,因为在程序过程中只要有人发送邮件,那么邮箱数值就将改变,因此通常不直接使用邮件的值,而是通过容器来暂时保存邮件数值。
用这个图标定义关于邮件的事件,当 RCX 或者 NXT 收到邮件时事件响应,这个事件的定义没有事件源,那么意味着无论什么邮件事件都会相应。
程序范例:
用这个图标可以玩一个非常激烈、刺激的枪战游戏,因为 RCX 的红外线传输有方向性,所以可以以 RCX 作枪、触碰传感器作为扳机、邮件作为子弹,当有邮件被接收到,则意味着被击中身亡。这的确是个好玩的程序:
这个程序下载到多个 RCX 中,大家就可以来场刺激的游戏了,只是要小心自己发出的子弹通过墙壁反射回来杀死自己。此外,如果大家的“子弹”设定为不同的数值,则可以在被击中之后通过 RCX 显示袭击者。
对于 NXT 来说,因为蓝牙传输没有指向性,通常的障碍物都挡不住邮件的发送和接收,所以相比 RCX 它更像是个遥控的炸弹,在这个游戏中也就不好玩了。
本站内容未经许可,禁止任何网站及个人进行转载。