zyps 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>