Пример #1
0
        public void Launch_randomEvent()
        {
            MapIsland      islandtest = new MapIsland(null, "islandTest");
            MapZone        zoneTest   = new MapZone(null, false, 2);
            List <MapZone> list       = new List <MapZone>();

            list.Add(zoneTest);

            MapInstance instanceTest = new MapInstance(null, "test");

            instanceTest.listZones = list;

            Console.WriteLine("visited");
            for (int i = 0; i < 10; i++)
            {
                Console.Write(instanceTest.EventRandom(true));
            }

            Console.WriteLine(Environment.NewLine + "No island, not visited");
            list.Remove(zoneTest);
            instanceTest.listZones = list;
            for (int i = 0; i < 10; i++)
            {
                Console.Write(instanceTest.EventRandom(false));
            }

            Console.WriteLine(Environment.NewLine + "Island, not visited");
            for (int i = 0; i < 10; i++)
            {
                Console.Write(instanceTest.EventRandom(false));
            }
        }
Пример #2
0
 public Island(MainForm contextForm, MapWorld world, MapIsland island)
 {
     InitializeComponent();
     _contextForm = contextForm;
     _world       = world;
     _island      = island;
 }
Пример #3
0
        public void Test_Upload_An_Island()
        {
            //get world.bin
            IFormatter formatter = new BinaryFormatter();
            MapWorld   world;

            using (Stream stream = new FileStream("../../../Ressources/NewWorld.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                world = (MapWorld)formatter.Deserialize(stream);
            }

            //initialise island
            Dictionary <string, MapIsland> Islands = world.Islands;

            MapIsland i = null;

            foreach (MapIsland island in Islands.Values)
            {
                if (island.IslandName == "island1")
                {
                    world.ChangeActualIsland(island, false);
                    i = island;
                }
            }

            Assert.AreEqual(i, world.ActualPosition);

            //change island
            foreach (MapIsland island in Islands.Values)
            {
                if (island.IslandName == "island2")
                {
                    world.ChangeActualIsland(island, false);
                    i = island;
                }
            }

            Assert.AreEqual(i, world.ActualPosition);


            //change city
            world.ActualPosition = world.Islands[((MapIsland)world.ActualPosition).IslandName].IslandCity;

            Assert.AreEqual("City2", ((MapCity)world.ActualPosition).CityName);

            //change instance
            world.ActualPosition = world.Islands["island1"];
            List <MapInstance> listinstance = world.Islands[((MapIsland)world.ActualPosition).IslandName].IslandInstances;

            foreach (MapInstance instance in listinstance)
            {
                if (instance.InstanceName == "island1_instance_1")
                {
                    world.ActualPosition = instance;
                    Assert.AreEqual(instance, world.ActualPosition);
                }
            }
        }
Пример #4
0
 public void UseMilitia(Team T, MapIsland I)
 {
     T.Invent.RemoveGold(10);
     _context.ActualIsland.ActualWorld.ChangeActualIsland(I, true);
 }
Пример #5
0
        public void CreateWorld_2()
        {
            //The World
            MapWorld world = new MapWorld();
            Dictionary <string, MapIsland> Islands = new Dictionary <string, MapIsland>();

            //island 1 ------------------------------------------------------------
            MapIsland island = new MapIsland(world, "island1");

            island.PointX = 118;
            island.PointY = 31;

            //Instance for the Island
            MapInstance instance1 = new MapInstance(island, "island1_instance_1");

            instance1.PointX = 130;
            instance1.PointY = 50;

            //list zone for instance on the island
            List <MapZone> listZone_instance1 = new List <MapZone>();
            MapZone        zone1 = new MapZone(instance1, true, 1);

            zone1.PointX = 50;
            zone1.PointY = 50;

            MapZone zone2 = new MapZone(instance1, true, 2);

            zone2.PointX = 150;
            zone2.PointY = 150;

            MapZone zone3 = new MapZone(instance1, true, 3);

            zone3.PointX = 250;
            zone3.PointY = 250;

            List <MapZone> listlink = new List <MapZone>();

            listlink.Add(zone2);
            zone1.ListLink = listlink;

            listlink = new List <MapZone>();
            listlink.Add(zone1);
            listlink.Add(zone3);
            zone2.ListLink = listlink;

            listlink = new List <MapZone>();
            listlink.Add(zone2);
            zone3.ListLink = listlink;

            //Zone must be add like : first is the entry and last the exit
            listZone_instance1.Add(zone1);
            listZone_instance1.Add(zone2);
            listZone_instance1.Add(zone3);

            instance1.listZones = listZone_instance1;

            List <MapInstance> listinstances = new List <MapInstance>();

            listinstances.Add(instance1);
            island.IslandInstances = listinstances;

            //city for the island
            MapCity city = new MapCity(island, "City1");

            city.PointX = 100;
            city.PointY = 200;
            island.AddCity(city);

            //list sellable items for merchant and merch
            ListItems   listI     = new ListItems();
            List <Item> itemsSell = new List <Item>();

            itemsSell.Add(listI.Items[0]);

            Merchant merch1 = new Merchant("Vendeur général", itemsSell);

            merch1.PointX = 50;
            merch1.PointY = 325;
            merch1.Invent = world.Team.Invent;

            itemsSell.Add(listI.Items[1]);
            Merchant merch2 = new Merchant("herboriste", itemsSell);

            merch2.PointX = 250;
            merch2.PointY = 325;
            merch2.Invent = world.Team.Invent;

            //Add services
            Mortuary s1 = new Mortuary(city);

            s1.PointX = 300;
            s1.PointY = 110;

            Taverne s2 = new Taverne();

            s2.PointX = 190;
            s2.PointY = 100;

            //list merchant for city
            List <object> listservices = new List <object>();

            listservices.Add(merch1);
            listservices.Add(merch2);
            listservices.Add(s1);
            listservices.Add(s2);
            city.Services = listservices;

            //add island to world
            Islands.Add("island1", island);

            //island 2 ------------------------------------------------------------
            island        = new MapIsland(world, "island2");
            island.PointX = 118;
            island.PointY = 231;

            //Instance for the Island
            instance1        = new MapInstance(island, "island2_instance_1");
            instance1.PointX = 130;
            instance1.PointY = 250;

            //list zone for instance on the island
            listZone_instance1 = new List <MapZone>();
            zone1        = new MapZone(instance1, true, 1);
            zone1.PointX = 50;
            zone1.PointY = 50;

            zone2        = new MapZone(instance1, true, 2);
            zone2.PointX = 150;
            zone2.PointY = 150;

            zone3        = new MapZone(instance1, true, 3);
            zone3.PointX = 250;
            zone3.PointY = 250;

            listlink = new List <MapZone>();
            listlink.Add(zone2);
            zone1.ListLink = listlink;

            listlink = new List <MapZone>();
            listlink.Add(zone1);
            listlink.Add(zone3);
            zone2.ListLink = listlink;

            listlink = new List <MapZone>();
            listlink.Add(zone2);
            zone3.ListLink = listlink;

            listZone_instance1.Add(zone1);
            listZone_instance1.Add(zone2);
            listZone_instance1.Add(zone3);

            instance1.listZones = listZone_instance1;

            listinstances = new List <MapInstance>();
            listinstances.Add(instance1);
            island.IslandInstances = listinstances;

            //city for the island
            city        = new MapCity(island, "City2");
            city.PointX = 200;
            city.PointY = 200;
            island.AddCity(city);

            //list sellable items for merchant and merch
            listI     = new ListItems();
            itemsSell = new List <Item>();
            itemsSell.Add(listI.Items[1]);

            merch1        = new Merchant("Vendeur général", itemsSell);
            merch1.PointX = 50;
            merch1.PointY = 325;
            merch1.Invent = world.Team.Invent;

            //Add services
            s1        = new Mortuary(city);
            s1.PointX = 300;
            s1.PointY = 110;

            s2        = new Taverne();
            s2.PointX = 190;
            s2.PointY = 100;

            //list merchant for city
            listservices = new List <object>();
            listservices.Add(merch1);
            listservices.Add(s1);
            listservices.Add(s2);
            city.Services = listservices;

            //add island to world
            Islands.Add("island2", island);

            //End-----------------------------------------------

            //list link between island
            List <MapIsland> listlinkis = new List <MapIsland>();

            listlinkis.Add(Islands["island2"]);
            Islands["island1"].ListLink = listlinkis;

            listlinkis = new List <MapIsland>();
            listlinkis.Add(Islands["island1"]);
            Islands["island2"].ListLink = listlinkis;

            //add island to world
            world.Islands        = Islands;
            world.ActualPosition = world.Islands["island1"];

            //Serialize
            IFormatter formatter = new BinaryFormatter();

            using (Stream stream = new FileStream("../../../Ressources/NewWorld.bin", FileMode.Create, FileAccess.Write, FileShare.None))
            {
                formatter.Serialize(stream, world);
            }
        }