zyps 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. data/README.txt +2 -2
  2. data/bin/zyps_demo +2 -8
  3. data/bin/zyps_server +14 -41
  4. data/lib/zyps/environmental_factors.rb +33 -5
  5. data/lib/zyps/remote.rb +103 -0
  6. data/test/zyps/test_actions.rb +2 -1
  7. data/test/zyps/test_conditions.rb +0 -6
  8. data/test/zyps/test_environmental_factors.rb +1 -2
  9. data/test/zyps/test_remote.rb +113 -0
  10. metadata +11 -183
  11. data/doc/classes/Zyps/AccelerateAction.html +0 -200
  12. data/doc/classes/Zyps/AccelerateAction.src/M000020.html +0 -19
  13. data/doc/classes/Zyps/AccelerateAction.src/M000021.html +0 -19
  14. data/doc/classes/Zyps/AccelerateAction.src/M000022.html +0 -18
  15. data/doc/classes/Zyps/Accelerator.html +0 -181
  16. data/doc/classes/Zyps/Accelerator.src/M000044.html +0 -19
  17. data/doc/classes/Zyps/Accelerator.src/M000045.html +0 -18
  18. data/doc/classes/Zyps/Action.html +0 -217
  19. data/doc/classes/Zyps/Action.src/M000014.html +0 -18
  20. data/doc/classes/Zyps/Action.src/M000015.html +0 -18
  21. data/doc/classes/Zyps/Action.src/M000016.html +0 -17
  22. data/doc/classes/Zyps/Action.src/M000017.html +0 -18
  23. data/doc/classes/Zyps/AgeCondition.html +0 -181
  24. data/doc/classes/Zyps/AgeCondition.src/M000058.html +0 -18
  25. data/doc/classes/Zyps/AgeCondition.src/M000059.html +0 -18
  26. data/doc/classes/Zyps/ApproachAction.html +0 -207
  27. data/doc/classes/Zyps/ApproachAction.src/M000074.html +0 -19
  28. data/doc/classes/Zyps/ApproachAction.src/M000075.html +0 -19
  29. data/doc/classes/Zyps/ApproachAction.src/M000076.html +0 -38
  30. data/doc/classes/Zyps/Behavior.html +0 -206
  31. data/doc/classes/Zyps/Behavior.src/M000012.html +0 -20
  32. data/doc/classes/Zyps/Behavior.src/M000013.html +0 -31
  33. data/doc/classes/Zyps/BlendAction.html +0 -181
  34. data/doc/classes/Zyps/BlendAction.src/M000066.html +0 -18
  35. data/doc/classes/Zyps/BlendAction.src/M000067.html +0 -18
  36. data/doc/classes/Zyps/Clock.html +0 -180
  37. data/doc/classes/Zyps/Clock.src/M000069.html +0 -18
  38. data/doc/classes/Zyps/Clock.src/M000070.html +0 -21
  39. data/doc/classes/Zyps/Clock.src/M000071.html +0 -18
  40. data/doc/classes/Zyps/CollisionCondition.html +0 -148
  41. data/doc/classes/Zyps/CollisionCondition.src/M000083.html +0 -18
  42. data/doc/classes/Zyps/Color.html +0 -299
  43. data/doc/classes/Zyps/Color.src/M000038.html +0 -18
  44. data/doc/classes/Zyps/Color.src/M000039.html +0 -16
  45. data/doc/classes/Zyps/Color.src/M000040.html +0 -16
  46. data/doc/classes/Zyps/Color.src/M000041.html +0 -16
  47. data/doc/classes/Zyps/Color.src/M000042.html +0 -18
  48. data/doc/classes/Zyps/Color.src/M000043.html +0 -22
  49. data/doc/classes/Zyps/Condition.html +0 -118
  50. data/doc/classes/Zyps/Creature.html +0 -190
  51. data/doc/classes/Zyps/Creature.src/M000025.html +0 -19
  52. data/doc/classes/Zyps/Creature.src/M000026.html +0 -18
  53. data/doc/classes/Zyps/DestroyAction.html +0 -181
  54. data/doc/classes/Zyps/DestroyAction.src/M000054.html +0 -18
  55. data/doc/classes/Zyps/DestroyAction.src/M000055.html +0 -20
  56. data/doc/classes/Zyps/EatAction.html +0 -149
  57. data/doc/classes/Zyps/EatAction.src/M000068.html +0 -21
  58. data/doc/classes/Zyps/Enclosure.html +0 -206
  59. data/doc/classes/Zyps/Enclosure.src/M000010.html +0 -18
  60. data/doc/classes/Zyps/Enclosure.src/M000011.html +0 -31
  61. data/doc/classes/Zyps/Environment.html +0 -203
  62. data/doc/classes/Zyps/Environment.src/M000081.html +0 -19
  63. data/doc/classes/Zyps/Environment.src/M000082.html +0 -67
  64. data/doc/classes/Zyps/EnvironmentalFactor.html +0 -118
  65. data/doc/classes/Zyps/FaceAction.html +0 -148
  66. data/doc/classes/Zyps/FaceAction.src/M000080.html +0 -18
  67. data/doc/classes/Zyps/FleeAction.html +0 -207
  68. data/doc/classes/Zyps/FleeAction.src/M000084.html +0 -19
  69. data/doc/classes/Zyps/FleeAction.src/M000085.html +0 -19
  70. data/doc/classes/Zyps/FleeAction.src/M000086.html +0 -38
  71. data/doc/classes/Zyps/Friction.html +0 -181
  72. data/doc/classes/Zyps/Friction.src/M000072.html +0 -19
  73. data/doc/classes/Zyps/Friction.src/M000073.html +0 -18
  74. data/doc/classes/Zyps/GameObject.html +0 -282
  75. data/doc/classes/Zyps/GameObject.src/M000060.html +0 -19
  76. data/doc/classes/Zyps/GameObject.src/M000061.html +0 -16
  77. data/doc/classes/Zyps/GameObject.src/M000062.html +0 -19
  78. data/doc/classes/Zyps/GameObject.src/M000063.html +0 -16
  79. data/doc/classes/Zyps/GameObject.src/M000064.html +0 -16
  80. data/doc/classes/Zyps/Gravity.html +0 -145
  81. data/doc/classes/Zyps/Gravity.src/M000065.html +0 -16
  82. data/doc/classes/Zyps/Location.html +0 -167
  83. data/doc/classes/Zyps/Location.src/M000037.html +0 -18
  84. data/doc/classes/Zyps/NoMatchException.html +0 -111
  85. data/doc/classes/Zyps/PopulationLimit.html +0 -183
  86. data/doc/classes/Zyps/PopulationLimit.src/M000027.html +0 -19
  87. data/doc/classes/Zyps/PopulationLimit.src/M000028.html +0 -20
  88. data/doc/classes/Zyps/ProximityCondition.html +0 -182
  89. data/doc/classes/Zyps/ProximityCondition.src/M000056.html +0 -18
  90. data/doc/classes/Zyps/ProximityCondition.src/M000057.html +0 -18
  91. data/doc/classes/Zyps/PullAction.html +0 -199
  92. data/doc/classes/Zyps/PullAction.src/M000046.html +0 -19
  93. data/doc/classes/Zyps/PullAction.src/M000047.html +0 -19
  94. data/doc/classes/Zyps/PullAction.src/M000048.html +0 -23
  95. data/doc/classes/Zyps/PushAction.html +0 -199
  96. data/doc/classes/Zyps/PushAction.src/M000049.html +0 -19
  97. data/doc/classes/Zyps/PushAction.src/M000050.html +0 -19
  98. data/doc/classes/Zyps/PushAction.src/M000051.html +0 -23
  99. data/doc/classes/Zyps/SpeedLimit.html +0 -181
  100. data/doc/classes/Zyps/SpeedLimit.src/M000023.html +0 -18
  101. data/doc/classes/Zyps/SpeedLimit.src/M000024.html +0 -18
  102. data/doc/classes/Zyps/TagAction.html +0 -181
  103. data/doc/classes/Zyps/TagAction.src/M000052.html +0 -18
  104. data/doc/classes/Zyps/TagAction.src/M000053.html +0 -18
  105. data/doc/classes/Zyps/TagCondition.html +0 -181
  106. data/doc/classes/Zyps/TagCondition.src/M000018.html +0 -18
  107. data/doc/classes/Zyps/TagCondition.src/M000019.html +0 -18
  108. data/doc/classes/Zyps/TrailsView.html +0 -209
  109. data/doc/classes/Zyps/TrailsView.src/M000008.html +0 -40
  110. data/doc/classes/Zyps/TrailsView.src/M000009.html +0 -78
  111. data/doc/classes/Zyps/TurnAction.html +0 -200
  112. data/doc/classes/Zyps/TurnAction.src/M000077.html +0 -19
  113. data/doc/classes/Zyps/TurnAction.src/M000078.html +0 -19
  114. data/doc/classes/Zyps/TurnAction.src/M000079.html +0 -18
  115. data/doc/classes/Zyps/Utility.html +0 -251
  116. data/doc/classes/Zyps/Utility.src/M000001.html +0 -26
  117. data/doc/classes/Zyps/Utility.src/M000002.html +0 -22
  118. data/doc/classes/Zyps/Utility.src/M000003.html +0 -18
  119. data/doc/classes/Zyps/Utility.src/M000004.html +0 -21
  120. data/doc/classes/Zyps/Utility.src/M000005.html +0 -25
  121. data/doc/classes/Zyps/Utility.src/M000006.html +0 -21
  122. data/doc/classes/Zyps/Utility.src/M000007.html +0 -21
  123. data/doc/classes/Zyps/Vector.html +0 -281
  124. data/doc/classes/Zyps/Vector.src/M000029.html +0 -19
  125. data/doc/classes/Zyps/Vector.src/M000030.html +0 -16
  126. data/doc/classes/Zyps/Vector.src/M000031.html +0 -21
  127. data/doc/classes/Zyps/Vector.src/M000032.html +0 -16
  128. data/doc/classes/Zyps/Vector.src/M000033.html +0 -18
  129. data/doc/classes/Zyps/Vector.src/M000034.html +0 -16
  130. data/doc/classes/Zyps/Vector.src/M000035.html +0 -18
  131. data/doc/classes/Zyps/Vector.src/M000036.html +0 -25
  132. data/doc/classes/Zyps.html +0 -161
  133. data/doc/created.rid +0 -1
  134. data/doc/files/COPYING_LESSER_txt.html +0 -311
  135. data/doc/files/COPYING_txt.html +0 -1003
  136. data/doc/files/README_txt.html +0 -236
  137. data/doc/files/lib/zyps/actions_rb.html +0 -134
  138. data/doc/files/lib/zyps/conditions_rb.html +0 -134
  139. data/doc/files/lib/zyps/environmental_factors_rb.html +0 -134
  140. data/doc/files/lib/zyps/views/trails_rb.html +0 -134
  141. data/doc/files/lib/zyps_rb.html +0 -134
  142. data/doc/fr_class_index.html +0 -62
  143. data/doc/fr_file_index.html +0 -34
  144. data/doc/fr_method_index.html +0 -112
  145. data/doc/index.html +0 -24
  146. data/doc/rdoc-style.css +0 -208
@@ -1,207 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Zyps::ApproachAction</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Zyps::ApproachAction</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/zyps/actions_rb.html">
59
- lib/zyps/actions.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="Action.html">
69
- Action
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
- <div id="description">
84
- <p>
85
- Approaches the target, but obeys law of inertia.
86
- </p>
87
-
88
- </div>
89
-
90
-
91
- </div>
92
-
93
- <div id="method-list">
94
- <h3 class="section-bar">Methods</h3>
95
-
96
- <div class="name-list">
97
- <a href="#M000076">do</a>&nbsp;&nbsp;
98
- <a href="#M000074">new</a>&nbsp;&nbsp;
99
- <a href="#M000075">start</a>&nbsp;&nbsp;
100
- </div>
101
- </div>
102
-
103
- </div>
104
-
105
-
106
- <!-- if includes -->
107
-
108
- <div id="section">
109
-
110
-
111
-
112
-
113
-
114
- <div id="attribute-list">
115
- <h3 class="section-bar">Attributes</h3>
116
-
117
- <div class="name-list">
118
- <table>
119
- <tr class="top-aligned-row context-row">
120
- <td class="context-item-name">heading</td>
121
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
122
- <td class="context-item-desc">
123
- Direction/speed actor is accelerating in.
124
-
125
- </td>
126
- </tr>
127
- <tr class="top-aligned-row context-row">
128
- <td class="context-item-name">turn_rate</td>
129
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
130
- <td class="context-item-desc">
131
- Degrees per second the direction of acceleration can change.
132
-
133
- </td>
134
- </tr>
135
- </table>
136
- </div>
137
- </div>
138
-
139
-
140
-
141
- <!-- if method_list -->
142
- <div id="methods">
143
- <h3 class="section-bar">Public Class methods</h3>
144
-
145
- <div id="method-M000074" class="method-detail">
146
- <a name="M000074"></a>
147
-
148
- <div class="method-heading">
149
- <a href="ApproachAction.src/M000074.html" target="Code" class="method-signature"
150
- onclick="popupCode('ApproachAction.src/M000074.html');return false;">
151
- <span class="method-name">new</span><span class="method-args">(heading = Vector.new, turn_rate = 360)</span>
152
- </a>
153
- </div>
154
-
155
- <div class="method-description">
156
- </div>
157
- </div>
158
-
159
- <h3 class="section-bar">Public Instance methods</h3>
160
-
161
- <div id="method-M000076" class="method-detail">
162
- <a name="M000076"></a>
163
-
164
- <div class="method-heading">
165
- <a href="ApproachAction.src/M000076.html" target="Code" class="method-signature"
166
- onclick="popupCode('ApproachAction.src/M000076.html');return false;">
167
- <span class="method-name">do</span><span class="method-args">(actor, target)</span>
168
- </a>
169
- </div>
170
-
171
- <div class="method-description">
172
- <p>
173
- Accelerate toward the target, but limited by turn rate.
174
- </p>
175
- </div>
176
- </div>
177
-
178
- <div id="method-M000075" class="method-detail">
179
- <a name="M000075"></a>
180
-
181
- <div class="method-heading">
182
- <a href="ApproachAction.src/M000075.html" target="Code" class="method-signature"
183
- onclick="popupCode('ApproachAction.src/M000075.html');return false;">
184
- <span class="method-name">start</span><span class="method-args">(actor, target)</span>
185
- </a>
186
- </div>
187
-
188
- <div class="method-description">
189
- <p>
190
- Begin tracking time between actions.
191
- </p>
192
- </div>
193
- </div>
194
-
195
-
196
- </div>
197
-
198
-
199
- </div>
200
-
201
-
202
- <div id="validator-badges">
203
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
204
- </div>
205
-
206
- </body>
207
- </html>
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html>
7
- <head>
8
- <title>new (Zyps::ApproachAction)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/zyps/actions.rb, line 81</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">heading</span> = <span class="ruby-constant">Vector</span>.<span class="ruby-identifier">new</span>, <span class="ruby-identifier">turn_rate</span> = <span class="ruby-value">360</span>)
15
- <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">heading</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">turn_rate</span> = <span class="ruby-identifier">heading</span>, <span class="ruby-identifier">turn_rate</span>
16
- <span class="ruby-ivar">@clock</span> = <span class="ruby-constant">Clock</span>.<span class="ruby-identifier">new</span>
17
- <span class="ruby-keyword kw">end</span></pre>
18
- </body>
19
- </html>
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html>
7
- <head>
8
- <title>start (Zyps::ApproachAction)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/zyps/actions.rb, line 86</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">actor</span>, <span class="ruby-identifier">target</span>)
15
- <span class="ruby-keyword kw">super</span>
16
- <span class="ruby-ivar">@clock</span>.<span class="ruby-identifier">reset_elapsed_time</span>
17
- <span class="ruby-keyword kw">end</span></pre>
18
- </body>
19
- </html>
@@ -1,38 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html>
7
- <head>
8
- <title>do (Zyps::ApproachAction)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/zyps/actions.rb, line 91</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">do</span>(<span class="ruby-identifier">actor</span>, <span class="ruby-identifier">target</span>)
15
- <span class="ruby-comment cmt">#Find the difference between the current heading and the angle to the target.</span>
16
- <span class="ruby-identifier">turn_angle</span> = <span class="ruby-constant">Utility</span>.<span class="ruby-identifier">find_angle</span>(<span class="ruby-identifier">actor</span>.<span class="ruby-identifier">location</span>, <span class="ruby-identifier">target</span>.<span class="ruby-identifier">location</span>) <span class="ruby-operator">-</span> <span class="ruby-ivar">@heading</span>.<span class="ruby-identifier">pitch</span>
17
- <span class="ruby-comment cmt">#If the angle is the long way around from the current heading, change it to the smaller angle.</span>
18
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">turn_angle</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">180</span> <span class="ruby-keyword kw">then</span>
19
- <span class="ruby-identifier">turn_angle</span> <span class="ruby-operator">-=</span> <span class="ruby-value">360.0</span>
20
- <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">turn_angle</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">-180</span> <span class="ruby-keyword kw">then</span>
21
- <span class="ruby-identifier">turn_angle</span> <span class="ruby-operator">+=</span> <span class="ruby-value">360.0</span>
22
- <span class="ruby-keyword kw">end</span>
23
- <span class="ruby-comment cmt">#The creature can only turn as fast as the elapsed time, of course.</span>
24
- <span class="ruby-identifier">maximum_turn</span> = <span class="ruby-identifier">turn_rate</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@clock</span>.<span class="ruby-identifier">elapsed_time</span>
25
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">turn_angle</span>.<span class="ruby-identifier">abs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">maximum_turn</span>
26
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">turn_angle</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
27
- <span class="ruby-identifier">turn_angle</span> = <span class="ruby-identifier">maximum_turn</span>
28
- <span class="ruby-keyword kw">else</span>
29
- <span class="ruby-identifier">turn_angle</span> = <span class="ruby-identifier">maximum_turn</span> <span class="ruby-operator">*</span> <span class="ruby-value">-1</span>
30
- <span class="ruby-keyword kw">end</span>
31
- <span class="ruby-keyword kw">end</span>
32
- <span class="ruby-comment cmt">#Turn the appropriate amount.</span>
33
- <span class="ruby-ivar">@heading</span>.<span class="ruby-identifier">pitch</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">turn_angle</span>
34
- <span class="ruby-comment cmt">#Apply the heading to the creature's movement vector.</span>
35
- <span class="ruby-identifier">actor</span>.<span class="ruby-identifier">vector</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@heading</span>
36
- <span class="ruby-keyword kw">end</span></pre>
37
- </body>
38
- </html>
@@ -1,206 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Zyps::Behavior</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Zyps::Behavior</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/zyps_rb.html">
59
- lib/zyps.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- Object
69
- </td>
70
- </tr>
71
- </table>
72
- </div>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
-
77
-
78
-
79
- <div id="contextContent">
80
-
81
- <div id="description">
82
- <p>
83
- A behavior that a <a href="Creature.html">Creature</a> engages in. The
84
- target can have its tags or colors changed, it can be &quot;herded&quot;,
85
- it can be destroyed, or any other action the library user can dream up.
86
- Likewise, the subject can change its own attributes, it can approach or
87
- flee from the target, it can spawn <a href="Behavior.html#M000012">new</a>
88
- Creatures or GameObjects (like bullets), or anything else.
89
- </p>
90
-
91
- </div>
92
-
93
-
94
- </div>
95
-
96
- <div id="method-list">
97
- <h3 class="section-bar">Methods</h3>
98
-
99
- <div class="name-list">
100
- <a href="#M000012">new</a>&nbsp;&nbsp;
101
- <a href="#M000013">perform</a>&nbsp;&nbsp;
102
- </div>
103
- </div>
104
-
105
- </div>
106
-
107
-
108
- <!-- if includes -->
109
-
110
- <div id="section">
111
-
112
-
113
-
114
-
115
-
116
- <div id="attribute-list">
117
- <h3 class="section-bar">Attributes</h3>
118
-
119
- <div class="name-list">
120
- <table>
121
- <tr class="top-aligned-row context-row">
122
- <td class="context-item-name">actions</td>
123
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
124
- <td class="context-item-desc">
125
- A list of <a href="Action.html">Action</a> objects, which are called with
126
- the object and its target when all conditions are met. An action can act on
127
- the subject or its target.
128
-
129
- </td>
130
- </tr>
131
- <tr class="top-aligned-row context-row">
132
- <td class="context-item-name">conditions</td>
133
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
134
- <td class="context-item-desc">
135
- A list of <a href="Condition.html">Condition</a> objects, which are called
136
- with the object itself and its target. A condition can consider the tags on
137
- the target, the distance from the subject, or any other criteria. If any
138
- condition returns false, the behavior will not be carried out (or stopped
139
- if it has begun).
140
-
141
- </td>
142
- </tr>
143
- </table>
144
- </div>
145
- </div>
146
-
147
-
148
-
149
- <!-- if method_list -->
150
- <div id="methods">
151
- <h3 class="section-bar">Public Class methods</h3>
152
-
153
- <div id="method-M000012" class="method-detail">
154
- <a name="M000012"></a>
155
-
156
- <div class="method-heading">
157
- <a href="Behavior.src/M000012.html" target="Code" class="method-signature"
158
- onclick="popupCode('Behavior.src/M000012.html');return false;">
159
- <span class="method-name">new</span><span class="method-args">(actions = [], conditions = [])</span>
160
- </a>
161
- </div>
162
-
163
- <div class="method-description">
164
- <p>
165
- Optionally takes an array of actions and one of conditions.
166
- </p>
167
- </div>
168
- </div>
169
-
170
- <h3 class="section-bar">Public Instance methods</h3>
171
-
172
- <div id="method-M000013" class="method-detail">
173
- <a name="M000013"></a>
174
-
175
- <div class="method-heading">
176
- <a href="Behavior.src/M000013.html" target="Code" class="method-signature"
177
- onclick="popupCode('Behavior.src/M000013.html');return false;">
178
- <span class="method-name">perform</span><span class="method-args">(actor, environment)</span>
179
- </a>
180
- </div>
181
-
182
- <div class="method-description">
183
- <p>
184
- Test all conditions against each object in the evironment. For the first
185
- object that meets all of them, mark it active (and operate on it first next
186
- time). Then call start() (if applicable) and <a
187
- href="Behavior.html#M000013">perform</a>() for all actions against the
188
- active target. If any action or condition returns false, stop all actions,
189
- and deselect the active target.
190
- </p>
191
- </div>
192
- </div>
193
-
194
-
195
- </div>
196
-
197
-
198
- </div>
199
-
200
-
201
- <div id="validator-badges">
202
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
203
- </div>
204
-
205
- </body>
206
- </html>
@@ -1,20 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html>
7
- <head>
8
- <title>new (Zyps::Behavior)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/zyps.rb, line 217</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> (<span class="ruby-identifier">actions</span> = [], <span class="ruby-identifier">conditions</span> = [])
15
- <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">actions</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">conditions</span> = <span class="ruby-identifier">actions</span>, <span class="ruby-identifier">conditions</span>
16
- <span class="ruby-comment cmt">#Tracks current target.</span>
17
- <span class="ruby-ivar">@active_target</span> = <span class="ruby-keyword kw">nil</span>
18
- <span class="ruby-keyword kw">end</span></pre>
19
- </body>
20
- </html>
@@ -1,31 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html>
7
- <head>
8
- <title>perform (Zyps::Behavior)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/zyps.rb, line 227</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">perform</span>(<span class="ruby-identifier">actor</span>, <span class="ruby-identifier">environment</span>)
15
-
16
- <span class="ruby-keyword kw">begin</span>
17
- <span class="ruby-comment cmt">#Select a target.</span>
18
- <span class="ruby-identifier">target</span> = <span class="ruby-identifier">select_target</span>(<span class="ruby-identifier">actor</span>, <span class="ruby-identifier">environment</span>.<span class="ruby-identifier">objects</span>)
19
- <span class="ruby-comment cmt">#Do the actions on the target.</span>
20
- <span class="ruby-identifier">actions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span><span class="ruby-operator">|</span>
21
- <span class="ruby-identifier">action</span>.<span class="ruby-identifier">start</span>(<span class="ruby-identifier">actor</span>, <span class="ruby-identifier">target</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">action</span>.<span class="ruby-identifier">started</span>
22
- <span class="ruby-identifier">action</span>.<span class="ruby-identifier">do</span>(<span class="ruby-identifier">actor</span>, <span class="ruby-identifier">target</span>)
23
- <span class="ruby-keyword kw">end</span>
24
- <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">NoMatchException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exception</span>
25
- <span class="ruby-comment cmt">#If the behavior can no longer be performed, halt it.</span>
26
- <span class="ruby-identifier">stop</span>(<span class="ruby-identifier">actor</span>, <span class="ruby-identifier">target</span>)
27
- <span class="ruby-keyword kw">end</span>
28
-
29
- <span class="ruby-keyword kw">end</span></pre>
30
- </body>
31
- </html>