我自己感觉之前对于算法理论的分析有点太凑合,今天我就彻底分析下我的交通管制是如何做的。
并且把他作为一个单独的篇章,后面关于寻路算法,解锁算法,移车算法等都单独讲一遍
一、交通管制是什么?我做一个比喻,交通管制就像是一个十字路口,同时有多辆车要经过这个十字路口,这时候开车的人要看红绿灯决定是通行还是停下来,其实我的交通管制理论就是根据思考开车经过红绿灯实现的。
交通管制的理论其实就是我平时在开车的时候摸索出来的。
二、交通管制逻辑分析1.驾驶员要实现交通管制就需要车能看的懂红绿灯,谁能看懂红绿灯?肯定是驾驶员。所以这里我引入了一个概念叫驾驶员。
驾驶员是什么?驾驶员是一个对象。
驾驶员有哪些功能,有四个主要方法:前进,后退,停止,观察(观察的就是红绿灯)。
2.交通指挥员(红绿灯)车既然有了驾驶员,驾驶员有一个观察的方法,那么他观察的是什么东西哪?观察的就是红绿灯或者说是交通指挥员 下面简称指挥员。
指挥员是一个对象,同时也是事件的创建者,所有的车在进入这篇场地后都需要注册指挥员这个事件,这样指挥员就知道了有多少车每辆车在什么位置。
现在所有的车辆都归指挥员管理了,当车要运动的时候,就需要先告诉指挥员说,我要去1009这个位置,指挥员会去根据你当前的位置到1009的位置所用的时间,是否会跟别的车发生碰撞,是否会死锁等等进行判断,如果判定你可以去,就返回给你1009,如果判定你最多走到1004就需要停止,就返回你1004,如果判断你往前走一步就会出问题,就会让你原地等待。
3.十字路口在我的理论里面每一个位置都是一个十字路口,所以车走的每一步都需要指挥员确认是否可以走。
总结编程的一切都来源于现实世界,这套理论是我通过十字路口和红绿灯总结出来的,在实际测试中效果是不错的。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved