示例#1
0
 public void HandleMessage(SnakePlayer player, GameMessage message)
 {
     switch (message.Type)
     {
     case GameMessageType.Action:
         var direction = (string)message.Content;
         player.SetDirection(direction);
         break;
     }
 }
示例#2
0
        public override Player AddPlayer(WebSocket socket, string id)
        {
            var random   = new Random();
            var position = new IntVector2(random.Next(MapWidth), random.Next(MapHeight));
            var player   = new SnakePlayer(socket, id, position);

            this.Players.Add(player);
            player.Game = this;
            return(player);
        }
示例#3
0
        public SnakeGameState GetClientState(SnakePlayer player)
        {
            var playerList = new List <SnakeGamePlayerClient>();

            foreach (SnakePlayer p in this.Players)
            {
                playerList.Add(p.GetClientRepresentation());
            }
            var state = new SnakeGameState
            {
                MapHeight = this.MapHeight,
                MapWidth  = this.MapWidth,
                Players   = playerList
            };

            return(state);
        }