Class: MazeServer
- Inherits:
-
Object
- Object
- MazeServer
- Defined in:
- lib/maze/server/maze_server.rb
Instance Method Summary collapse
-
#initialize(number_of_players = 1) ⇒ MazeServer
constructor
A new instance of MazeServer.
- #players ⇒ Object
- #start ⇒ Object
- #start_game ⇒ Object
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
#players ⇒ Object
33 34 35 |
# File 'lib/maze/server/maze_server.rb', line 33 def players @players end |
#start ⇒ Object
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_game ⇒ Object
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 |