Class: MazeServer

Inherits:
Object
  • Object
show all
Defined in:
lib/maze/server/maze_server.rb

Instance Method Summary collapse

Constructor Details

#initialize(number_of_players = 1) ⇒ MazeServer

Returns a new instance of MazeServer.



9
10
11
12
# File 'lib/maze/server/maze_server.rb', line 9

def initialize(number_of_players = 1)
  @players = Hash.new
  @number_of_players = number_of_players
end

Instance Method Details

#playersObject



33
34
35
# File 'lib/maze/server/maze_server.rb', line 33

def players
  @players
end

#startObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/maze/server/maze_server.rb', line 14

def start
  puts 'start server'
  connected_player = 0
  server = TCPServer.open(9999)
  while connected_player < @number_of_players
    connected_player += 1
    puts 'wait for player'
    socket = server.accept
    socket.puts('{"operation" : "PLAYER_NAME", "messageId": 1, "type": "REQUEST"}')
    player_name = JSON.parse(socket.gets.chop)['playerName']
    @players[connected_player] = Client.new(player_name, socket, connected_player)
    puts "player #{player_name} connected"
  end
  puts 'all player are connected'
  puts 'start game'
  @maze_game = MazeGame.new(@players)
  @maze_game.print_current_maze
end

#start_gameObject



37
38
39
40
41
42
43
# File 'lib/maze/server/maze_server.rb', line 37

def start_game
  until @maze_game.reached_player_exit?
    do_moves
  end
  puts @maze_game.winning_players
  confirm_clients
end