コード例 #1
0
ファイル: Map.aspx.cs プロジェクト: BackupTheBerlios/wc3o-svn
        protected void btnCreateMap_Click(object sender, EventArgs e)
        {
            Game.GameData.Sectors.Clear();

            #region " Namen generieren "
            string[] part1 ={ "North", "Okkana", "West", "Clay", "East", "Blythe", "Long", "South", "Short", "Wall", "Mil", "Wood", "Walnut", "Indiana", "Green", "Saint", "Trumboro", "Strat", "Norson", "Steam", "Enter", "Pirate", "Canon", "Flag", "Pine", "Water", "Santa", "Carls", "Nash", "Love", "Little", "El", "Lennies", "Elves", "Spring" };
            string[] part2 ={ "rend", "side", "hampton", "end", "shire", "side", " Castle", " Rock", "chester", "ham", "mont", "dale", "bury", "polis", "smith", "down", " Shores", "land", "bad", "staff", " Prime", "church", "grove", "court", "core", "field" };

            List<string> names=new List<string>();
            for (int i = 0; i < part1.Length; i++)
                for (int j = 0; j < part2.Length; j++)
                    names.Add(part1[i] + part2[j]);
            #endregion

            for (int x = 1; x <= Configuration.Map_Size; x++) {
                for (int y = 1; y <= Configuration.Map_Size; y++) {
                    Sector newSector;
                    Coordinate newCoordinate=new Coordinate(x,y);

                    int randomValue = r.Next(1, 40);
                    if (randomValue == 1)
                        newSector = new GoldAndLumberSector(r.NextDouble() * 10,r.NextDouble() * 10,newCoordinate);
                    else if (randomValue == 2 || randomValue == 3)
                        newSector = new MercenarySector(r.Next(3,7),newCoordinate);
                    else if (randomValue == 4 || randomValue == 5)
                        newSector = new HealingSector(r.NextDouble()*3,newCoordinate);
                    else if (randomValue == 6 || randomValue == 7 || randomValue==8)
                        newSector = new GoldSector(r.NextDouble()*3,newCoordinate);
                    else if (randomValue == 9 || randomValue == 10 || randomValue==11)
                        newSector = new LumberSector(r.NextDouble()*3,newCoordinate);
                    else
                        newSector=new Sector(newCoordinate);

                    newSector.Name = names[r.Next(names.Count - 1)];
                    names.Remove(newSector.Name);

                    int numberOfDifferentUnits = r.Next(5);
                    for (int j = 1; j < numberOfDifferentUnits; j++) {
                        Unit u = new Unit(GetNeutralUnit(), newSector, null, DateTime.Now);
                        u.Number = r.Next(1, 10);
                    }

                    Game.GameData.Sectors[newSector.Coordinate] = newSector;
                }
            }
        }
