ruby_snake 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,13 +3,13 @@ module RubySnake
3
3
 
4
4
  # The following code is a shit
5
5
  class << self
6
- attr_accessor :message, :snake, :food
6
+ attr_accessor :message, :receive
7
7
 
8
8
  def connect(host='127.0.0.1')
9
9
  @message = '0'
10
10
 
11
11
  loop do
12
- sleep Game.speed
12
+ sleep 0.1
13
13
 
14
14
  begin
15
15
  server = TCPSocket.new host, 2000
@@ -34,11 +34,7 @@ module RubySnake
34
34
  break
35
35
  else
36
36
  @message = ([Game.snake.food] + Game.snake.body).join(',').to_s if Game.snake
37
- array = server_message.split(',').map(&:to_i).each_slice(2).to_a if server_message
38
- if array
39
- @food = array.shift
40
- @snake = array
41
- end
37
+ @receive = server_message.split(',').map(&:to_i).each_slice(2).to_a if server_message
42
38
  end
43
39
  end
44
40
  end
@@ -3,7 +3,7 @@ module RubySnake
3
3
 
4
4
  # The following code is a shit
5
5
  class << self
6
- attr_accessor :message, :snake, :food
6
+ attr_accessor :message, :receive
7
7
 
8
8
  def start
9
9
  @message = '0'
@@ -28,11 +28,7 @@ module RubySnake
28
28
  break
29
29
  else
30
30
  @message = ([Game.snake.food] + Game.snake.body).join(',').to_s if Game.snake
31
- array = client_message.split(',').map(&:to_i).each_slice(2).to_a if client_message
32
- if array
33
- @food = array.shift
34
- @snake = array
35
- end
31
+ @receive = client_message.split(',').map(&:to_i).each_slice(2).to_a if client_message
36
32
  end
37
33
  end
38
34
  end
@@ -11,16 +11,16 @@ module RubySnake
11
11
 
12
12
  def local_window
13
13
  x = (Ncurses.stdscr.getmaxy - 30) / 2
14
- y = (Ncurses.stdscr.getmaxx - 100) / 2
14
+ y = (Ncurses.stdscr.getmaxx - 102) / 2
15
15
 
16
- @local_window ||= Ncurses::WINDOW.new 30, 50, x, y
16
+ @local_window ||= Ncurses::WINDOW.new 30, 51, x, y
17
17
  end
18
18
 
19
19
  def remote_window
20
20
  x = (Ncurses.stdscr.getmaxy - 30) / 2
21
21
  y = Ncurses.stdscr.getmaxx / 2
22
22
  @remote_window ||= Ncurses::WINDOW.new 30,
23
- 50,
23
+ 51,
24
24
  x,
25
25
  y
26
26
  end
@@ -80,7 +80,6 @@ module RubySnake
80
80
  draw_food
81
81
  draw_score
82
82
  window.noutrefresh
83
- Ncurses.doupdate
84
83
  clear_tail
85
84
  end
86
85
 
@@ -90,66 +89,39 @@ module RubySnake
90
89
  remote_window.mvprintw x, y, symbol
91
90
  end
92
91
 
93
- def remote_score
94
- 50 - remote_snake_body.length + 2
95
- end
96
-
97
- def draw_remote_score
98
- remote_window.mvprintw 0, 0, score.to_s
99
- end
100
-
101
- def draw_remote_snake
102
- remote_window.color_set 2, nil
103
- remote_snake_body.each do |body|
104
- if body == remote_snake_head
105
- remote_display body, '@'
106
- else
92
+ def draw_remote
93
+ begin
94
+ receive = Game.role_class.receive
95
+ food = receive.shift
96
+ snake = receive
97
+
98
+ remote_window.color_set 1, nil
99
+ remote_display food, '$'
100
+ remote_window.mvprintw 0, 0, (50 - snake.length + 2).to_s
101
+
102
+ remote_window.color_set 2, nil
103
+ head = snake.shift
104
+ remote_display head, '@'
105
+ snake.each do |body|
107
106
  remote_display body, 'o'
108
107
  end
109
- end
110
- end
111
-
112
- def remote_snake_body
113
- Game.role_class.snake
114
- end
115
108
 
116
- def remote_snake_head
117
- Game.role_class.snake.first
118
- end
119
-
120
- def remote_snake_tail
121
- Game.role_class.snake.last
122
- end
109
+ remote_window.noutrefresh
110
+ remote_display head, ' '
123
111
 
124
- def remote_food
125
- Game.role_class.food
126
- end
127
-
128
- def clear_remote_tail
129
- remote_display remote_snake_tail, ' '
130
- end
131
-
132
- def draw_remote_food
133
- remote_window.color_set 1, nil
134
- remote_display remote_food, '$'
135
- end
136
-
137
- def draw_remote
138
- draw_remote_snake
139
- draw_remote_food
140
- draw_remote_score
141
- remote_window.noutrefresh
142
- Ncurses.doupdate
143
- clear_remote_tail
112
+ snake.each do |body|
113
+ remote_display body, ' '
114
+ end
115
+ rescue
116
+ nil
117
+ end
144
118
  end
145
119
 
146
120
  def draw_map
147
121
  draw_local
148
122
  draw_remote
149
- sleep Game.speed
150
- window.noutrefresh
151
- remote_window.noutrefresh
152
123
  Ncurses.doupdate
124
+ sleep 0.1
153
125
  end
154
126
 
155
127
  def draw
@@ -1,3 +1,3 @@
1
1
  module RubySnake
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_snake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: