public Arena CreateArena(Position playerOnePosition, Position playerTwoPosition, Action <Code.State.Arena> createTracks, bool crossingOwnTrackCausesDestruction = true)
        {
            var players = new Player[]
            {
                new Mock <Player>(Guid.NewGuid().ToString()).Object,
                new Mock <Player>(Guid.NewGuid().ToString()).Object
            };

            players.ElementAt(0).Position = playerOnePosition;
            players.ElementAt(1).Position = playerTwoPosition;
            var arena = new Code.State.Arena
            {
                Height  = 100,
                Width   = 100,
                Players = players,
                Tracks  = new Track[]
                {
                    new Track(players.First()),
                    new Track(players.Last())
                },
            };

            createTracks(arena);
            arena.ArenaOptions.CrossingOwnTrackCausesDestruction = crossingOwnTrackCausesDestruction;

            return(arena);
        }
Esempio n. 2
0
        public Arena CreateArena(Position playerOnePosition, Position playerTwoPosition, bool AddWalls)
        {
            var players = new Player[]
            {
                new Mock <Player>(Guid.NewGuid().ToString()).Object,
                new Mock <Player>(Guid.NewGuid().ToString()).Object
            };

            players.ElementAt(0).Position = playerOnePosition;
            players.ElementAt(1).Position = playerTwoPosition;
            var arena = new Code.State.Arena
            {
                Height  = 100,
                Width   = 100,
                Players = players,
                Tracks  = new Track[]
                {
                    new Track(players.First()),
                    new Track(players.Last())
                },
            };

            if (AddWalls)
            {
                List <Wall> walls = new List <Wall>();

                var thisWall = new Wall();
                for (int i = 0; i < arena.Width; i++)
                {
                    thisWall.Add(new Position(i, 0));
                }
                walls.Add(thisWall);

                thisWall = new Wall();
                for (int i = 0; i < arena.Width; i++)
                {
                    thisWall.Add(new Position(i, arena.Height));
                }
                walls.Add(thisWall);

                thisWall = new Wall();
                for (int i = 0; i < arena.Height; i++)
                {
                    thisWall.Add(new Position(0, i));
                }
                walls.Add(thisWall);

                thisWall = new Wall();
                for (int i = 0; i < arena.Height; i++)
                {
                    thisWall.Add(new Position(arena.Width, i));
                }
                walls.Add(thisWall);

                arena.Walls = walls;
            }

            return(arena);
        }
Esempio n. 3
0
        public Arena CreateArena(int arenaX, int arenaY)
        {
            var players = new Player[]
            {
                new Mock <Player>(Guid.NewGuid().ToString()).Object,
                new Mock <Player>(Guid.NewGuid().ToString()).Object
            };

            var arena = new Code.State.Arena
            {
                Height  = arenaX,
                Width   = arenaY,
                Players = players,
                Tracks  = new Track[]
                {
                    new Track(players.First()),
                    new Track(players.Last())
                },
            };

            return(arena);
        }