コード例 #1
0
        public void should_get_to_ganon()
        {
            //var romData = Utilities.LoadRom("rando.sfc");
            var    romData = Utilities.LoadRom("..\\..\\..\\ER_er-no-glitches-0.4.7_normal-open-ganon_297664836.sfc"); // simple
            Random rand    = new Random(0);

            RomEntranceCollection romEntrances = new RomEntranceCollection(romData);
            RomExitCollection     romExits     = new RomExitCollection(romData);
            RomChestCollection    romChests    = new RomChestCollection(romData);

            GraphData graphData = new GraphData(romData, new OptionFlags(), romEntrances, romExits, romChests);
            //foreach(var e in graphData.AllEdges)
            //{
            //    output.WriteLine(e.ToString());
            //}
            //output.WriteLine("Rom locations");
            //foreach (var r in romChests.Chests)
            //{
            //    output.WriteLine($"0x{r.Address.ToString("X")}\t0x{r.ItemId.ToString("X2")}");
            //}
            //output.WriteLine("Raw locations");
            //foreach(var r in graphData._rawItemLocationCollection.RawItemLocations.Values)
            //{
            //    output.WriteLine($"0x{r.LocationAddress.ToString("X")}\t0x{r.ItemId.ToString("X2")}");
            //}

            Graph graph = new Graph(graphData);

            var result = graph.FindPath(graphData.AllNodes["cave-links-house"], graphData.AllNodes["triforce-room"], true);

            output.WriteLine(result.ToString());
            Assert.True(result.Success);
        }
コード例 #2
0
ファイル: BeetorpTests.cs プロジェクト: tcprescott/Enimizer
        public void should_get_to_ganon(string filename, bool expected)
        {
            //var romData = Utilities.LoadRom("rando.sfc");
            output.WriteLine(filename);
            var romData = Utilities.LoadRom("..\\..\\..\\..\\rando_test_27_fixes\\" + filename); // simple

            Random rand = new Random(0);

            RomEntranceCollection romEntrances = new RomEntranceCollection(romData);
            RomExitCollection     romExits     = new RomExitCollection(romData);
            RomChestCollection    romChests    = new RomChestCollection(romData);

            GraphData graphData = new GraphData(romData, new OptionFlags(), romEntrances, romExits, romChests);

            Graph graph = new Graph(graphData);

            var result = graph.FindPath(graphData.AllNodes["cave-links-house"], graphData.AllNodes["triforce-room"], true);

            output.WriteLine(result.ToString());
            Assert.True(result.Success);
        }
コード例 #3
0
ファイル: Experiments.cs プロジェクト: Ijwu/Enemizer
        public void figure_out_entrances()
        {
            //var romData = Utilities.LoadRom("rando.sfc");
            var romData = Utilities.LoadRom("..\\..\\..\\ER_er-no-glitches-0.4.7_normal-open-ganon_297664836.sfc"); // simple
            //var romData = Utilities.LoadRom("..\\..\\..\\ER_er-no-glitches-0.4.7_normal-open-ganon_676766069.sfc"); // insanity

            RomEntranceCollection ec = new RomEntranceCollection(romData);

            ec.LoadEntrances();

            RomExitCollection exits = new RomExitCollection(romData);

            exits.LoadExits();

            foreach (var e in ec.Entrances)
            {
                output.WriteLine($"Address: {e.EntranceAddress.ToString("X")} - Value: {e.EntranceAreaId.ToString("X3")} - {e.EntranceAreaName} - {e.EntranceSourceName} - Entrance #: 0x{e.EntranceNumber.ToString("X2")} - -> Connects to: 0x{e.ConnectToRoomId.ToString("X3")} - {e.ConnectsToRoomName}");
            }

            foreach (var e in exits.Exits)
            {
                output.WriteLine($"RoomAddress: {e.RoomAddress.ToString("X")} Room: {e.RoomId} - {e.RoomName} -> Goes to: AreaAddress: {e.AreaAddress.ToString("X")} Area: {e.AreaId} - {e.ExitAreaName} - {e.AreaName}");
            }
        }
コード例 #4
0
 public OverworldGlitchedGraphData(RomData romData, OptionFlags optionFlags, RomEntranceCollection romEntrances, RomExitCollection romExits, RomChestCollection romChests)
     : base(romData, optionFlags, romEntrances, romExits, romChests)
 {
 }