Game Development Reference
In-Depth Information
3
@object
=
object
4
@vision
=
vision
5
end
6
7
def
enter
8
# Override if necessary
9
end
10
11
def
change_direction
12
# Override
13
end
14
15
def
wait_time
16
# Override and return a number
17
end
18
19
def
drive_time
20
# Override and return a number
21
end
22
23
def
turn_time
24
# Override and return a number
25
end
26
27
def
update
28
# Override
29
end
30
31
def
wait
32
@sub_state
=
:waiting
33
@started_waiting
=
Gosu
.
milliseconds
34
@will_wait_for
=
wait_time
35
@object
.
throttle_down
=
false
36
end
37
38
def
drive
39
@sub_state
=
:driving
40
@started_driving
=
Gosu
.
milliseconds
41
@will_drive_for
=
drive_time
42
@object
.
throttle_down
=
true
43
end
44
45
def
should_change_direction?
46
return
true
unless
@changed_direction_at
47
Gosu
.
milliseconds
-
@changed_direction_at
>
@will_keep_direction_for
48