九宫格红绿灯识别的程序逻辑,一看就会

112 篇文章 0 订阅
29 篇文章 0 订阅

最近所谓的“新国标红绿灯”闹的是沸沸扬扬,又终于尘埃落定,关于九宫格红绿灯,看起来没有普通的红绿灯好识别,比如下面的表示什么意思呢?

其实弄清楚了一些规律,是比较容易识别的,尤其对于程序员来说。

九宫格红绿灯添加了“不亮灯”,表示默认状态,是用来表示让行的,比如右转默认状态,车可以走,但是要注意一下给直行让行。

对于左转,默认状态下,能不能通行需要看中间灯的状态,对于右转,默认状态是可以通行

是不是感觉有些啰嗦,来来来,just show the CODE

 这个表示,左转停,直行(中间)行,右转行

还是用程序来表示吧,

state 表示灯的状态,灯的状态值

#define RED 0

#define GREEN 2

#defind OFF 1

对于左侧信号灯,绿灯行,红灯停,默认状态时看中间的灯

bool leftGo() {

        if (state == RED) return false;

        if (state == GREEN) return true;

        return state_MID; // 默认状态下,由中间灯的状态决定

}

或者合并为一个语句

bool leftGo() {

        return (state > OFF) || state_MID == GREEN;

}

对于中间的灯,就比较清楚,直接路灯行,红灯停

return state == GREEN;

对于右侧灯,绿灯行,红灯停,默认状态也是行

bool rightGo() {

        if (state == RED) return false;

        if (state == GREEN) return true;

        return true; // 默认状态下,可以通行

}

或者合并

bool rightGo() {

        return (state >= OFF) ;

}

有了这个判断思维,再看看下面的几个情况,就难不倒我们了,

 结果:行  行  行

 结果:行  行  停

 结果:停  停  行

有了这个判断程序,只要灯不坏(同时出现红灯和绿灯),就难不住我们。

大家要是还是觉得不好识别的话,就使用一个程序来自动识别提示吧,^_^

参考资料:

新红绿灯信号灯怎么看 交通信号灯,新国标信号灯八种规定图_车主指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值