示例#1
0
        static Tile[,] RandomFillMap()
        {
            for (int row = 0; row < MapHeight; row++)
            {
                for (int column = 0; column < MapWidth; column++)
                {
                    if (column == 0)
                    {
                        map[column, row] = new Tile(column, row, true);
                    }

                    else if (row == 0)
                    {
                        map[column, row] = new Tile(column, row, true);
                    }

                    else if (column == MapWidth - 1)
                    {
                        map[column, row] = new Tile(column, row, true);
                    }

                    else if (row == MapHeight - 1)
                    {
                        map[column, row] = new Tile(column, row, true);
                    }
                    else
                    {
                        map[column, row] = new Tile(column, row, RandomizationFunctions.Chance(PercentAreWalls));
                    }
                }
            }
            return(map);
        }
示例#2
0
        private static void UpdateMap(WorldMap world, List <Client> clients, Queue <Response> responseQueue, bool json)
        {
            if (RandomizationFunctions.Chance(15))
            {
                var coords = world.PlaceGold(clients);

                responseQueue.Enqueue(new Response {
                    ResponseType = Response.MessageType.UPDATETILE, StringParam = EncodeTile(world, coords, json)
                });
            }

            if (RandomizationFunctions.Chance(95))
            {
                var coords = world.CreatePotion(clients);
                responseQueue.Enqueue(new Response {
                    ResponseType = Response.MessageType.UPDATETILE, StringParam = EncodeTile(world, coords, json)
                });
            }
        }