海棠书屋 > 科幻小说 > 编程之战 > 第七十章 红绿灯
    杨成从彩票中心出来,上了自己的车,正准备开过十字路口。

    然后,他看到了令人瞠目结舌的一幕:

    街边的红绿灯,红灯直接跳到绿灯,绿灯又变回了红灯,如此变戏法般地反复变换黄灯则是被无视了。

    顿时,这十字路口乱成了一锅粥。

    “d,你t会不会开车啊”,对面一位车主忍不住冲着杨成嚷嚷道。

    杨成好歹也是读书人,涵养极好,内心也是有句dp不知当讲不讲。

    而其他人就没这么好的素质了,争吵声,对骂声很快响了起来。

    幸好交警很快赶了过来,努力维持现场秩序。

    “有人会看红绿灯吗?”,一位交警冲着杨成这边喊道。

    “我!”,杨成将一只手伸出车窗外,高高举起。

    然后,他把车停靠在路边,跟着交警走向了出事的红绿灯。

    “麻烦你先看看,分析分析”,交警很客气。

    杨成一走近红绿灯,眼前便出现了一个逻辑图。

    图上分别有红灯,绿灯,黄灯的三种业务逻辑:

    red:{step1:“green“,step2:““,step3:““,step4:““}

    yellow:{step1:““,step2:““,step3:““,step4:““}

    green:{step1:““,step2:“red“,step3:““,step4:““}

    可以看到,红灯作为第一步,应该是跳到绿灯,而绿灯作为第二步,重新跳到红灯如此反复,这就没黄灯啥事儿了。

    这就是红绿灯出状况的根源。

    而正常情况下,红绿灯的业务逻辑应该是:

    red -> yellow-> green -> yellow -> red ->

    也就是说是:

    红灯->黄灯->绿灯->黄灯->红灯->

    这样的话,对红绿灯的逻辑做一些简单的修改就可以了。

    修改后的业务逻辑像这样:

    red:{step1:“yellow“,step2:““,step3:““,step4:““}

    yellow:{step1:““,step2:“green“,step3:““,step4:“red“}

    green:{step1:““,step2:““,step3:“yellow“,step4:““}

    “这样就ok啦”,杨成把修改后的逻辑做了保存。

    红绿灯很快就恢复了正常的工作。

    “叮!当前积分171分,击败了全球46的玩家,请您再接再厉!”

    ()