1
1
from math import sqrt
2
2
3
+ People = []
3
4
class Person :
4
5
def __init__ (self ,route ):
5
6
self .arrived = False
@@ -34,6 +35,11 @@ def __init__(self,driver):
34
35
self .driver = driver
35
36
self .speed = 0.0
36
37
self .acceleration = 0.0
38
+ self .deacceleraton = 0.0
39
+ def Accelerate ():
40
+ self .speed += self .acceleration
41
+ def Deaccelerate ():
42
+ self .speed += self .deacceleraton
37
43
38
44
class Bicycle (Vehicle ):
39
45
def __init__ (self ,driver ):
@@ -58,13 +64,15 @@ class Train:
58
64
class Ferry :
59
65
pass
60
66
61
- class Place :
67
+ class Point :
62
68
def __init__ (self , x , y ):
63
69
self .x = x
64
70
self .y = y
65
71
72
+ Signals = []
66
73
class Signal : # red = stop, yellow = stop if able, green = go
67
74
def __init__ (self ,color ,greenTime ,redTime ,yellowTime ):
75
+ Signals .append (self )
68
76
self .color = color
69
77
self .greenTime = greenTime
70
78
self .redTime = redTime
@@ -101,24 +109,20 @@ def __init__(self,nRoadSegment,sRoadSegment,eRoadSegment,wRoadSegment):
101
109
102
110
class TwoWayStopSign : # this direction stop, then yeild, then go
103
111
def __init__ (self ):
112
+ pass
104
113
105
-
106
- class YeildSign : # yeild, then go
114
+ class YeildSign : # yeild, thens go
107
115
def __init__ (self ):
108
116
pass
109
117
110
118
class = Crosswalk : #
111
119
def __init__ (self ):
112
- pedestrian = False
113
-
114
- Signals = []
120
+ pedestrianPresent = False
115
121
116
122
class FourWaySignal :
117
123
def __init__ (self ,majorTime ,minorTime ,yellowTime ):
118
124
self .major = Signal ('green' ,majorTime ,minorTime + yellowTime ,yellowTime )
119
- Signals .append (self .major )
120
125
self .minor = Signal ('red' ,minorTime ,majorTime + yellowTime ,yellowTime )
121
- Signals .append (self .minor )
122
126
123
127
class FourWaySignalIntersection :
124
128
def __init__ (self )
@@ -134,18 +138,20 @@ def __init__(self, origin, destination, signal, type):
134
138
self .signal = signal
135
139
self .type = type
136
140
141
+ class HalfTwoLaneRoad :
142
+ def __init__ (self ,end1 ,end2 ):
143
+ self .sidewalk1 = RoadSegment (end1 ,end2 ,'person' )
144
+ self .sidewalk2 = RoadSegment (end2 ,end1 ,'person' )
145
+ self .lane = RoadSegment (end1 ,end2 ,'vehicle' )
146
+
137
147
class TwoLaneRoad :
138
148
def __init__ (self ,end1 ,end2 ):
139
- self .sidewalk1a = RoadSegment (end1 ,end2 ,'person' )
140
- self .sidewalk1b = RoadSegment (end2 ,end1 ,'person' )
141
- self .roada = RoadSegment (end1 ,end2 ,'vehicle' )
142
- self .roadb = RoadSegment (end2 ,end1 ,'vehicle' )
143
- self .sidewalk2a = RoadSegment (end1 ,end2 ,'person' )
144
- self .sidewalk2b = RoadSegment (end2 ,end1 ,'person' )
149
+ self .half1 = HalfTwoLaneRoad (end1 ,end2 )
150
+ self .half2 = HalfTwoLaneRoad (end2 ,end1 )
145
151
146
- p1 = Place (0 ,0 )
147
- p2 = Place (10 ,10 )
148
- p3 = Place (20 ,20 )
152
+ p1 = Point (0 ,0 )
153
+ p2 = Point (10 ,10 )
154
+ p3 = Point (20 ,20 )
149
155
150
156
rs1 = RoadSegment (p1 ,p2 ,s1 )
151
157
rs2 = RoadSegment (p2 ,p3 ,s2 )
@@ -155,7 +161,6 @@ def __init__(self,end1,end2):
155
161
156
162
P1 = Person ([rs2 ,rs1 ])
157
163
P2 = Person ([rs4 ,rs3 ])
158
- People = [P1 ,P2 ]
159
164
160
165
while P1 .arrived == False :
161
166
for S in Signals :
0 commit comments