patience 0.1.0

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 (56) hide show
  1. data/CHANGELOG.md +6 -0
  2. data/Gemfile +5 -0
  3. data/Gemfile.lock +17 -0
  4. data/LICENSE +19 -0
  5. data/README.md +111 -0
  6. data/Rakefile +11 -0
  7. data/bin/patience +5 -0
  8. data/lib/patience.rb +13 -0
  9. data/lib/patience/area.rb +62 -0
  10. data/lib/patience/card.rb +107 -0
  11. data/lib/patience/core_ext/class.rb +17 -0
  12. data/lib/patience/core_ext/core_ext.rb +1 -0
  13. data/lib/patience/core_ext/object.rb +37 -0
  14. data/lib/patience/core_ext/string.rb +33 -0
  15. data/lib/patience/cursor.rb +66 -0
  16. data/lib/patience/deck.rb +21 -0
  17. data/lib/patience/event_handlers/click.rb +99 -0
  18. data/lib/patience/event_handlers/drag.rb +36 -0
  19. data/lib/patience/event_handlers/drop.rb +147 -0
  20. data/lib/patience/foundation.rb +30 -0
  21. data/lib/patience/game.rb +10 -0
  22. data/lib/patience/pile.rb +78 -0
  23. data/lib/patience/processable.rb +87 -0
  24. data/lib/patience/rank.rb +56 -0
  25. data/lib/patience/scenes/game_scene.rb +66 -0
  26. data/lib/patience/sprites/card_deck.png +0 -0
  27. data/lib/patience/sprites/empty_stock.png +0 -0
  28. data/lib/patience/sprites/pile_background.png +0 -0
  29. data/lib/patience/stock.rb +20 -0
  30. data/lib/patience/suit.rb +73 -0
  31. data/lib/patience/tableau.rb +42 -0
  32. data/lib/patience/version.rb +3 -0
  33. data/lib/patience/waste.rb +18 -0
  34. data/test/patience/core_ext/test_class.rb +28 -0
  35. data/test/patience/core_ext/test_object.rb +15 -0
  36. data/test/patience/core_ext/test_string.rb +35 -0
  37. data/test/patience/event_handlers/test_click.rb +142 -0
  38. data/test/patience/event_handlers/test_drag.rb +45 -0
  39. data/test/patience/event_handlers/test_drop.rb +175 -0
  40. data/test/patience/helper.rb +8 -0
  41. data/test/patience/scenes/test_game_scene.rb +14 -0
  42. data/test/patience/test_area.rb +74 -0
  43. data/test/patience/test_card.rb +165 -0
  44. data/test/patience/test_cursor.rb +77 -0
  45. data/test/patience/test_deck.rb +53 -0
  46. data/test/patience/test_foundation.rb +38 -0
  47. data/test/patience/test_game.rb +29 -0
  48. data/test/patience/test_pile.rb +83 -0
  49. data/test/patience/test_processable.rb +159 -0
  50. data/test/patience/test_rank.rb +88 -0
  51. data/test/patience/test_stock.rb +43 -0
  52. data/test/patience/test_suit.rb +87 -0
  53. data/test/patience/test_tableau.rb +57 -0
  54. data/test/patience/test_version.rb +11 -0
  55. data/test/patience/test_waste.rb +35 -0
  56. metadata +135 -0
@@ -0,0 +1,35 @@
1
+ require_relative 'helper'
2
+
3
+ module Patience
4
+ class TestWasteArea < TestCase
5
+
6
+ def setup
7
+ @waste = Waste.new
8
+ end
9
+
10
+ test 'Waste is a child of Area' do
11
+ assert_kind_of Area, @waste
12
+ end
13
+
14
+ test 'Initial Waste has no cards' do
15
+ assert_equal 0, @waste.piles[0].cards.size
16
+ end
17
+
18
+ test 'Waste consists of one pile' do
19
+ assert_equal 1, @waste.piles.size
20
+ end
21
+
22
+ test 'Overall position of Waste can be gotten' do
23
+ assert_equal Ray::Vector2[141, 23], @waste.pos
24
+ assert_equal Ray::Vector2[141, 23], @waste.piles.first.pos
25
+ end
26
+
27
+ test 'Waste can be disposed in the window' do
28
+ @waste.send(:pos=, [0, 0])
29
+ assert_equal Ray::Vector2[0, 0], @waste.pos
30
+ @waste.send(:pos=, [200, 300])
31
+ assert_equal Ray::Vector2[200, 300], @waste.pos
32
+ end
33
+
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: patience
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Kyrylo Silin
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: ray
16
+ requirement: &76654590 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.2.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *76654590
25
+ description: Klondike solitaire game which is built with help of Ray game library.
26
+ email: kyrylosilin@gmail.com
27
+ executables:
28
+ - patience
29
+ extensions: []
30
+ extra_rdoc_files: []
31
+ files:
32
+ - bin/patience
33
+ - lib/patience/foundation.rb
34
+ - lib/patience/scenes/game_scene.rb
35
+ - lib/patience/version.rb
36
+ - lib/patience/event_handlers/drop.rb
37
+ - lib/patience/event_handlers/click.rb
38
+ - lib/patience/event_handlers/drag.rb
39
+ - lib/patience/sprites/empty_stock.png
40
+ - lib/patience/sprites/card_deck.png
41
+ - lib/patience/sprites/pile_background.png
42
+ - lib/patience/card.rb
43
+ - lib/patience/suit.rb
44
+ - lib/patience/cursor.rb
45
+ - lib/patience/core_ext/string.rb
46
+ - lib/patience/core_ext/class.rb
47
+ - lib/patience/core_ext/object.rb
48
+ - lib/patience/core_ext/core_ext.rb
49
+ - lib/patience/processable.rb
50
+ - lib/patience/stock.rb
51
+ - lib/patience/waste.rb
52
+ - lib/patience/rank.rb
53
+ - lib/patience/deck.rb
54
+ - lib/patience/pile.rb
55
+ - lib/patience/tableau.rb
56
+ - lib/patience/game.rb
57
+ - lib/patience/area.rb
58
+ - lib/patience.rb
59
+ - CHANGELOG.md
60
+ - LICENSE
61
+ - Gemfile
62
+ - Gemfile.lock
63
+ - Rakefile
64
+ - README.md
65
+ - test/patience/helper.rb
66
+ - test/patience/test_stock.rb
67
+ - test/patience/test_game.rb
68
+ - test/patience/test_rank.rb
69
+ - test/patience/scenes/test_game_scene.rb
70
+ - test/patience/test_waste.rb
71
+ - test/patience/event_handlers/test_drop.rb
72
+ - test/patience/event_handlers/test_click.rb
73
+ - test/patience/event_handlers/test_drag.rb
74
+ - test/patience/test_card.rb
75
+ - test/patience/test_deck.rb
76
+ - test/patience/test_cursor.rb
77
+ - test/patience/test_suit.rb
78
+ - test/patience/test_version.rb
79
+ - test/patience/core_ext/test_object.rb
80
+ - test/patience/core_ext/test_class.rb
81
+ - test/patience/core_ext/test_string.rb
82
+ - test/patience/test_processable.rb
83
+ - test/patience/test_tableau.rb
84
+ - test/patience/test_pile.rb
85
+ - test/patience/test_foundation.rb
86
+ - test/patience/test_area.rb
87
+ homepage: https://github.com/kyrylo/patience
88
+ licenses:
89
+ - zlib
90
+ post_install_message: To run the game, type 'patience' in your terminal.
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: 1.9.3
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubyforge_project:
108
+ rubygems_version: 1.8.5
109
+ signing_key:
110
+ specification_version: 3
111
+ summary: Klondike solitaire game.
112
+ test_files:
113
+ - test/patience/helper.rb
114
+ - test/patience/test_stock.rb
115
+ - test/patience/test_game.rb
116
+ - test/patience/test_rank.rb
117
+ - test/patience/scenes/test_game_scene.rb
118
+ - test/patience/test_waste.rb
119
+ - test/patience/event_handlers/test_drop.rb
120
+ - test/patience/event_handlers/test_click.rb
121
+ - test/patience/event_handlers/test_drag.rb
122
+ - test/patience/test_card.rb
123
+ - test/patience/test_deck.rb
124
+ - test/patience/test_cursor.rb
125
+ - test/patience/test_suit.rb
126
+ - test/patience/test_version.rb
127
+ - test/patience/core_ext/test_object.rb
128
+ - test/patience/core_ext/test_class.rb
129
+ - test/patience/core_ext/test_string.rb
130
+ - test/patience/test_processable.rb
131
+ - test/patience/test_tableau.rb
132
+ - test/patience/test_pile.rb
133
+ - test/patience/test_foundation.rb
134
+ - test/patience/test_area.rb
135
+ has_rdoc: