Exemplo n.º 1
0
 public MainPack GetCard(MainPack pack)
 {
     try
     {
         string uid = pack.Loginpack.Uid;
         Console.WriteLine("玩家id" + uid);
         int count = 0, needDiamonds = 0;
         if (pack.Loginpack.Cardnum == "1")
         {
             count        = 1;
             needDiamonds = 100;
         }
         else
         {
             count        = 10;
             needDiamonds = 900;
         }
         int newDiamonds = IsEnoughDiamonds(needDiamonds, uid);
         if (newDiamonds == -1)
         {
             pack.Returncode = ReturnCode.Fail;
             return(pack);
         }
         Console.WriteLine("抽卡数额" + count);
         pack.Characterdata.Clear();
         for (int i = 0; i < count; i++)
         {
             int num = RandomCard();
             Console.WriteLine("随机抽卡id" + num);
             InsertCard(uid, num.ToString());
             string          sqlReadC = string.Format("select * from role where CID = {0}", num);
             MySqlCommand    comd     = new MySqlCommand(sqlReadC, mysqlCon);
             MySqlDataReader read     = comd.ExecuteReader();
             read.Read();
             SocketGameProtocol1.CharacterData data = new SocketGameProtocol1.CharacterData();
             data.Name = read["name"].ToString();
             data.Type = Convert.ToInt32(read["type"]);
             pack.Characterdata.Add(data);
             read.Close();
         }
         pack.Loginpack.Diamonds = newDiamonds.ToString();
         pack.Returncode         = ReturnCode.Succeed;
         return(pack);
     }
     catch
     {
         Console.WriteLine("抽卡数据失败");
         pack.Returncode = ReturnCode.Fail;
         return(pack);
     }
 }
Exemplo n.º 2
0
        //private void ConnectMysql()//连接数据库
        //{
        //    try
        //    {
        //        string mySqlString = string.Format("database={0};data source={1};user id={2};password={3};port={4};CharSet=utf8;",
        //       database, host, userName, password, port);
        //        mysqlCon = new MySqlConnection(mySqlString);
        //        mysqlCon.Open();
        //        Console.WriteLine("数据库连接成功!");
        //    }
        //    catch (Exception e)
        //    {
        //        Console.WriteLine("连接数据库失败!");
        //    }
        //}

        public MainPack GetCharacterData(MainPack pack)
        {
            try
            {
                string        userName = pack.Loginpack.Username;
                List <string> CIDs     = new List <string>();
                List <int>    exps     = new List <int>();
                Console.WriteLine(userName);
                string          sqlCheck = string.Format("select * from ucpackage where UID={0}", userName);
                MySqlCommand    comd     = new MySqlCommand(sqlCheck, mysqlCon);
                MySqlDataReader read     = comd.ExecuteReader();
                while (read.Read())
                {
                    CIDs.Add(read[1].ToString());
                    Console.WriteLine(read[1].ToString());

                    exps.Add(Convert.ToInt32(read[2]));
                    pack.Returncode = ReturnCode.Succeed;
                }
                read.Close();


                //读取角色数据
                //List<Character> characters = new List<Character>();
                pack.Characterdata.Clear();
                for (int i = 0; i < CIDs.Count; i++)
                {
                    string sqlReadC = string.Format("select * from role where CID = {0}", CIDs[i]);
                    Console.WriteLine(sqlReadC);
                    comd = new MySqlCommand(sqlReadC, mysqlCon);
                    Console.WriteLine("reading");
                    read = comd.ExecuteReader();
                    Console.WriteLine("reading");
                    read.Read();
                    SocketGameProtocol1.CharacterData data = new SocketGameProtocol1.CharacterData();
                    data.CID            = Convert.ToInt32(read["CID"]);
                    data.Level          = Convert.ToInt32(read["level"]);
                    data.Exp            = Convert.ToInt32(read["exp"]);
                    data.Cost           = Convert.ToInt32(read["cost"]);
                    data.Life           = Convert.ToInt32(read["life"]);
                    data.Name           = read["name"].ToString();
                    data.Type           = Convert.ToInt32(read["type"]);
                    data.AttackPow      = Convert.ToInt32(read["attack_pow"]);
                    data.Defend         = Convert.ToInt32(read["defend"]);
                    data.AttackArea     = Convert.ToSingle(read["attack_area"]);
                    data.AttackInterval = Convert.ToSingle(read["attack_interval"]);
                    data.RoleExp        = exps[i];
                    //Character character = new Character(data);
                    pack.Characterdata.Add(data);
                    read.Close();
                }
                pack.Returncode = ReturnCode.Succeed;
                return(pack);
            }
            catch
            {
                Console.WriteLine("读取角色数据失败");
                pack.Returncode = ReturnCode.Fail;
                return(pack);
            }
        }
Exemplo n.º 3
0
 public Character(SocketGameProtocol1.CharacterData data)
 {
     character = data;
 }