コード例 #2
0
        protected void btnSignUp_Click(object sender, EventArgs e)
        {
            if (Page.IsValid) {
                if (Game.GameData.Players.Count > Configuration.Max_Player) {
                    Game.Message(Master, "There are no more players allowed. You cannot sign up at this moment.", MessageType.Error);
                    return;
                }

                if (!chkPlayerAgreement.Checked) {
                    Game.Message(Master, "You have to read and accept the Player Agreement.", MessageType.Error);
                    return;
                }

                if (Game.GameData.Players.ContainsKey(txtName.Text)) {
                    Game.Message(Master, "There is already a player with this name.", MessageType.Error);
                    return;
                }

                if (Game.GetPlayerByEmail(txtEmail.Text) != null) {
                    Game.Message(Master, "Your eMail address is already in use.", MessageType.Error);
                    return;
                }

                Sector sector = FindFreeSector();
                if (sector == null) {
                    Game.Message(Master, "There is no free sector left.", MessageType.Error);
                    return;
                }

                sector.Destroy();
                string name = sector.Name;
                sector= new GoldAndLumberSector(1,1,sector.Coordinate);
                sector.Name = name;

                Player player = new Player(txtName.Text);
                player.Email = txtEmail.Text;
                player.Password = Session.SessionID.Substring(0, 10);
                //player.Password = "******";

                player.Gold = 500;
                player.Lumber = 150;
                player.Online = DateTime.Now;
                player.Registration = DateTime.Now;
                player.Gfx = Configuration.Default_Gfx_Path;

                sector.Owner = player;

                if (rdbOrcs.Checked) {
                    player.Fraction = Fraction.Orcs;
                    new Building(BuildingType.GreatHall, sector, DateTime.Now);
                    new Building(BuildingType.OrcBarracks, sector, DateTime.Now);
                    new Building(BuildingType.Burrow, sector, DateTime.Now);
                    new Unit(UnitType.Peon, sector, player, DateTime.Now);
                    new Unit(UnitType.Peon, sector, player, DateTime.Now);
                    new Unit(UnitType.Peon, sector, player, DateTime.Now);
                }
                else if (rdbNightElves.Checked) {
                    player.Fraction = Fraction.NightElves;
                    new Building(BuildingType.TreeOfLife, sector, DateTime.Now);
                    new Building(BuildingType.AncientOfWar, sector, DateTime.Now);
                    new Building(BuildingType.MoonWell, sector, DateTime.Now);
                    new Unit(UnitType.Wisp, sector, player, DateTime.Now);
                    new Unit(UnitType.Wisp, sector, player, DateTime.Now);
                    new Unit(UnitType.Wisp, sector, player, DateTime.Now);
                }
                else if (rdbUndead.Checked) {
                    player.Fraction = Fraction.Undead;
                    new Building(BuildingType.Necropolis, sector, DateTime.Now);
                    new Building(BuildingType.HauntedGoldMine, sector, DateTime.Now);
                    new Building(BuildingType.Crypt, sector, DateTime.Now);
                    new Building(BuildingType.Ziggurat, sector, DateTime.Now);
                    new Unit(UnitType.Acolyte, sector, player, DateTime.Now);
                    new Unit(UnitType.Acolyte, sector, player, DateTime.Now);
                    new Unit(UnitType.Ghoul, sector, player, DateTime.Now);
                }
                else if (rdbHumans.Checked) {
                    player.Fraction = Fraction.Humans;
                    new Building(BuildingType.TownHall, sector, DateTime.Now);
                    new Building(BuildingType.HumanBarracks, sector, DateTime.Now);
                    new Building(BuildingType.Farm, sector, DateTime.Now);
                    new Building(BuildingType.Farm, sector, DateTime.Now);
                    new Unit(UnitType.Peasant, sector, player, DateTime.Now);
                    new Unit(UnitType.Peasant, sector, player, DateTime.Now);
                    new Unit(UnitType.Peasant, sector, player, DateTime.Now);
                }

                Game.SendEmail(player.Email, "Your password, " + player.Name+".", "Welcome at Warcraft 3 online.\r\n\r\nYour Password is: " + player.Password + "\r\nThe first thing you should do after you logged on is to change it. \r\nYou can now start playing at http://wc3o.sachsenhofer.com/. Have fun.");
                new Message(player,null,"Welcome at Warcraft 3 online!","This is your Welcome Message. If you have any more questions, please take a look at the help or the forum.<br />The first thing you should do, is to send your workers to mine some gold and cut some lumber. Then build some more workers or even your first battle units. Your next big step should be to annect another sector with ressources; but be careful, it's dangerous out there!");
                System.IO.StreamWriter w = new System.IO.StreamWriter(Configuration.Physical_Application_Path + "\\App_Data\\Email Addresses.txt", true);
                w.WriteLine(player.Email);
                w.Close();

                Response.Redirect("~/Portal/Players/SignUpSuccessful.aspx", true);

            }
            else {
                Game.Message(Master, "Your data is not valid.", MessageType.Error);
            }
        }