the-swarm 1.0.3
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.
- checksums.yaml +7 -0
- data/.gitignore +3 -0
- data/.yardopts +8 -0
- data/Gemfile +24 -0
- data/LICENSE.txt +22 -0
- data/README.md +35 -0
- data/Rakefile +26 -0
- data/bin/swarm +11 -0
- data/docs/Swarm.html +296 -0
- data/docs/Swarm/Catalog.html +819 -0
- data/docs/Swarm/Console.html +1050 -0
- data/docs/Swarm/Console/Color.html +160 -0
- data/docs/Swarm/Console/NormalKey.html +410 -0
- data/docs/Swarm/Console/PopUp.html +236 -0
- data/docs/Swarm/Console/VIKey.html +410 -0
- data/docs/Swarm/Five.html +421 -0
- data/docs/Swarm/Four.html +389 -0
- data/docs/Swarm/Game.html +1197 -0
- data/docs/Swarm/Intro.html +419 -0
- data/docs/Swarm/Level.html +700 -0
- data/docs/Swarm/Map.html +2336 -0
- data/docs/Swarm/One.html +353 -0
- data/docs/Swarm/Three.html +383 -0
- data/docs/Swarm/Tile.html +3823 -0
- data/docs/Swarm/Two.html +355 -0
- data/docs/_index.html +313 -0
- data/docs/class_list.html +51 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +492 -0
- data/docs/file.LICENSE.html +70 -0
- data/docs/file.README.html +101 -0
- data/docs/file_list.html +61 -0
- data/docs/frames.html +17 -0
- data/docs/index.html +101 -0
- data/docs/js/app.js +248 -0
- data/docs/js/full_list.js +216 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +1195 -0
- data/docs/top-level-namespace.html +110 -0
- data/lib/swarm.rb +60 -0
- data/lib/swarm/catalog.rb +71 -0
- data/lib/swarm/console.rb +165 -0
- data/lib/swarm/game.rb +173 -0
- data/lib/swarm/level.rb +58 -0
- data/lib/swarm/levels/five.rb +71 -0
- data/lib/swarm/levels/four.rb +55 -0
- data/lib/swarm/levels/intro.rb +36 -0
- data/lib/swarm/levels/one.rb +35 -0
- data/lib/swarm/levels/three.rb +51 -0
- data/lib/swarm/levels/two.rb +38 -0
- data/lib/swarm/map.rb +254 -0
- data/lib/swarm/tile.rb +149 -0
- data/lib/swarm/version.rb +5 -0
- data/swarm.gemspec +24 -0
- metadata +112 -0
@@ -0,0 +1,1197 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
Class: Swarm::Game
|
8
|
+
|
9
|
+
— "Swarm" Source Code Documentation
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
pathId = "Swarm::Game";
|
19
|
+
relpath = '../';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="../class_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="../_index.html">Index (G)</a> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../Swarm.html" title="Swarm (module)">Swarm</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">Game</span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="search">
|
47
|
+
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
49
|
+
href="../class_list.html">
|
50
|
+
|
51
|
+
<svg width="24" height="24">
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div id="content"><h1>Class: Swarm::Game
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
<dl>
|
70
|
+
<dt>Inherits:</dt>
|
71
|
+
<dd>
|
72
|
+
<span class="inheritName">Object</span>
|
73
|
+
|
74
|
+
<ul class="fullTree">
|
75
|
+
<li>Object</li>
|
76
|
+
|
77
|
+
<li class="next">Swarm::Game</li>
|
78
|
+
|
79
|
+
</ul>
|
80
|
+
<a href="#" class="inheritanceTree">show all</a>
|
81
|
+
|
82
|
+
</dd>
|
83
|
+
</dl>
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
<dl>
|
96
|
+
<dt>Defined in:</dt>
|
97
|
+
<dd>lib/swarm/game.rb</dd>
|
98
|
+
</dl>
|
99
|
+
|
100
|
+
</div>
|
101
|
+
|
102
|
+
|
103
|
+
<h2>Constant Summary</h2>
|
104
|
+
<dl class="constants">
|
105
|
+
|
106
|
+
<dt id="REFRESH_RATE-constant" class="">REFRESH_RATE =
|
107
|
+
<div class="docstring">
|
108
|
+
<div class="discussion">
|
109
|
+
|
110
|
+
<p>This seems to keep the laptop under 750°.</p>
|
111
|
+
|
112
|
+
|
113
|
+
</div>
|
114
|
+
</div>
|
115
|
+
<div class="tags">
|
116
|
+
|
117
|
+
|
118
|
+
</div>
|
119
|
+
</dt>
|
120
|
+
<dd><pre class="code"><span class='float'>0.05</span></pre></dd>
|
121
|
+
|
122
|
+
</dl>
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
<h2>
|
132
|
+
Instance Method Summary
|
133
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
134
|
+
</h2>
|
135
|
+
|
136
|
+
<ul class="summary">
|
137
|
+
|
138
|
+
<li class="private ">
|
139
|
+
<span class="summary_signature">
|
140
|
+
|
141
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong> ⇒ Game </a>
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
</span>
|
146
|
+
|
147
|
+
|
148
|
+
<span class="note title constructor">constructor</span>
|
149
|
+
|
150
|
+
|
151
|
+
<span class="note title private">private</span>
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
<span class="summary_desc"><div class='inline'>
|
158
|
+
<p>A new instance of Game.</p>
|
159
|
+
</div></span>
|
160
|
+
|
161
|
+
</li>
|
162
|
+
|
163
|
+
|
164
|
+
<li class="private ">
|
165
|
+
<span class="summary_signature">
|
166
|
+
|
167
|
+
<a href="#listen_for_keypress-instance_method" title="#listen_for_keypress (instance method)">#<strong>listen_for_keypress</strong> ⇒ Object </a>
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
</span>
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
<span class="note title private">private</span>
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
182
|
+
|
183
|
+
</li>
|
184
|
+
|
185
|
+
|
186
|
+
<li class="public ">
|
187
|
+
<span class="summary_signature">
|
188
|
+
|
189
|
+
<a href="#over%3F-instance_method" title="#over? (instance method)">#<strong>over?</strong> ⇒ Boolean </a>
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
</span>
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
<span class="summary_desc"><div class='inline'>
|
204
|
+
<p>A game is “over” when any of these conditions are met.</p>
|
205
|
+
</div></span>
|
206
|
+
|
207
|
+
</li>
|
208
|
+
|
209
|
+
|
210
|
+
<li class="public ">
|
211
|
+
<span class="summary_signature">
|
212
|
+
|
213
|
+
<a href="#pause-instance_method" title="#pause (instance method)">#<strong>pause</strong> ⇒ Object </a>
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
</span>
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
228
|
+
|
229
|
+
</li>
|
230
|
+
|
231
|
+
|
232
|
+
<li class="public ">
|
233
|
+
<span class="summary_signature">
|
234
|
+
|
235
|
+
<a href="#play!-instance_method" title="#play! (instance method)">#<strong>play!</strong> ⇒ Object </a>
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
</span>
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
250
|
+
|
251
|
+
</li>
|
252
|
+
|
253
|
+
|
254
|
+
<li class="public ">
|
255
|
+
<span class="summary_signature">
|
256
|
+
|
257
|
+
<a href="#setup!-instance_method" title="#setup! (instance method)">#<strong>setup!</strong>(level) ⇒ Object </a>
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
</span>
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
272
|
+
|
273
|
+
</li>
|
274
|
+
|
275
|
+
|
276
|
+
<li class="public ">
|
277
|
+
<span class="summary_signature">
|
278
|
+
|
279
|
+
<a href="#show!-instance_method" title="#show! (instance method)">#<strong>show!</strong> ⇒ Object </a>
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
</span>
|
284
|
+
|
285
|
+
|
286
|
+
|
287
|
+
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
294
|
+
|
295
|
+
</li>
|
296
|
+
|
297
|
+
|
298
|
+
<li class="private ">
|
299
|
+
<span class="summary_signature">
|
300
|
+
|
301
|
+
<a href="#spawn_player-instance_method" title="#spawn_player (instance method)">#<strong>spawn_player</strong> ⇒ Object </a>
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
</span>
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
<span class="note title private">private</span>
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
<span class="summary_desc"><div class='inline'>
|
316
|
+
<p>def find_player @player = @level.find_player end.</p>
|
317
|
+
</div></span>
|
318
|
+
|
319
|
+
</li>
|
320
|
+
|
321
|
+
|
322
|
+
<li class="public ">
|
323
|
+
<span class="summary_signature">
|
324
|
+
|
325
|
+
<a href="#start-instance_method" title="#start (instance method)">#<strong>start</strong> ⇒ true </a>
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
</span>
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
|
336
|
+
|
337
|
+
|
338
|
+
|
339
|
+
<span class="summary_desc"><div class='inline'>
|
340
|
+
<p>Set the “start game” flag.</p>
|
341
|
+
</div></span>
|
342
|
+
|
343
|
+
</li>
|
344
|
+
|
345
|
+
|
346
|
+
<li class="private ">
|
347
|
+
<span class="summary_signature">
|
348
|
+
|
349
|
+
<a href="#statistics-instance_method" title="#statistics (instance method)">#<strong>statistics</strong> ⇒ Hash </a>
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
</span>
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
<span class="note title private">private</span>
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
364
|
+
|
365
|
+
</li>
|
366
|
+
|
367
|
+
|
368
|
+
<li class="public ">
|
369
|
+
<span class="summary_signature">
|
370
|
+
|
371
|
+
<a href="#stop-instance_method" title="#stop (instance method)">#<strong>stop</strong> ⇒ true </a>
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
</span>
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
<span class="summary_desc"><div class='inline'>
|
386
|
+
<p>Set the “stop game” flag.</p>
|
387
|
+
</div></span>
|
388
|
+
|
389
|
+
</li>
|
390
|
+
|
391
|
+
|
392
|
+
<li class="public ">
|
393
|
+
<span class="summary_signature">
|
394
|
+
|
395
|
+
<a href="#stopped%3F-instance_method" title="#stopped? (instance method)">#<strong>stopped?</strong> ⇒ Boolean </a>
|
396
|
+
|
397
|
+
|
398
|
+
|
399
|
+
</span>
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
|
409
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
410
|
+
|
411
|
+
</li>
|
412
|
+
|
413
|
+
|
414
|
+
<li class="public ">
|
415
|
+
<span class="summary_signature">
|
416
|
+
|
417
|
+
<a href="#to_s-instance_method" title="#to_s (instance method)">#<strong>to_s</strong> ⇒ String </a>
|
418
|
+
|
419
|
+
|
420
|
+
|
421
|
+
</span>
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
|
430
|
+
|
431
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
432
|
+
|
433
|
+
</li>
|
434
|
+
|
435
|
+
|
436
|
+
</ul>
|
437
|
+
|
438
|
+
|
439
|
+
<div id="constructor_details" class="method_details_list">
|
440
|
+
<h2>Constructor Details</h2>
|
441
|
+
|
442
|
+
<div class="method_details first">
|
443
|
+
<h3 class="signature first" id="initialize-instance_method">
|
444
|
+
|
445
|
+
#<strong>initialize</strong> ⇒ <tt><span class='object_link'><a href="" title="Swarm::Game (class)">Game</a></span></tt> <span class="extras">(private)</span>
|
446
|
+
|
447
|
+
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
</h3><div class="docstring">
|
452
|
+
<div class="discussion">
|
453
|
+
|
454
|
+
<p>Returns a new instance of Game</p>
|
455
|
+
|
456
|
+
|
457
|
+
</div>
|
458
|
+
</div>
|
459
|
+
<div class="tags">
|
460
|
+
|
461
|
+
|
462
|
+
</div><table class="source_code">
|
463
|
+
<tr>
|
464
|
+
<td>
|
465
|
+
<pre class="lines">
|
466
|
+
|
467
|
+
|
468
|
+
167
|
469
|
+
168
|
470
|
+
169
|
471
|
+
170
|
472
|
+
171</pre>
|
473
|
+
</td>
|
474
|
+
<td>
|
475
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 167</span>
|
476
|
+
|
477
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
|
478
|
+
<span class='ivar'>@players</span> <span class='op'>=</span> <span class='int'>5</span>
|
479
|
+
|
480
|
+
<span class='ivar'>@rate</span> <span class='op'>=</span> <span class='float'>2.0</span>
|
481
|
+
<span class='kw'>end</span></pre>
|
482
|
+
</td>
|
483
|
+
</tr>
|
484
|
+
</table>
|
485
|
+
</div>
|
486
|
+
|
487
|
+
</div>
|
488
|
+
|
489
|
+
|
490
|
+
<div id="instance_method_details" class="method_details_list">
|
491
|
+
<h2>Instance Method Details</h2>
|
492
|
+
|
493
|
+
|
494
|
+
<div class="method_details first">
|
495
|
+
<h3 class="signature first" id="listen_for_keypress-instance_method">
|
496
|
+
|
497
|
+
#<strong>listen_for_keypress</strong> ⇒ <tt>Object</tt> <span class="extras">(private)</span>
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
|
502
|
+
|
503
|
+
</h3><table class="source_code">
|
504
|
+
<tr>
|
505
|
+
<td>
|
506
|
+
<pre class="lines">
|
507
|
+
|
508
|
+
|
509
|
+
153
|
510
|
+
154
|
511
|
+
155
|
512
|
+
156
|
513
|
+
157
|
514
|
+
158
|
515
|
+
159
|
516
|
+
160
|
517
|
+
161
|
518
|
+
162
|
519
|
+
163
|
520
|
+
164
|
521
|
+
165</pre>
|
522
|
+
</td>
|
523
|
+
<td>
|
524
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 153</span>
|
525
|
+
|
526
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_listen_for_keypress'>listen_for_keypress</span>
|
527
|
+
<span class='const'><span class='object_link'><a href="Console.html" title="Swarm::Console (module)">Console</a></span></span><span class='period'>.</span><span class='id identifier rubyid_keypress'><span class='object_link'><a href="Console.html#keypress-instance_method" title="Swarm::Console#keypress (method)">keypress</a></span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_command'>command</span><span class='op'>|</span>
|
528
|
+
<span class='kw'>case</span> <span class='id identifier rubyid_command'>command</span>
|
529
|
+
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="Console.html" title="Swarm::Console (module)">Console</a></span></span><span class='period'>.</span><span class='id identifier rubyid_up'>up</span><span class='semicolon'>;</span> <span class='ivar'>@popup</span> <span class='op'>||</span> <span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_move_player'>move_player</span><span class='lparen'>(</span><span class='symbol'>:north</span><span class='rparen'>)</span>
|
530
|
+
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="Console.html" title="Swarm::Console (module)">Console</a></span></span><span class='period'>.</span><span class='id identifier rubyid_down'>down</span><span class='semicolon'>;</span> <span class='ivar'>@popup</span> <span class='op'>||</span> <span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_move_player'>move_player</span><span class='lparen'>(</span><span class='symbol'>:south</span><span class='rparen'>)</span>
|
531
|
+
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="Console.html" title="Swarm::Console (module)">Console</a></span></span><span class='period'>.</span><span class='id identifier rubyid_left'>left</span><span class='semicolon'>;</span> <span class='ivar'>@popup</span> <span class='op'>||</span> <span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_move_player'>move_player</span><span class='lparen'>(</span><span class='symbol'>:west</span><span class='rparen'>)</span>
|
532
|
+
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="Console.html" title="Swarm::Console (module)">Console</a></span></span><span class='period'>.</span><span class='id identifier rubyid_right'>right</span><span class='semicolon'>;</span> <span class='ivar'>@popup</span> <span class='op'>||</span> <span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_move_player'>move_player</span><span class='lparen'>(</span><span class='symbol'>:east</span><span class='rparen'>)</span>
|
533
|
+
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="Console.html" title="Swarm::Console (module)">Console</a></span></span><span class='period'>.</span><span class='id identifier rubyid_pause'>pause</span><span class='semicolon'>;</span> <span class='id identifier rubyid_pause'>pause</span> <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PAUSED</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span>
|
534
|
+
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="Console.html" title="Swarm::Console (module)">Console</a></span></span><span class='period'>.</span><span class='id identifier rubyid_quit'>quit</span><span class='semicolon'>;</span> <span class='id identifier rubyid_stop'>stop</span>
|
535
|
+
<span class='kw'>end</span>
|
536
|
+
<span class='const'>STDIN</span><span class='period'>.</span><span class='id identifier rubyid_iflush'>iflush</span> <span class='comment'># prevent command queueing
|
537
|
+
</span> <span class='kw'>end</span>
|
538
|
+
<span class='kw'>end</span></pre>
|
539
|
+
</td>
|
540
|
+
</tr>
|
541
|
+
</table>
|
542
|
+
</div>
|
543
|
+
|
544
|
+
<div class="method_details ">
|
545
|
+
<h3 class="signature " id="over?-instance_method">
|
546
|
+
|
547
|
+
#<strong>over?</strong> ⇒ <tt>Boolean</tt>
|
548
|
+
|
549
|
+
|
550
|
+
|
551
|
+
|
552
|
+
|
553
|
+
</h3><div class="docstring">
|
554
|
+
<div class="discussion">
|
555
|
+
|
556
|
+
<p>A game is “over” when any of these conditions are met</p>
|
557
|
+
<ul><li>
|
558
|
+
<p>the game has been stopped via <span class='object_link'><a href="#stop-instance_method" title="Swarm::Game#stop (method)">#stop</a></span></p>
|
559
|
+
</li><li>
|
560
|
+
<p>all of the player's lives are gone</p>
|
561
|
+
</li><li>
|
562
|
+
<p>all of the invaders are dead</p>
|
563
|
+
</li></ul>
|
564
|
+
|
565
|
+
|
566
|
+
</div>
|
567
|
+
</div>
|
568
|
+
<div class="tags">
|
569
|
+
|
570
|
+
<p class="tag_title">Returns:</p>
|
571
|
+
<ul class="return">
|
572
|
+
|
573
|
+
<li>
|
574
|
+
|
575
|
+
|
576
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
577
|
+
|
578
|
+
|
579
|
+
|
580
|
+
</li>
|
581
|
+
|
582
|
+
</ul>
|
583
|
+
|
584
|
+
</div><table class="source_code">
|
585
|
+
<tr>
|
586
|
+
<td>
|
587
|
+
<pre class="lines">
|
588
|
+
|
589
|
+
|
590
|
+
59
|
591
|
+
60
|
592
|
+
61</pre>
|
593
|
+
</td>
|
594
|
+
<td>
|
595
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 59</span>
|
596
|
+
|
597
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_over?'>over?</span>
|
598
|
+
<span class='id identifier rubyid_stopped?'>stopped?</span> <span class='op'>||</span> <span class='ivar'>@players</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span>
|
599
|
+
<span class='kw'>end</span></pre>
|
600
|
+
</td>
|
601
|
+
</tr>
|
602
|
+
</table>
|
603
|
+
</div>
|
604
|
+
|
605
|
+
<div class="method_details ">
|
606
|
+
<h3 class="signature " id="pause-instance_method">
|
607
|
+
|
608
|
+
#<strong>pause</strong> ⇒ <tt>Object</tt>
|
609
|
+
|
610
|
+
|
611
|
+
|
612
|
+
|
613
|
+
|
614
|
+
</h3><table class="source_code">
|
615
|
+
<tr>
|
616
|
+
<td>
|
617
|
+
<pre class="lines">
|
618
|
+
|
619
|
+
|
620
|
+
79
|
621
|
+
80
|
622
|
+
81
|
623
|
+
82
|
624
|
+
83
|
625
|
+
84
|
626
|
+
85
|
627
|
+
86
|
628
|
+
87
|
629
|
+
88
|
630
|
+
89</pre>
|
631
|
+
</td>
|
632
|
+
<td>
|
633
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 79</span>
|
634
|
+
|
635
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_pause'>pause</span>
|
636
|
+
<span class='kw'>if</span> <span class='ivar'>@popup</span>
|
637
|
+
<span class='ivar'>@popup</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
|
638
|
+
<span class='ivar'>@popup</span> <span class='op'>=</span> <span class='kw'>false</span>
|
639
|
+
|
640
|
+
<span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_update!'>update!</span>
|
641
|
+
<span class='kw'>else</span>
|
642
|
+
<span class='ivar'>@popup</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Console.html" title="Swarm::Console (module)">Console</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Console/PopUp.html" title="Swarm::Console::PopUp (class)">PopUp</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Console/PopUp.html#initialize-instance_method" title="Swarm::Console::PopUp#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>yield</span><span class='rparen'>)</span>
|
643
|
+
<span class='ivar'>@popup</span><span class='period'>.</span><span class='id identifier rubyid_refresh'>refresh</span>
|
644
|
+
<span class='kw'>end</span>
|
645
|
+
<span class='kw'>end</span></pre>
|
646
|
+
</td>
|
647
|
+
</tr>
|
648
|
+
</table>
|
649
|
+
</div>
|
650
|
+
|
651
|
+
<div class="method_details ">
|
652
|
+
<h3 class="signature " id="play!-instance_method">
|
653
|
+
|
654
|
+
#<strong>play!</strong> ⇒ <tt>Object</tt>
|
655
|
+
|
656
|
+
|
657
|
+
|
658
|
+
|
659
|
+
|
660
|
+
</h3><table class="source_code">
|
661
|
+
<tr>
|
662
|
+
<td>
|
663
|
+
<pre class="lines">
|
664
|
+
|
665
|
+
|
666
|
+
7
|
667
|
+
8
|
668
|
+
9
|
669
|
+
10
|
670
|
+
11
|
671
|
+
12
|
672
|
+
13
|
673
|
+
14
|
674
|
+
15
|
675
|
+
16
|
676
|
+
17
|
677
|
+
18
|
678
|
+
19
|
679
|
+
20
|
680
|
+
21
|
681
|
+
22
|
682
|
+
23
|
683
|
+
24
|
684
|
+
25
|
685
|
+
26
|
686
|
+
27</pre>
|
687
|
+
</td>
|
688
|
+
<td>
|
689
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 7</span>
|
690
|
+
|
691
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_play!'>play!</span>
|
692
|
+
<span class='id identifier rubyid_turn'>turn</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
|
693
|
+
|
694
|
+
<span class='ivar'>@player</span> <span class='op'>=</span> <span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_find_player'>find_player</span>
|
695
|
+
<span class='ivar'>@player</span> <span class='op'>||=</span> <span class='id identifier rubyid_spawn_player'>spawn_player</span>
|
696
|
+
|
697
|
+
<span class='id identifier rubyid_listen_for_keypress'>listen_for_keypress</span>
|
698
|
+
|
699
|
+
<span class='kw'>unless</span> <span class='ivar'>@popup</span>
|
700
|
+
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_turn'>turn</span> <span class='op'>-</span> <span class='ivar'>@turn</span><span class='rparen'>)</span> <span class='op'>>=</span> <span class='ivar'>@rate</span>
|
701
|
+
|
702
|
+
<span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_play'>play</span>
|
703
|
+
|
704
|
+
<span class='ivar'>@turn</span> <span class='op'>=</span> <span class='id identifier rubyid_turn'>turn</span>
|
705
|
+
<span class='kw'>end</span>
|
706
|
+
|
707
|
+
<span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span>
|
708
|
+
<span class='kw'>end</span>
|
709
|
+
|
710
|
+
<span class='id identifier rubyid_sleep'>sleep</span> <span class='const'><span class='object_link'><a href="#REFRESH_RATE-constant" title="Swarm::Game::REFRESH_RATE (constant)">REFRESH_RATE</a></span></span>
|
711
|
+
<span class='kw'>end</span></pre>
|
712
|
+
</td>
|
713
|
+
</tr>
|
714
|
+
</table>
|
715
|
+
</div>
|
716
|
+
|
717
|
+
<div class="method_details ">
|
718
|
+
<h3 class="signature " id="setup!-instance_method">
|
719
|
+
|
720
|
+
#<strong>setup!</strong>(level) ⇒ <tt>Object</tt>
|
721
|
+
|
722
|
+
|
723
|
+
|
724
|
+
|
725
|
+
|
726
|
+
</h3><table class="source_code">
|
727
|
+
<tr>
|
728
|
+
<td>
|
729
|
+
<pre class="lines">
|
730
|
+
|
731
|
+
|
732
|
+
91
|
733
|
+
92
|
734
|
+
93
|
735
|
+
94
|
736
|
+
95
|
737
|
+
96
|
738
|
+
97
|
739
|
+
98
|
740
|
+
99
|
741
|
+
100
|
742
|
+
101</pre>
|
743
|
+
</td>
|
744
|
+
<td>
|
745
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 91</span>
|
746
|
+
|
747
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_setup!'>setup!</span><span class='lparen'>(</span><span class='id identifier rubyid_level'>level</span><span class='rparen'>)</span>
|
748
|
+
<span class='ivar'>@level</span> <span class='op'>=</span> <span class='id identifier rubyid_level'>level</span>
|
749
|
+
<span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_define_singleton_method'>define_singleton_method</span><span class='lparen'>(</span><span class='symbol'>:pause</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_method'>method</span><span class='lparen'>(</span><span class='symbol'>:pause</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
750
|
+
|
751
|
+
<span class='ivar'>@popup</span> <span class='op'>=</span> <span class='kw'>false</span>
|
752
|
+
|
753
|
+
<span class='ivar'>@status</span> <span class='op'>=</span> <span class='kw'>true</span>
|
754
|
+
<span class='ivar'>@turn</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
|
755
|
+
|
756
|
+
<span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_setup'>setup</span>
|
757
|
+
<span class='kw'>end</span></pre>
|
758
|
+
</td>
|
759
|
+
</tr>
|
760
|
+
</table>
|
761
|
+
</div>
|
762
|
+
|
763
|
+
<div class="method_details ">
|
764
|
+
<h3 class="signature " id="show!-instance_method">
|
765
|
+
|
766
|
+
#<strong>show!</strong> ⇒ <tt>Object</tt>
|
767
|
+
|
768
|
+
|
769
|
+
|
770
|
+
|
771
|
+
|
772
|
+
</h3><table class="source_code">
|
773
|
+
<tr>
|
774
|
+
<td>
|
775
|
+
<pre class="lines">
|
776
|
+
|
777
|
+
|
778
|
+
103
|
779
|
+
104
|
780
|
+
105
|
781
|
+
106
|
782
|
+
107</pre>
|
783
|
+
</td>
|
784
|
+
<td>
|
785
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 103</span>
|
786
|
+
|
787
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_show!'>show!</span>
|
788
|
+
<span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span> <span class='comment'># update the level and refresh the console before displaying anything
|
789
|
+
</span>
|
790
|
+
<span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_show'>show</span><span class='lparen'>(</span><span class='ivar'>@players</span><span class='rparen'>)</span>
|
791
|
+
<span class='kw'>end</span></pre>
|
792
|
+
</td>
|
793
|
+
</tr>
|
794
|
+
</table>
|
795
|
+
</div>
|
796
|
+
|
797
|
+
<div class="method_details ">
|
798
|
+
<h3 class="signature " id="spawn_player-instance_method">
|
799
|
+
|
800
|
+
#<strong>spawn_player</strong> ⇒ <tt>Object</tt> <span class="extras">(private)</span>
|
801
|
+
|
802
|
+
|
803
|
+
|
804
|
+
|
805
|
+
|
806
|
+
</h3><div class="docstring">
|
807
|
+
<div class="discussion">
|
808
|
+
|
809
|
+
<p>def find_player</p>
|
810
|
+
|
811
|
+
<pre class="code ruby"><code class="ruby"><span class='ivar'>@player</span> <span class='op'>=</span> <span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_find_player'>find_player</span>
|
812
|
+
</code></pre>
|
813
|
+
|
814
|
+
<p>end</p>
|
815
|
+
|
816
|
+
|
817
|
+
</div>
|
818
|
+
</div>
|
819
|
+
<div class="tags">
|
820
|
+
|
821
|
+
|
822
|
+
</div><table class="source_code">
|
823
|
+
<tr>
|
824
|
+
<td>
|
825
|
+
<pre class="lines">
|
826
|
+
|
827
|
+
|
828
|
+
137
|
829
|
+
138
|
830
|
+
139
|
831
|
+
140
|
832
|
+
141
|
833
|
+
142
|
834
|
+
143
|
835
|
+
144
|
836
|
+
145
|
837
|
+
146
|
838
|
+
147
|
839
|
+
148
|
840
|
+
149
|
841
|
+
150
|
842
|
+
151</pre>
|
843
|
+
</td>
|
844
|
+
<td>
|
845
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 137</span>
|
846
|
+
|
847
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_spawn_player'>spawn_player</span>
|
848
|
+
<span class='ivar'>@players</span> <span class='op'>-=</span> <span class='int'>1</span>
|
849
|
+
|
850
|
+
<span class='id identifier rubyid_pause'>pause</span> <span class='kw'>do</span>
|
851
|
+
<span class='heredoc_beg'><<-POPUP</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>[ ]{10}</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>%</span> <span class='const'><span class='object_link'><a href="Console.html" title="Swarm::Console (module)">Console</a></span></span><span class='period'>.</span><span class='id identifier rubyid_key_info'><span class='object_link'><a href="Console.html#key_info-instance_method" title="Swarm::Console#key_info (method)">key_info</a></span></span>
|
852
|
+
<span class='tstring_content'> YOU HAVE BEEN KILLED!
|
853
|
+
----------------------------------------------
|
854
|
+
Press %<pause>s to continue.
|
855
|
+
|
856
|
+
(</span><span class='embvar'>#</span><span class='ivar'>@players</span><span class='tstring_content'> lives remaining)
|
857
|
+
</span><span class='heredoc_end'> POPUP
|
858
|
+
</span> <span class='kw'>end</span>
|
859
|
+
|
860
|
+
<span class='ivar'>@player</span> <span class='op'>=</span> <span class='ivar'>@level</span><span class='period'>.</span><span class='id identifier rubyid_spawn_player'>spawn_player</span>
|
861
|
+
<span class='kw'>end</span></pre>
|
862
|
+
</td>
|
863
|
+
</tr>
|
864
|
+
</table>
|
865
|
+
</div>
|
866
|
+
|
867
|
+
<div class="method_details ">
|
868
|
+
<h3 class="signature " id="start-instance_method">
|
869
|
+
|
870
|
+
#<strong>start</strong> ⇒ <tt>true</tt>
|
871
|
+
|
872
|
+
|
873
|
+
|
874
|
+
|
875
|
+
|
876
|
+
</h3><div class="docstring">
|
877
|
+
<div class="discussion">
|
878
|
+
|
879
|
+
<p>Set the “start game” flag.</p>
|
880
|
+
|
881
|
+
|
882
|
+
</div>
|
883
|
+
</div>
|
884
|
+
<div class="tags">
|
885
|
+
|
886
|
+
<p class="tag_title">Returns:</p>
|
887
|
+
<ul class="return">
|
888
|
+
|
889
|
+
<li>
|
890
|
+
|
891
|
+
|
892
|
+
<span class='type'>(<tt>true</tt>)</span>
|
893
|
+
|
894
|
+
|
895
|
+
|
896
|
+
</li>
|
897
|
+
|
898
|
+
</ul>
|
899
|
+
|
900
|
+
</div><table class="source_code">
|
901
|
+
<tr>
|
902
|
+
<td>
|
903
|
+
<pre class="lines">
|
904
|
+
|
905
|
+
|
906
|
+
32
|
907
|
+
33
|
908
|
+
34
|
909
|
+
35
|
910
|
+
36</pre>
|
911
|
+
</td>
|
912
|
+
<td>
|
913
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 32</span>
|
914
|
+
|
915
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_start'>start</span>
|
916
|
+
<span class='ivar'>@status</span> <span class='op'>=</span> <span class='kw'>true</span>
|
917
|
+
|
918
|
+
<span class='kw'>true</span>
|
919
|
+
<span class='kw'>end</span></pre>
|
920
|
+
</td>
|
921
|
+
</tr>
|
922
|
+
</table>
|
923
|
+
</div>
|
924
|
+
|
925
|
+
<div class="method_details ">
|
926
|
+
<h3 class="signature " id="statistics-instance_method">
|
927
|
+
|
928
|
+
#<strong>statistics</strong> ⇒ <tt>Hash</tt> <span class="extras">(private)</span>
|
929
|
+
|
930
|
+
|
931
|
+
|
932
|
+
|
933
|
+
|
934
|
+
</h3><div class="docstring">
|
935
|
+
<div class="discussion">
|
936
|
+
|
937
|
+
|
938
|
+
</div>
|
939
|
+
</div>
|
940
|
+
<div class="tags">
|
941
|
+
|
942
|
+
<p class="tag_title">Returns:</p>
|
943
|
+
<ul class="return">
|
944
|
+
|
945
|
+
<li>
|
946
|
+
|
947
|
+
|
948
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
949
|
+
|
950
|
+
|
951
|
+
|
952
|
+
</li>
|
953
|
+
|
954
|
+
</ul>
|
955
|
+
|
956
|
+
</div><table class="source_code">
|
957
|
+
<tr>
|
958
|
+
<td>
|
959
|
+
<pre class="lines">
|
960
|
+
|
961
|
+
|
962
|
+
112
|
963
|
+
113
|
964
|
+
114
|
965
|
+
115
|
966
|
+
116
|
967
|
+
117
|
968
|
+
118
|
969
|
+
119
|
970
|
+
120
|
971
|
+
121
|
972
|
+
122
|
973
|
+
123
|
974
|
+
124
|
975
|
+
125
|
976
|
+
126</pre>
|
977
|
+
</td>
|
978
|
+
<td>
|
979
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 112</span>
|
980
|
+
|
981
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_statistics'>statistics</span>
|
982
|
+
<span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_stats'>stats</span><span class='op'>|</span>
|
983
|
+
<span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:eggs</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='const'><span class='object_link'><a href="Catalog.html" title="Swarm::Catalog (class)">Catalog</a></span></span><span class='period'>.</span><span class='id identifier rubyid_fetch'><span class='object_link'><a href="Catalog.html#fetch-class_method" title="Swarm::Catalog.fetch (method)">fetch</a></span></span><span class='lparen'>(</span><span class='symbol'>:destroyed</span><span class='comma'>,</span> <span class='symbol'>:egg</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
|
984
|
+
<span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:workers</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='const'><span class='object_link'><a href="Catalog.html" title="Swarm::Catalog (class)">Catalog</a></span></span><span class='period'>.</span><span class='id identifier rubyid_fetch'><span class='object_link'><a href="Catalog.html#fetch-class_method" title="Swarm::Catalog.fetch (method)">fetch</a></span></span><span class='lparen'>(</span><span class='symbol'>:destroyed</span><span class='comma'>,</span> <span class='symbol'>:worker</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
|
985
|
+
<span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:soldiers</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='const'><span class='object_link'><a href="Catalog.html" title="Swarm::Catalog (class)">Catalog</a></span></span><span class='period'>.</span><span class='id identifier rubyid_fetch'><span class='object_link'><a href="Catalog.html#fetch-class_method" title="Swarm::Catalog.fetch (method)">fetch</a></span></span><span class='lparen'>(</span><span class='symbol'>:destroyed</span><span class='comma'>,</span> <span class='symbol'>:soldier</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
|
986
|
+
<span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:queens</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='const'><span class='object_link'><a href="Catalog.html" title="Swarm::Catalog (class)">Catalog</a></span></span><span class='period'>.</span><span class='id identifier rubyid_fetch'><span class='object_link'><a href="Catalog.html#fetch-class_method" title="Swarm::Catalog.fetch (method)">fetch</a></span></span><span class='lparen'>(</span><span class='symbol'>:destroyed</span><span class='comma'>,</span> <span class='symbol'>:queen</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
|
987
|
+
<span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:deaths</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='const'><span class='object_link'><a href="Catalog.html" title="Swarm::Catalog (class)">Catalog</a></span></span><span class='period'>.</span><span class='id identifier rubyid_fetch'><span class='object_link'><a href="Catalog.html#fetch-class_method" title="Swarm::Catalog.fetch (method)">fetch</a></span></span><span class='lparen'>(</span><span class='symbol'>:destroyed</span><span class='comma'>,</span> <span class='symbol'>:player</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
|
988
|
+
<span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:points</span><span class='rbracket'>]</span> <span class='op'>+=</span>
|
989
|
+
<span class='lparen'>(</span><span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:eggs</span><span class='rbracket'>]</span> <span class='op'>*</span> <span class='int'>20</span><span class='rparen'>)</span> <span class='op'>+</span>
|
990
|
+
<span class='lparen'>(</span><span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:workers</span><span class='rbracket'>]</span> <span class='op'>*</span> <span class='int'>20</span><span class='rparen'>)</span> <span class='op'>+</span>
|
991
|
+
<span class='lparen'>(</span><span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:soldiers</span><span class='rbracket'>]</span> <span class='op'>*</span> <span class='int'>50</span><span class='rparen'>)</span> <span class='op'>+</span>
|
992
|
+
<span class='lparen'>(</span><span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:queens</span><span class='rbracket'>]</span> <span class='op'>*</span> <span class='int'>50</span><span class='rparen'>)</span> <span class='op'>-</span>
|
993
|
+
<span class='lparen'>(</span><span class='id identifier rubyid_stats'>stats</span><span class='lbracket'>[</span><span class='symbol'>:deaths</span><span class='rbracket'>]</span> <span class='op'>*</span> <span class='int'>100</span><span class='rparen'>)</span>
|
994
|
+
<span class='kw'>end</span>
|
995
|
+
<span class='kw'>end</span></pre>
|
996
|
+
</td>
|
997
|
+
</tr>
|
998
|
+
</table>
|
999
|
+
</div>
|
1000
|
+
|
1001
|
+
<div class="method_details ">
|
1002
|
+
<h3 class="signature " id="stop-instance_method">
|
1003
|
+
|
1004
|
+
#<strong>stop</strong> ⇒ <tt>true</tt>
|
1005
|
+
|
1006
|
+
|
1007
|
+
|
1008
|
+
|
1009
|
+
|
1010
|
+
</h3><div class="docstring">
|
1011
|
+
<div class="discussion">
|
1012
|
+
|
1013
|
+
<p>Set the “stop game” flag.</p>
|
1014
|
+
|
1015
|
+
|
1016
|
+
</div>
|
1017
|
+
</div>
|
1018
|
+
<div class="tags">
|
1019
|
+
|
1020
|
+
<p class="tag_title">Returns:</p>
|
1021
|
+
<ul class="return">
|
1022
|
+
|
1023
|
+
<li>
|
1024
|
+
|
1025
|
+
|
1026
|
+
<span class='type'>(<tt>true</tt>)</span>
|
1027
|
+
|
1028
|
+
|
1029
|
+
|
1030
|
+
</li>
|
1031
|
+
|
1032
|
+
</ul>
|
1033
|
+
|
1034
|
+
</div><table class="source_code">
|
1035
|
+
<tr>
|
1036
|
+
<td>
|
1037
|
+
<pre class="lines">
|
1038
|
+
|
1039
|
+
|
1040
|
+
41
|
1041
|
+
42
|
1042
|
+
43
|
1043
|
+
44
|
1044
|
+
45</pre>
|
1045
|
+
</td>
|
1046
|
+
<td>
|
1047
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 41</span>
|
1048
|
+
|
1049
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_stop'>stop</span>
|
1050
|
+
<span class='ivar'>@status</span> <span class='op'>=</span> <span class='kw'>false</span>
|
1051
|
+
|
1052
|
+
<span class='kw'>true</span>
|
1053
|
+
<span class='kw'>end</span></pre>
|
1054
|
+
</td>
|
1055
|
+
</tr>
|
1056
|
+
</table>
|
1057
|
+
</div>
|
1058
|
+
|
1059
|
+
<div class="method_details ">
|
1060
|
+
<h3 class="signature " id="stopped?-instance_method">
|
1061
|
+
|
1062
|
+
#<strong>stopped?</strong> ⇒ <tt>Boolean</tt>
|
1063
|
+
|
1064
|
+
|
1065
|
+
|
1066
|
+
|
1067
|
+
|
1068
|
+
</h3><div class="docstring">
|
1069
|
+
<div class="discussion">
|
1070
|
+
|
1071
|
+
|
1072
|
+
</div>
|
1073
|
+
</div>
|
1074
|
+
<div class="tags">
|
1075
|
+
|
1076
|
+
<p class="tag_title">Returns:</p>
|
1077
|
+
<ul class="return">
|
1078
|
+
|
1079
|
+
<li>
|
1080
|
+
|
1081
|
+
|
1082
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1083
|
+
|
1084
|
+
|
1085
|
+
|
1086
|
+
</li>
|
1087
|
+
|
1088
|
+
</ul>
|
1089
|
+
|
1090
|
+
</div><table class="source_code">
|
1091
|
+
<tr>
|
1092
|
+
<td>
|
1093
|
+
<pre class="lines">
|
1094
|
+
|
1095
|
+
|
1096
|
+
48
|
1097
|
+
49
|
1098
|
+
50</pre>
|
1099
|
+
</td>
|
1100
|
+
<td>
|
1101
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 48</span>
|
1102
|
+
|
1103
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_stopped?'>stopped?</span>
|
1104
|
+
<span class='op'>!</span><span class='ivar'>@status</span>
|
1105
|
+
<span class='kw'>end</span></pre>
|
1106
|
+
</td>
|
1107
|
+
</tr>
|
1108
|
+
</table>
|
1109
|
+
</div>
|
1110
|
+
|
1111
|
+
<div class="method_details ">
|
1112
|
+
<h3 class="signature " id="to_s-instance_method">
|
1113
|
+
|
1114
|
+
#<strong>to_s</strong> ⇒ <tt>String</tt>
|
1115
|
+
|
1116
|
+
|
1117
|
+
|
1118
|
+
|
1119
|
+
|
1120
|
+
</h3><div class="docstring">
|
1121
|
+
<div class="discussion">
|
1122
|
+
|
1123
|
+
|
1124
|
+
</div>
|
1125
|
+
</div>
|
1126
|
+
<div class="tags">
|
1127
|
+
|
1128
|
+
<p class="tag_title">Returns:</p>
|
1129
|
+
<ul class="return">
|
1130
|
+
|
1131
|
+
<li>
|
1132
|
+
|
1133
|
+
|
1134
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1135
|
+
|
1136
|
+
|
1137
|
+
|
1138
|
+
</li>
|
1139
|
+
|
1140
|
+
</ul>
|
1141
|
+
|
1142
|
+
</div><table class="source_code">
|
1143
|
+
<tr>
|
1144
|
+
<td>
|
1145
|
+
<pre class="lines">
|
1146
|
+
|
1147
|
+
|
1148
|
+
64
|
1149
|
+
65
|
1150
|
+
66
|
1151
|
+
67
|
1152
|
+
68
|
1153
|
+
69
|
1154
|
+
70
|
1155
|
+
71
|
1156
|
+
72
|
1157
|
+
73
|
1158
|
+
74
|
1159
|
+
75
|
1160
|
+
76
|
1161
|
+
77</pre>
|
1162
|
+
</td>
|
1163
|
+
<td>
|
1164
|
+
<pre class="code"><span class="info file"># File 'lib/swarm/game.rb', line 64</span>
|
1165
|
+
|
1166
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
|
1167
|
+
<span class='heredoc_beg'><<-TO_S</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^[ ]{8}</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>%</span> <span class='id identifier rubyid_statistics'>statistics</span>
|
1168
|
+
<span class='tstring_content'> GAME OVER!
|
1169
|
+
|
1170
|
+
+ %<eggs>4i x oo (eggs) squished (x20)
|
1171
|
+
+ %<workers>4i x ├┤ (workers) killed (x20)
|
1172
|
+
+ %<soldiers>4i x ╟╢ (soldiers) crushed (x50)
|
1173
|
+
+ %<queens>4i x ╬╬ (queens) defeated (x50)
|
1174
|
+
|
1175
|
+
- %<deaths>4i x ◄▶ (players) destroyed (x100)
|
1176
|
+
-------------------------------
|
1177
|
+
%<points>6i points
|
1178
|
+
</span><span class='heredoc_end'> TO_S
|
1179
|
+
</span><span class='kw'>end</span></pre>
|
1180
|
+
</td>
|
1181
|
+
</tr>
|
1182
|
+
</table>
|
1183
|
+
</div>
|
1184
|
+
|
1185
|
+
</div>
|
1186
|
+
|
1187
|
+
</div>
|
1188
|
+
|
1189
|
+
<div id="footer">
|
1190
|
+
Generated on Wed Aug 30 07:17:59 2017 by
|
1191
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1192
|
+
0.9.9 (ruby-2.4.1).
|
1193
|
+
</div>
|
1194
|
+
|
1195
|
+
</div>
|
1196
|
+
</body>
|
1197
|
+
</html>
|