text2048 0.5.0 → 0.6.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.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: text2048
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yasuhito Takamiya
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-08 00:00:00.000000000 Z
11
+ date: 2014-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -50,16 +50,22 @@ files:
50
50
  - lib/text2048.rb
51
51
  - lib/text2048/app.rb
52
52
  - lib/text2048/board.rb
53
- - lib/text2048/curses_tile.rb
54
53
  - lib/text2048/curses_view.rb
54
+ - lib/text2048/curses_view/colorize.rb
55
+ - lib/text2048/curses_view/keyboard.rb
56
+ - lib/text2048/curses_view/tile.rb
57
+ - lib/text2048/curses_view/tile_effects.rb
55
58
  - lib/text2048/monkey_patch/array.rb
56
59
  - lib/text2048/monkey_patch/array/board.rb
57
60
  - lib/text2048/monkey_patch/array/tile.rb
61
+ - lib/text2048/monkey_patch/hash.rb
62
+ - lib/text2048/monkey_patch/hash/converter.rb
58
63
  - lib/text2048/text_view.rb
59
64
  - lib/text2048/tile.rb
60
65
  - lib/text2048/version.rb
61
66
  - spec/array_spec.rb
62
67
  - spec/spec_helper.rb
68
+ - spec/text2048/app_spec.rb
63
69
  - spec/text2048/board_spec.rb
64
70
  - text2048.gemspec
65
71
  homepage: http://github.com/yasuhito/text2048
@@ -89,6 +95,7 @@ summary: Text mode 2048 game.
89
95
  test_files:
90
96
  - spec/array_spec.rb
91
97
  - spec/spec_helper.rb
98
+ - spec/text2048/app_spec.rb
92
99
  - spec/text2048/board_spec.rb
93
100
  - features/game_over.feature
94
101
  - features/move_down.feature
@@ -97,3 +104,4 @@ test_files:
97
104
  - features/move_up.feature
98
105
  - features/step_definitions/2048_steps.rb
99
106
  - features/support/env.rb
107
+ has_rdoc:
@@ -1,125 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'curses'
4
-
5
- # This module smells of :reek:UncommunicativeModuleName
6
- module Text2048
7
- # Shows tiles in curses.
8
- class CursesTile
9
- attr_reader :width
10
- attr_reader :height
11
- attr_reader :color
12
-
13
- include Curses
14
-
15
- DEFAULT_HEIGHT = 3
16
- DEFAULT_WIDTH = 5
17
-
18
- def self.width(scale)
19
- @width = (DEFAULT_WIDTH * scale).to_i
20
- end
21
-
22
- def self.height(scale)
23
- (DEFAULT_HEIGHT * scale).to_i
24
- end
25
-
26
- def initialize(value, row, col, color, scale = 1)
27
- klass = self.class
28
- @value = value.to_i
29
- @height = klass.height(scale)
30
- @box_height = @height + 2
31
- @width = klass.width(scale)
32
- @box_width = @width + 2
33
- @row = (@height + 1) * row + 2
34
- @col = (@width + 1) * col + 1
35
- @color = color
36
- end
37
-
38
- def show
39
- draw_box
40
- fill_tile_color
41
- draw_number
42
- self
43
- end
44
-
45
- def pop
46
- attron(color_pair(@color + 100)) do
47
- draw_box
48
- end
49
- end
50
-
51
- def draw_box
52
- draw_square
53
- [box_upper_left, box_upper_right,
54
- box_lower_left, box_lower_right].each do |row, col|
55
- setpos(row, col)
56
- addstr('+')
57
- end
58
- end
59
-
60
- def fill_tile_color
61
- attron(color_pair(@color + 100)) { fill }
62
- end
63
-
64
- def fill_black
65
- attron(color_pair(COLOR_BLACK + 100)) { fill }
66
- refresh
67
- end
68
-
69
- def draw_number
70
- return if @value == 0
71
- setpos(@row + @height / 2, @col)
72
- attron(color_pair(@color)) do
73
- addstr @value.to_s.center(@width)
74
- end
75
- end
76
-
77
- private
78
-
79
- def box_upper_left
80
- [@row - 1, @col - 1]
81
- end
82
-
83
- def box_upper_right
84
- [@row - 1, @col + @width]
85
- end
86
-
87
- def box_lower_left
88
- [@row + @height, @col - 1]
89
- end
90
-
91
- def box_lower_right
92
- [@row + @height, @col + @width]
93
- end
94
-
95
- def draw_square
96
- draw_horizonal_line(*box_upper_left, @box_width)
97
- draw_vertical_line(*box_upper_left, @box_height)
98
- draw_vertical_line(*box_upper_right, @box_height)
99
- draw_horizonal_line(*box_lower_left, @box_width)
100
- end
101
-
102
- def draw_horizonal_line(row, col, length)
103
- setpos(row, col)
104
- addstr('-' * length)
105
- end
106
-
107
- def draw_vertical_line(row, col, length)
108
- (0..(length - 1)).each do |each|
109
- setpos(row + each, col)
110
- addstr('|')
111
- end
112
- end
113
-
114
- def fill
115
- (0..(@height - 1)).each do |each|
116
- setpos(@row + each, @col)
117
- if @value != 0 && each == @height / 2
118
- addstr @value.to_s.center(@width)
119
- else
120
- addstr('.' * @width)
121
- end
122
- end
123
- end
124
- end
125
- end