game_shuffle_cards 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/Gemfile +10 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +123 -0
  6. data/Rakefile +2 -0
  7. data/doc/GameShuffleCards/Card.html +622 -0
  8. data/doc/GameShuffleCards/Game.html +1094 -0
  9. data/doc/GameShuffleCards/NotEnoughCardsPerPlayersError.html +123 -0
  10. data/doc/GameShuffleCards/NotEnoughPlayersError.html +123 -0
  11. data/doc/GameShuffleCards/ToManyCardsPerPlayerError.html +123 -0
  12. data/doc/GameShuffleCards/ToManyPlayersError.html +123 -0
  13. data/doc/GameShuffleCards/TooManyCardsDemandedError.html +123 -0
  14. data/doc/GameShuffleCards/ValidateGame.html +438 -0
  15. data/doc/GameShuffleCards.html +129 -0
  16. data/doc/_index.html +198 -0
  17. data/doc/class_list.html +58 -0
  18. data/doc/css/common.css +1 -0
  19. data/doc/css/full_list.css +57 -0
  20. data/doc/css/style.css +339 -0
  21. data/doc/file.README.html +196 -0
  22. data/doc/file_list.html +60 -0
  23. data/doc/frames.html +26 -0
  24. data/doc/index.html +196 -0
  25. data/doc/js/app.js +219 -0
  26. data/doc/js/full_list.js +181 -0
  27. data/doc/js/jquery.js +4 -0
  28. data/doc/method_list.html +159 -0
  29. data/doc/top-level-namespace.html +131 -0
  30. data/features/deck_of_cards.feature +58 -0
  31. data/features/initial_settings.feature +76 -0
  32. data/features/step_definitions/deck_of_cards_step.rb +21 -0
  33. data/features/step_definitions/initial_settings_step.rb +44 -0
  34. data/features/step_definitions/step.rb +2 -0
  35. data/game_shuffle_cards.gemspec +24 -0
  36. data/lib/game_shuffle_cards/card.rb +26 -0
  37. data/lib/game_shuffle_cards/exceptions.rb +9 -0
  38. data/lib/game_shuffle_cards/game.rb +84 -0
  39. data/lib/game_shuffle_cards/validate_game.rb +43 -0
  40. data/lib/game_shuffle_cards/version.rb +5 -0
  41. data/lib/game_shuffle_cards.rb +2 -0
  42. metadata +119 -0
@@ -0,0 +1,1094 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: GameShuffleCards::Game
8
+
9
+ &mdash; Documentation by YARD 0.8.7.6
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
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!GameShuffleCards/Game.html";
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../_index.html">Index (G)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../GameShuffleCards.html" title="GameShuffleCards (module)">GameShuffleCards</a></span></span>
36
+ &raquo;
37
+ <span class="title">Game</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: GameShuffleCards::Game
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">Object</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">GameShuffleCards::Game</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <dt class="r2 last">Defined in:</dt>
97
+ <dd class="r2 last">lib/game_shuffle_cards/game.rb</dd>
98
+
99
+ </dl>
100
+ <div class="clear"></div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+
105
+ <p>This class is the main class to shuffle a deck of cards</p>
106
+
107
+
108
+ </div>
109
+ </div>
110
+ <div class="tags">
111
+
112
+ <p class="tag_title">Author:</p>
113
+ <ul class="author">
114
+
115
+ <li>
116
+
117
+
118
+
119
+
120
+
121
+ <div class='inline'>
122
+ <p>Diego Piccinini Lagos</p>
123
+ </div>
124
+
125
+ </li>
126
+
127
+ </ul>
128
+
129
+ </div>
130
+ <h2>Constant Summary</h2>
131
+
132
+ <dl class="constants">
133
+
134
+ <dt id="MINIMUN_CARDS-constant" class="">MINIMUN_CARDS =
135
+ <div class="docstring">
136
+ <div class="discussion">
137
+
138
+ <p>the minimun cards per player</p>
139
+
140
+
141
+ </div>
142
+ </div>
143
+ <div class="tags">
144
+
145
+
146
+ </div>
147
+ </dt>
148
+ <dd><pre class="code"><span class='int'>1</span></pre></dd>
149
+
150
+ <dt id="MINIMUN_PLAYERS-constant" class="">MINIMUN_PLAYERS =
151
+ <div class="docstring">
152
+ <div class="discussion">
153
+
154
+ <p>the minimun players in a game</p>
155
+
156
+
157
+ </div>
158
+ </div>
159
+ <div class="tags">
160
+
161
+
162
+ </div>
163
+ </dt>
164
+ <dd><pre class="code"><span class='int'>1</span></pre></dd>
165
+
166
+ <dt id="PLAYERS-constant" class="">PLAYERS =
167
+ <div class="docstring">
168
+ <div class="discussion">
169
+
170
+ <p>the default value of players</p>
171
+
172
+
173
+ </div>
174
+ </div>
175
+ <div class="tags">
176
+
177
+
178
+ </div>
179
+ </dt>
180
+ <dd><pre class="code"><span class='int'>2</span></pre></dd>
181
+
182
+ <dt id="CARDS_PER_PLAYER-constant" class="">CARDS_PER_PLAYER =
183
+ <div class="docstring">
184
+ <div class="discussion">
185
+
186
+ <p>the defaul value of cards per player</p>
187
+
188
+
189
+ </div>
190
+ </div>
191
+ <div class="tags">
192
+
193
+
194
+ </div>
195
+ </dt>
196
+ <dd><pre class="code"><span class='int'>3</span></pre></dd>
197
+
198
+ <dt id="SUITS-constant" class="">SUITS =
199
+ <div class="docstring">
200
+ <div class="discussion">
201
+
202
+ <p>The suit collection of the deck of cards</p>
203
+
204
+
205
+ </div>
206
+ </div>
207
+ <div class="tags">
208
+
209
+
210
+ </div>
211
+ </dt>
212
+ <dd><pre class="code"><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>spades</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>hearts</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>diamonds</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>clubs</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span></pre></dd>
213
+
214
+ <dt id="CARDS_VALUES-constant" class="">CARDS_VALUES =
215
+ <div class="docstring">
216
+ <div class="discussion">
217
+
218
+ <p>The cards values collection</p>
219
+
220
+
221
+ </div>
222
+ </div>
223
+ <div class="tags">
224
+
225
+
226
+ </div>
227
+ </dt>
228
+ <dd><pre class="code"><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>A</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>2</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>3</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>4</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>5</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>6</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>7</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>8</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>9</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>10</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>J</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Q</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>K</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span></pre></dd>
229
+
230
+ <dt id="TOTAL_CARDS-constant" class="">TOTAL_CARDS =
231
+ <div class="docstring">
232
+ <div class="discussion">
233
+
234
+ <p>Count total cards in a deck</p>
235
+
236
+
237
+ </div>
238
+ </div>
239
+ <div class="tags">
240
+
241
+
242
+ </div>
243
+ </dt>
244
+ <dd><pre class="code"><span class='const'>SUITS</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span> <span class='op'>*</span> <span class='const'>CARDS_VALUES</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span></pre></dd>
245
+
246
+ <dt id="MAXIMUN_PLAYERS-constant" class="">MAXIMUN_PLAYERS =
247
+ <div class="docstring">
248
+ <div class="discussion">
249
+
250
+ <p>Maximun players allowed in a Game</p>
251
+
252
+
253
+ </div>
254
+ </div>
255
+ <div class="tags">
256
+
257
+
258
+ </div>
259
+ </dt>
260
+ <dd><pre class="code"><span class='const'>TOTAL_CARDS</span></pre></dd>
261
+
262
+ </dl>
263
+
264
+
265
+
266
+
267
+
268
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
269
+ <ul class="summary">
270
+
271
+ <li class="public ">
272
+ <span class="summary_signature">
273
+
274
+ <a href="#cards_availables-instance_method" title="#cards_availables (instance method)">- (Object) <strong>cards_availables</strong> </a>
275
+
276
+
277
+
278
+ </span>
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+ <span class="summary_desc"><div class='inline'>
292
+ <p>Returns the value of attribute cards_availables.</p>
293
+ </div></span>
294
+
295
+ </li>
296
+
297
+
298
+ <li class="public ">
299
+ <span class="summary_signature">
300
+
301
+ <a href="#cards_collection-instance_method" title="#cards_collection (instance method)">- (Object) <strong>cards_collection</strong> </a>
302
+
303
+
304
+
305
+ </span>
306
+
307
+
308
+
309
+
310
+ <span class="note title readonly">readonly</span>
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+ <span class="summary_desc"><div class='inline'>
321
+ <p>Returns the value of attribute cards_collection.</p>
322
+ </div></span>
323
+
324
+ </li>
325
+
326
+
327
+ <li class="public ">
328
+ <span class="summary_signature">
329
+
330
+ <a href="#cards_per_player-instance_method" title="#cards_per_player (instance method)">- (Object) <strong>cards_per_player</strong> </a>
331
+
332
+
333
+
334
+ </span>
335
+
336
+
337
+
338
+
339
+ <span class="note title readonly">readonly</span>
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+ <span class="summary_desc"><div class='inline'>
350
+ <p>Returns the value of attribute cards_per_player.</p>
351
+ </div></span>
352
+
353
+ </li>
354
+
355
+
356
+ <li class="public ">
357
+ <span class="summary_signature">
358
+
359
+ <a href="#maximun_cards_per_player-instance_method" title="#maximun_cards_per_player (instance method)">- (Object) <strong>maximun_cards_per_player</strong> </a>
360
+
361
+
362
+
363
+ </span>
364
+
365
+
366
+
367
+
368
+ <span class="note title readonly">readonly</span>
369
+
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+ <span class="summary_desc"><div class='inline'>
379
+ <p>Returns the value of attribute maximun_cards_per_player.</p>
380
+ </div></span>
381
+
382
+ </li>
383
+
384
+
385
+ <li class="public ">
386
+ <span class="summary_signature">
387
+
388
+ <a href="#players-instance_method" title="#players (instance method)">- (Object) <strong>players</strong> </a>
389
+
390
+
391
+
392
+ </span>
393
+
394
+
395
+
396
+
397
+ <span class="note title readonly">readonly</span>
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+ <span class="summary_desc"><div class='inline'>
408
+ <p>Returns the value of attribute players.</p>
409
+ </div></span>
410
+
411
+ </li>
412
+
413
+
414
+ </ul>
415
+
416
+
417
+
418
+
419
+
420
+ <h2>
421
+ Class Method Summary
422
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
423
+ </h2>
424
+
425
+ <ul class="summary">
426
+
427
+ <li class="public ">
428
+ <span class="summary_signature">
429
+
430
+ <a href="#get_maximun_cards_per_player-class_method" title="get_maximun_cards_per_player (class method)">+ (Object) <strong>get_maximun_cards_per_player</strong>(players) </a>
431
+
432
+
433
+
434
+ </span>
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+ <span class="summary_desc"><div class='inline'>
445
+ <p>Get the maximun of cards per player, given a card collection and a number
446
+ of players.</p>
447
+ </div></span>
448
+
449
+ </li>
450
+
451
+
452
+ </ul>
453
+
454
+ <h2>
455
+ Instance Method Summary
456
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
457
+ </h2>
458
+
459
+ <ul class="summary">
460
+
461
+ <li class="public ">
462
+ <span class="summary_signature">
463
+
464
+ <a href="#get_cards-instance_method" title="#get_cards (instance method)">- (Object) <strong>get_cards</strong> </a>
465
+
466
+
467
+
468
+ </span>
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+ <span class="summary_desc"><div class='inline'>
479
+ <p>Get cards of the cards still availables in the deck.</p>
480
+ </div></span>
481
+
482
+ </li>
483
+
484
+
485
+ <li class="public ">
486
+ <span class="summary_signature">
487
+
488
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Game) <strong>initialize</strong>(players = PLAYERS, cards_per_player = CARDS_PER_PLAYER) </a>
489
+
490
+
491
+
492
+ </span>
493
+
494
+
495
+ <span class="note title constructor">constructor</span>
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+ <span class="summary_desc"><div class='inline'>
505
+ <p>Initialize the game players and cards per player you want.</p>
506
+ </div></span>
507
+
508
+ </li>
509
+
510
+
511
+ <li class="public ">
512
+ <span class="summary_signature">
513
+
514
+ <a href="#results-instance_method" title="#results (instance method)">- (Object) <strong>results</strong> </a>
515
+
516
+
517
+
518
+ </span>
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+
528
+ <span class="summary_desc"><div class='inline'>
529
+ <p>Shuffle the deck of cards.</p>
530
+ </div></span>
531
+
532
+ </li>
533
+
534
+
535
+ </ul>
536
+
537
+
538
+ <div id="constructor_details" class="method_details_list">
539
+ <h2>Constructor Details</h2>
540
+
541
+ <div class="method_details first">
542
+ <h3 class="signature first" id="initialize-instance_method">
543
+
544
+ - (<tt><span class='object_link'><a href="" title="GameShuffleCards::Game (class)">Game</a></span></tt>) <strong>initialize</strong>(players = PLAYERS, cards_per_player = CARDS_PER_PLAYER)
545
+
546
+
547
+
548
+
549
+
550
+ </h3><div class="docstring">
551
+ <div class="discussion">
552
+
553
+ <p>Initialize the game players and cards per player you want</p>
554
+
555
+
556
+ </div>
557
+ </div>
558
+ <div class="tags">
559
+ <p class="tag_title">Parameters:</p>
560
+ <ul class="param">
561
+
562
+ <li>
563
+
564
+ <span class='name'>players</span>
565
+
566
+
567
+ <span class='type'>(<tt>String|Integer</tt>)</span>
568
+
569
+
570
+ <em class="default">(defaults to: <tt>PLAYERS</tt>)</em>
571
+
572
+
573
+ &mdash;
574
+ <div class='inline'>
575
+ <p>the number of players in the game</p>
576
+ </div>
577
+
578
+ </li>
579
+
580
+ <li>
581
+
582
+ <span class='name'>cards_per_player</span>
583
+
584
+
585
+ <span class='type'>(<tt>String|Integer</tt>)</span>
586
+
587
+
588
+ <em class="default">(defaults to: <tt>CARDS_PER_PLAYER</tt>)</em>
589
+
590
+
591
+ &mdash;
592
+ <div class='inline'>
593
+ <p>the number of cards that will recieve each player</p>
594
+ </div>
595
+
596
+ </li>
597
+
598
+ </ul>
599
+
600
+
601
+ </div><table class="source_code">
602
+ <tr>
603
+ <td>
604
+ <pre class="lines">
605
+
606
+
607
+ 34
608
+ 35
609
+ 36
610
+ 37
611
+ 38
612
+ 39
613
+ 40
614
+ 41
615
+ 42
616
+ 43
617
+ 44
618
+ 45
619
+ 46
620
+ 47
621
+ 48
622
+ 49
623
+ 50
624
+ 51
625
+ 52
626
+ 53
627
+ 54</pre>
628
+ </td>
629
+ <td>
630
+ <pre class="code"><span class="info file"># File 'lib/game_shuffle_cards/game.rb', line 34</span>
631
+
632
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_players'>players</span> <span class='op'>=</span> <span class='const'>PLAYERS</span><span class='comma'>,</span> <span class='id identifier rubyid_cards_per_player'>cards_per_player</span><span class='op'>=</span><span class='const'>CARDS_PER_PLAYER</span><span class='rparen'>)</span>
633
+ <span class='comment'># Validate the input params and parse values
634
+ </span> <span class='ivar'>@players</span><span class='comma'>,</span> <span class='ivar'>@cards_per_player</span> <span class='op'>=</span> <span class='const'>ValidateGame</span><span class='period'>.</span><span class='id identifier rubyid_parse_and_validate'>parse_and_validate</span><span class='lparen'>(</span><span class='id identifier rubyid_players'>players</span><span class='comma'>,</span><span class='id identifier rubyid_cards_per_player'>cards_per_player</span><span class='rparen'>)</span>
635
+
636
+ <span class='comment'># The card collection, all the cards in the deck
637
+ </span> <span class='ivar'>@cards_collection</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
638
+
639
+ <span class='const'>CARDS_VALUES</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_card_value'>card_value</span><span class='op'>|</span>
640
+ <span class='const'>SUITS</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_suit'>suit</span><span class='op'>|</span>
641
+ <span class='comment'># Create one card and add it to cards_collections
642
+ </span> <span class='id identifier rubyid_card'>card</span> <span class='op'>=</span> <span class='const'>Card</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_card_value'>card_value</span><span class='comma'>,</span><span class='id identifier rubyid_suit'>suit</span><span class='rparen'>)</span>
643
+ <span class='ivar'>@cards_collection</span><span class='lbracket'>[</span><span class='id identifier rubyid_card'>card</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span><span class='op'>=</span><span class='id identifier rubyid_card'>card</span>
644
+ <span class='kw'>end</span>
645
+ <span class='comment'># add the cards keys to the cards availables
646
+ </span> <span class='ivar'>@cards_availables</span><span class='op'>=</span> <span class='ivar'>@cards_collection</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span>
647
+ <span class='kw'>end</span>
648
+ <span class='comment'># Initialize the maximun possible of cards per player,
649
+ </span> <span class='comment'># given a card collection and a number of players
650
+ </span> <span class='ivar'>@maximun_cards_per_player</span> <span class='op'>=</span> <span class='const'>Game</span><span class='period'>.</span><span class='id identifier rubyid_get_maximun_cards_per_player'>get_maximun_cards_per_player</span><span class='lparen'>(</span><span class='ivar'>@players</span><span class='rparen'>)</span>
651
+
652
+ <span class='kw'>end</span></pre>
653
+ </td>
654
+ </tr>
655
+ </table>
656
+ </div>
657
+
658
+ </div>
659
+
660
+ <div id="instance_attr_details" class="attr_details">
661
+ <h2>Instance Attribute Details</h2>
662
+
663
+
664
+ <span id="cards_availables=-instance_method"></span>
665
+ <div class="method_details first">
666
+ <h3 class="signature first" id="cards_availables-instance_method">
667
+
668
+ - (<tt>Object</tt>) <strong>cards_availables</strong>
669
+
670
+
671
+
672
+
673
+
674
+ </h3><div class="docstring">
675
+ <div class="discussion">
676
+
677
+ <p>Returns the value of attribute cards_availables</p>
678
+
679
+
680
+ </div>
681
+ </div>
682
+ <div class="tags">
683
+
684
+
685
+ </div><table class="source_code">
686
+ <tr>
687
+ <td>
688
+ <pre class="lines">
689
+
690
+
691
+ 56
692
+ 57
693
+ 58</pre>
694
+ </td>
695
+ <td>
696
+ <pre class="code"><span class="info file"># File 'lib/game_shuffle_cards/game.rb', line 56</span>
697
+
698
+ <span class='kw'>def</span> <span class='id identifier rubyid_cards_availables'>cards_availables</span>
699
+ <span class='ivar'>@cards_availables</span>
700
+ <span class='kw'>end</span></pre>
701
+ </td>
702
+ </tr>
703
+ </table>
704
+ </div>
705
+
706
+
707
+ <span id=""></span>
708
+ <div class="method_details ">
709
+ <h3 class="signature " id="cards_collection-instance_method">
710
+
711
+ - (<tt>Object</tt>) <strong>cards_collection</strong> <span class="extras">(readonly)</span>
712
+
713
+
714
+
715
+
716
+
717
+ </h3><div class="docstring">
718
+ <div class="discussion">
719
+
720
+ <p>Returns the value of attribute cards_collection</p>
721
+
722
+
723
+ </div>
724
+ </div>
725
+ <div class="tags">
726
+
727
+
728
+ </div><table class="source_code">
729
+ <tr>
730
+ <td>
731
+ <pre class="lines">
732
+
733
+
734
+ 55
735
+ 56
736
+ 57</pre>
737
+ </td>
738
+ <td>
739
+ <pre class="code"><span class="info file"># File 'lib/game_shuffle_cards/game.rb', line 55</span>
740
+
741
+ <span class='kw'>def</span> <span class='id identifier rubyid_cards_collection'>cards_collection</span>
742
+ <span class='ivar'>@cards_collection</span>
743
+ <span class='kw'>end</span></pre>
744
+ </td>
745
+ </tr>
746
+ </table>
747
+ </div>
748
+
749
+
750
+ <span id=""></span>
751
+ <div class="method_details ">
752
+ <h3 class="signature " id="cards_per_player-instance_method">
753
+
754
+ - (<tt>Object</tt>) <strong>cards_per_player</strong> <span class="extras">(readonly)</span>
755
+
756
+
757
+
758
+
759
+
760
+ </h3><div class="docstring">
761
+ <div class="discussion">
762
+
763
+ <p>Returns the value of attribute cards_per_player</p>
764
+
765
+
766
+ </div>
767
+ </div>
768
+ <div class="tags">
769
+
770
+
771
+ </div><table class="source_code">
772
+ <tr>
773
+ <td>
774
+ <pre class="lines">
775
+
776
+
777
+ 55
778
+ 56
779
+ 57</pre>
780
+ </td>
781
+ <td>
782
+ <pre class="code"><span class="info file"># File 'lib/game_shuffle_cards/game.rb', line 55</span>
783
+
784
+ <span class='kw'>def</span> <span class='id identifier rubyid_cards_per_player'>cards_per_player</span>
785
+ <span class='ivar'>@cards_per_player</span>
786
+ <span class='kw'>end</span></pre>
787
+ </td>
788
+ </tr>
789
+ </table>
790
+ </div>
791
+
792
+
793
+ <span id=""></span>
794
+ <div class="method_details ">
795
+ <h3 class="signature " id="maximun_cards_per_player-instance_method">
796
+
797
+ - (<tt>Object</tt>) <strong>maximun_cards_per_player</strong> <span class="extras">(readonly)</span>
798
+
799
+
800
+
801
+
802
+
803
+ </h3><div class="docstring">
804
+ <div class="discussion">
805
+
806
+ <p>Returns the value of attribute maximun_cards_per_player</p>
807
+
808
+
809
+ </div>
810
+ </div>
811
+ <div class="tags">
812
+
813
+
814
+ </div><table class="source_code">
815
+ <tr>
816
+ <td>
817
+ <pre class="lines">
818
+
819
+
820
+ 55
821
+ 56
822
+ 57</pre>
823
+ </td>
824
+ <td>
825
+ <pre class="code"><span class="info file"># File 'lib/game_shuffle_cards/game.rb', line 55</span>
826
+
827
+ <span class='kw'>def</span> <span class='id identifier rubyid_maximun_cards_per_player'>maximun_cards_per_player</span>
828
+ <span class='ivar'>@maximun_cards_per_player</span>
829
+ <span class='kw'>end</span></pre>
830
+ </td>
831
+ </tr>
832
+ </table>
833
+ </div>
834
+
835
+
836
+ <span id=""></span>
837
+ <div class="method_details ">
838
+ <h3 class="signature " id="players-instance_method">
839
+
840
+ - (<tt>Object</tt>) <strong>players</strong> <span class="extras">(readonly)</span>
841
+
842
+
843
+
844
+
845
+
846
+ </h3><div class="docstring">
847
+ <div class="discussion">
848
+
849
+ <p>Returns the value of attribute players</p>
850
+
851
+
852
+ </div>
853
+ </div>
854
+ <div class="tags">
855
+
856
+
857
+ </div><table class="source_code">
858
+ <tr>
859
+ <td>
860
+ <pre class="lines">
861
+
862
+
863
+ 55
864
+ 56
865
+ 57</pre>
866
+ </td>
867
+ <td>
868
+ <pre class="code"><span class="info file"># File 'lib/game_shuffle_cards/game.rb', line 55</span>
869
+
870
+ <span class='kw'>def</span> <span class='id identifier rubyid_players'>players</span>
871
+ <span class='ivar'>@players</span>
872
+ <span class='kw'>end</span></pre>
873
+ </td>
874
+ </tr>
875
+ </table>
876
+ </div>
877
+
878
+ </div>
879
+
880
+
881
+ <div id="class_method_details" class="method_details_list">
882
+ <h2>Class Method Details</h2>
883
+
884
+
885
+ <div class="method_details first">
886
+ <h3 class="signature first" id="get_maximun_cards_per_player-class_method">
887
+
888
+ + (<tt>Object</tt>) <strong>get_maximun_cards_per_player</strong>(players)
889
+
890
+
891
+
892
+
893
+
894
+ </h3><div class="docstring">
895
+ <div class="discussion">
896
+
897
+ <p>Get the maximun of cards per player, given a card collection and a number
898
+ of players</p>
899
+
900
+
901
+ </div>
902
+ </div>
903
+ <div class="tags">
904
+
905
+ <p class="tag_title">Returns:</p>
906
+ <ul class="return">
907
+
908
+ <li>
909
+
910
+
911
+ <span class='type'></span>
912
+
913
+
914
+
915
+
916
+ <div class='inline'>
917
+ <p>maximun cards per player [Integer]</p>
918
+ </div>
919
+
920
+ </li>
921
+
922
+ </ul>
923
+
924
+ </div><table class="source_code">
925
+ <tr>
926
+ <td>
927
+ <pre class="lines">
928
+
929
+
930
+ 79
931
+ 80
932
+ 81
933
+ 82</pre>
934
+ </td>
935
+ <td>
936
+ <pre class="code"><span class="info file"># File 'lib/game_shuffle_cards/game.rb', line 79</span>
937
+
938
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_get_maximun_cards_per_player'>get_maximun_cards_per_player</span><span class='lparen'>(</span><span class='id identifier rubyid_players'>players</span><span class='rparen'>)</span>
939
+ <span class='id identifier rubyid_players'>players</span> <span class='op'>=</span> <span class='const'>ValidateGame</span><span class='period'>.</span><span class='id identifier rubyid_parse_and_validate_players'>parse_and_validate_players</span><span class='lparen'>(</span><span class='id identifier rubyid_players'>players</span><span class='rparen'>)</span>
940
+ <span class='const'>TOTAL_CARDS</span> <span class='op'>/</span> <span class='id identifier rubyid_players'>players</span>
941
+ <span class='kw'>end</span></pre>
942
+ </td>
943
+ </tr>
944
+ </table>
945
+ </div>
946
+
947
+ </div>
948
+
949
+ <div id="instance_method_details" class="method_details_list">
950
+ <h2>Instance Method Details</h2>
951
+
952
+
953
+ <div class="method_details first">
954
+ <h3 class="signature first" id="get_cards-instance_method">
955
+
956
+ - (<tt>Object</tt>) <strong>get_cards</strong>
957
+
958
+
959
+
960
+
961
+
962
+ </h3><div class="docstring">
963
+ <div class="discussion">
964
+
965
+ <p>Get cards of the cards still availables in the deck</p>
966
+
967
+
968
+ </div>
969
+ </div>
970
+ <div class="tags">
971
+
972
+ <p class="tag_title">Returns:</p>
973
+ <ul class="return">
974
+
975
+ <li>
976
+
977
+
978
+ <span class='type'></span>
979
+
980
+
981
+
982
+
983
+ <div class='inline'>
984
+ <p>group of cards [Array] an array of cards_per_player</p>
985
+ </div>
986
+
987
+ </li>
988
+
989
+ </ul>
990
+
991
+ </div><table class="source_code">
992
+ <tr>
993
+ <td>
994
+ <pre class="lines">
995
+
996
+
997
+ 70
998
+ 71
999
+ 72
1000
+ 73
1001
+ 74</pre>
1002
+ </td>
1003
+ <td>
1004
+ <pre class="code"><span class="info file"># File 'lib/game_shuffle_cards/game.rb', line 70</span>
1005
+
1006
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_cards'>get_cards</span>
1007
+ <span class='id identifier rubyid_cards'>cards</span><span class='op'>=</span><span class='ivar'>@cards_availables</span><span class='period'>.</span><span class='id identifier rubyid_sample'>sample</span><span class='lparen'>(</span><span class='ivar'>@cards_per_player</span><span class='rparen'>)</span>
1008
+ <span class='ivar'>@cards_availables</span><span class='op'>-=</span> <span class='id identifier rubyid_cards'>cards</span>
1009
+ <span class='id identifier rubyid_cards'>cards</span>
1010
+ <span class='kw'>end</span></pre>
1011
+ </td>
1012
+ </tr>
1013
+ </table>
1014
+ </div>
1015
+
1016
+ <div class="method_details ">
1017
+ <h3 class="signature " id="results-instance_method">
1018
+
1019
+ - (<tt>Object</tt>) <strong>results</strong>
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+ </h3><div class="docstring">
1026
+ <div class="discussion">
1027
+
1028
+ <p>Shuffle the deck of cards</p>
1029
+
1030
+
1031
+ </div>
1032
+ </div>
1033
+ <div class="tags">
1034
+
1035
+ <p class="tag_title">Returns:</p>
1036
+ <ul class="return">
1037
+
1038
+ <li>
1039
+
1040
+
1041
+ <span class='type'></span>
1042
+
1043
+
1044
+
1045
+
1046
+ <div class='inline'>
1047
+ <p>a group of players [Hash] each with their cards</p>
1048
+ </div>
1049
+
1050
+ </li>
1051
+
1052
+ </ul>
1053
+
1054
+ </div><table class="source_code">
1055
+ <tr>
1056
+ <td>
1057
+ <pre class="lines">
1058
+
1059
+
1060
+ 60
1061
+ 61
1062
+ 62
1063
+ 63
1064
+ 64
1065
+ 65
1066
+ 66</pre>
1067
+ </td>
1068
+ <td>
1069
+ <pre class="code"><span class="info file"># File 'lib/game_shuffle_cards/game.rb', line 60</span>
1070
+
1071
+ <span class='kw'>def</span> <span class='id identifier rubyid_results'>results</span>
1072
+ <span class='id identifier rubyid_players'>players</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span>
1073
+ <span class='ivar'>@players</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_player'>player</span><span class='op'>|</span>
1074
+ <span class='id identifier rubyid_players'>players</span><span class='lbracket'>[</span><span class='id identifier rubyid_player'>player</span><span class='rbracket'>]</span><span class='op'>=</span><span class='id identifier rubyid_get_cards'>get_cards</span>
1075
+ <span class='kw'>end</span>
1076
+ <span class='kw'>return</span> <span class='id identifier rubyid_players'>players</span>
1077
+ <span class='kw'>end</span></pre>
1078
+ </td>
1079
+ </tr>
1080
+ </table>
1081
+ </div>
1082
+
1083
+ </div>
1084
+
1085
+ </div>
1086
+
1087
+ <div id="footer">
1088
+ Generated on Thu Apr 2 16:38:00 2015 by
1089
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1090
+ 0.8.7.6 (ruby-2.2.0).
1091
+ </div>
1092
+
1093
+ </body>
1094
+ </html>