Exemple #1
0
    void dealCard()
    {
        if (layout_DealCardHolder.childCount > 0)
        {
            Image[] childImageArr = layout_DealCardHolder.GetComponentsInChildren <Image> ();
            for (int i = 0; i < childImageArr.Length; i++)
            {
                if (childImageArr [i] != null)
                {
                    DestroyImmediate(childImageArr [i].gameObject);
                }
            }
        }
        thisPlayerRoundCardList = new List <CardHolder> ();
        for (int i = 0; i < cardCountPerRound; i++)
        {
            GameObject newCardGObj = Instantiate(cardPrefab.gameObject);
            newCardGObj.transform.SetParent(layout_DealCardHolder, false);
            CardHolder newCardHolder = newCardGObj.GetComponent <CardHolder> ();
            newCardHolder.SetCard(thisPlayerGenerateCardArr [i], i);
            thisPlayerRoundCardList.Add(newCardHolder);

            if (newCardHolder.Card.cardType == CardType.Bullet || newCardHolder.Card.cardType == CardType.UselessBullet)
            {
                continue;
            }

            newCardGObj.GetComponent <Button> ().onClick.AddListener(delegate {
                onCardClick(newCardHolder);
            });

            newCardHolder.Btn_PlayCard.onClick.AddListener(delegate {
                onCardPlay(newCardHolder);
            });
        }
    }
Exemple #2
0
 public override void Issue(CardHolder holder, DateTime startDate, DateTime endDate, int pin)
 {
     // Cannot issue a issued card
 }
 public override void Invoke(CardHolder executor, ICollection <CardHolder> targets)
 {
     executor.GainBlock(BlockValue);
 }
Exemple #4
0
    public override void Use(CardHolder myHolder)
    {
        base.Use(myHolder);

        //EffectManager.instance.AddEffect(myHolder, Effect.Type.SpellPower, spellPower, 0);
    }
Exemple #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            merchantId            = Request.Form["txtCodigocomercio"];
            endpointurl           = ConfigurationManager.AppSettings["endpointurl"];
            user                  = ConfigurationManager.AppSettings["user"];
            password              = ConfigurationManager.AppSettings["password"];
            credentials           = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(user + ":" + password));
            amountPay             = Convert.ToDouble(Request.Form["txtMontoInicial"]);
            recurrentMaxAmountPay = Convert.ToDouble(Request.Form["txtMontoMaximo"]);

            ServicePointManager.Expect100Continue      = true;
            ServicePointManager.SecurityProtocol       = (SecurityProtocolType)3072;
            ServicePointManager.DefaultConnectionLimit = 9999;

            url = "https://" + endpointurl + "/api.security/v1/security";

            HttpWebRequest request;

            request        = WebRequest.Create(url) as HttpWebRequest;
            request.Method = "POST";
            request.Headers.Add("Authorization", "Basic " + credentials);
            StreamWriter writer;

            writer = new StreamWriter(request.GetRequestStream());
            writer.Close();

            HttpWebResponse response;
            StreamReader    reader;
            string          respuesta;

            try
            {
                response             = request.GetResponse() as HttpWebResponse;
                reader               = new StreamReader(response.GetResponseStream());
                respuesta            = reader.ReadToEnd();
                Session["sesionPay"] = respuesta;
                reader.Close();

                MerchantDefineData objMerchantDefineData = new MerchantDefineData();
                objMerchantDefineData.MDD19 = "LIM";
                objMerchantDefineData.MDD20 = "AQP";
                objMerchantDefineData.MDD21 = "AFKI345";

                Antifraud objAntifraud = new Antifraud();
                string    IP4Address   = GetIP4Address();
                Session["IP4Address"]           = IP4Address;
                objAntifraud.clientIp           = IP4Address;
                objAntifraud.merchantDefineData = objMerchantDefineData;

                SesionTokenRequest objSesionTokenRequest = new SesionTokenRequest();
                objSesionTokenRequest.channel             = Request.Form["cboCanalafiliacion"];
                objSesionTokenRequest.amount              = amountPay;
                objSesionTokenRequest.recurrenceMaxAmount = recurrentMaxAmountPay;
                objSesionTokenRequest.antifraud           = objAntifraud;

                string body = JsonHelper.JsonSerializer <SesionTokenRequest>(objSesionTokenRequest);

                url                 = "https://" + endpointurl + "/api.ecommerce/v2/ecommerce/token/session/" + merchantId;
                request             = WebRequest.Create(url) as HttpWebRequest;
                request.Method      = "POST";
                request.ContentType = "application/json";
                request.Headers.Add("Authorization", respuesta);
                writer = new StreamWriter(request.GetRequestStream());
                writer.Write(body);
                writer.Close();

                string resultado;
                try
                {
                    response = request.GetResponse() as HttpWebResponse;
                    reader   = new StreamReader(response.GetResponseStream());
                    var buffer = reader.ReadToEnd();
                    resultado = buffer.ToString();
                    reader.Close();

                    DataContractJsonSerializer service = new DataContractJsonSerializer(typeof(SesionTokenResponse));
                    MemoryStream        memory         = new MemoryStream(Encoding.UTF8.GetBytes(resultado));
                    SesionTokenResponse objResultado   = (SesionTokenResponse)service.ReadObject(memory);

                    /*Llenado de variables del botón*/
                    sessionToken    = objResultado.sessionKey;
                    channel         = Request.Form["cboCanalafiliacion"];
                    buttonSize      = Request.Form["cboTamanhoPresentacion"];
                    buttonColor     = Request.Form["cboColorPresentacion"];
                    merchantLogo    = Request.Form["txtUrllogo"];
                    merchantName    = Request.Form["txtNombrecomercio"];
                    formButtonColor = Request.Form["txtColorboton"];
                    Random random = new Random();
                    purchasenumber      = random.Next(1000, 9999).ToString();
                    amount              = amountPay.ToString();
                    recurrence          = "TRUE";
                    recurrencetype      = Request.Form["cboTipo"];
                    recurrencefrequency = Request.Form["cboFrecuencia"];
                    recurrencemaxamount = recurrentMaxAmountPay.ToString();
                    recurrenceamount    = Request.Form["txtMontoCargo"];
                    expirationminutes   = Request.Form["txtTimeout"];
                    timeouturl          = Request.Form["txtUrltimeout"];
                    /*Fin de llenado de variables del botón*/

                    CardHolder objCardHolder = new CardHolder();
                    objCardHolder.documentType   = Request.Form["cboTipodocumento"];
                    objCardHolder.documentNumber = Request.Form["txtNumerodocumento"];

                    string _cardHolder = JsonHelper.JsonSerializer <CardHolder>(objCardHolder);
                    Session["_cardHolder"] = _cardHolder;

                    Recurrence objRecurrence = new Recurrence();
                    objRecurrence.beneficiaryId = Request.Form["txtIdbeneficiario"];
                    objRecurrence.type          = Request.Form["cboTipo"];
                    objRecurrence.frequency     = Request.Form["cboFrecuencia"];
                    objRecurrence.maxAmount     = recurrentMaxAmountPay.ToString();
                    objRecurrence.amount        = Request.Form["txtMontoCargo"];

                    string _recurrence = JsonHelper.JsonSerializer <Recurrence>(objRecurrence);
                    Session["_recurrence"] = _recurrence;

                    Order objOrder = new Order();
                    objOrder.productId      = Request.Form["txtCodigoProducto"];
                    objOrder.purchaseNumber = purchasenumber;
                    objOrder.amount         = amountPay;
                    objOrder.currency       = Request.Form["cboMonedacomercio"];

                    string _order = JsonHelper.JsonSerializer <Order>(objOrder);
                    Session["_order"]      = _order;
                    Session["_merchantId"] = merchantId;
                }
                catch (WebException ex)
                {
                    resultado = ex.Message.ToString();
                }
            }
            catch (WebException ex)
            {
                respuesta = ex.Message.ToString();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            HttpContext context = HttpContext.Current;
            //string IP4Address = (string)(context.Session["IP4Address"]);
            string sesionPay = (string)(context.Session["sesionPay"]);

            string transactionToken = Request.Form["transactionToken"];
            //string customerEmail = Request.Form["customerEmail"];
            string channel = Request.Form["channel"];

            string _cardHolder = (string)(context.Session["_cardHolder"]);
            string _recurrence = (string)(context.Session["_recurrence"]);
            string _order      = (string)(context.Session["_order"]);

            DataContractJsonSerializer serCardHolder = new DataContractJsonSerializer(typeof(CardHolder));
            MemoryStream msCardHolder   = new MemoryStream(Encoding.UTF8.GetBytes(_cardHolder));
            CardHolder   _objCardHolder = (CardHolder)serCardHolder.ReadObject(msCardHolder);

            DataContractJsonSerializer serRecurrence = new DataContractJsonSerializer(typeof(Recurrence));
            MemoryStream msRecurrence   = new MemoryStream(Encoding.UTF8.GetBytes(_recurrence));
            Recurrence   _objRecurrence = (Recurrence)serRecurrence.ReadObject(msRecurrence);

            DataContractJsonSerializer serOrder = new DataContractJsonSerializer(typeof(Order));
            MemoryStream msOrder   = new MemoryStream(Encoding.UTF8.GetBytes(_order));
            Order        _objOrder = (Order)serOrder.ReadObject(msOrder);

            Order objOrder = new Order();

            objOrder.tokenId        = transactionToken;
            objOrder.productId      = _objOrder.productId; //341198214 - REC VISANET
            objOrder.purchaseNumber = _objOrder.purchaseNumber;
            objOrder.amount         = _objOrder.amount;
            objOrder.currency       = _objOrder.currency;

            CardHolder objCardHolder = new CardHolder();

            objCardHolder.documentType   = _objCardHolder.documentType; //0= DNI, 1= Canet de extranjería, 2= Pasaporte
            objCardHolder.documentNumber = _objCardHolder.documentNumber;

            Recurrence objRecurrence = new Recurrence();

            objRecurrence.beneficiaryId = _objRecurrence.beneficiaryId;
            objRecurrence.type          = _objRecurrence.type;
            objRecurrence.frequency     = _objRecurrence.frequency;
            objRecurrence.maxAmount     = _objRecurrence.maxAmount;
            objRecurrence.amount        = _objRecurrence.amount;

            //MerchantDefineData objMerchantDefineData = new MerchantDefineData();
            //objMerchantDefineData.MDD19 = "LIM";
            //objMerchantDefineData.MDD20 = "AQP";
            //objMerchantDefineData.MDD21 = "AFKI345";

            //Antifraud objAntifraud = new Antifraud();
            //objAntifraud.clientIp = IP4Address;
            //objAntifraud.merchantDefineData = objMerchantDefineData;

            AuthorizationRequest objAuthorizationRequest = new AuthorizationRequest();

            objAuthorizationRequest.terminalId         = "1";
            objAuthorizationRequest.channel            = channel;
            objAuthorizationRequest.terminalUnattended = false;
            objAuthorizationRequest.captureType        = "manual";
            objAuthorizationRequest.countable          = true;
            objAuthorizationRequest.order      = objOrder;
            objAuthorizationRequest.cardHolder = objCardHolder;
            objAuthorizationRequest.recurrence = objRecurrence;
            //objAuthorizationRequest.antifraud = objAntifraud;

            string body = JsonHelper.JsonSerializer <AuthorizationRequest>(objAuthorizationRequest);

            merchantId  = ConfigurationManager.AppSettings["merchantId"];
            endpointurl = ConfigurationManager.AppSettings["endpointurl"];
            url         = "https://" + endpointurl + "/api.authorization/v3/authorization/ecommerce/" + merchantId;
            HttpWebRequest request;

            request             = WebRequest.Create(url) as HttpWebRequest;
            request.Method      = "POST";
            request.ContentType = "application/json";
            request.Headers.Add("Authorization", sesionPay);
            StreamWriter writer;

            writer = new StreamWriter(request.GetRequestStream());
            writer.Write(body);
            writer.Close();

            HttpWebResponse response;
            StreamReader    reader;
            string          respuesta;

            try
            {
                response  = request.GetResponse() as HttpWebResponse;
                reader    = new StreamReader(response.GetResponseStream());
                respuesta = reader.ReadToEnd();
                reader.Close();
            }
            catch (WebException ex)
            {
                reader    = new StreamReader(ex.Response.GetResponseStream(), true);
                respuesta = reader.ReadToEnd();
                reader.Close();
            }

            Response.Clear();
            Response.ContentType = "application/json; charset=utf-8";
            Response.Write(respuesta);
            Response.End();
        }
 private void Start()
 {
     originalCard       = FindObjectOfType <CardHolder>();
     selectedCard       = null;
     deleteSelectedCard = false;
 }
Exemple #8
0
    public virtual void Use(CardHolder myHolder)
    {
        myHolder.DissolveCard();

        #region Testing Orders
        //for (int i = 0; i < orderList.Count; i++)
        //{
        //    for (int ii = 0; ii < damageAddons.Count; ii++)
        //    {
        //        if (damageAddons[ii].order == i)
        //        {
        //            damageAddons[ii].Use();
        //        }
        //    }

        //    for (int ii = 0; ii < healAddons.Count; ii++)
        //    {
        //        if (healAddons[ii].order == i)
        //        {
        //            healAddons[ii].Use();
        //        }
        //    }

        //    for (int ii = 0; ii < dotAddons.Count; ii++)
        //    {
        //        if (dotAddons[ii].order == i)
        //        {
        //            dotAddons[ii].Use();
        //        }
        //    }

        //    for (int ii = 0; ii < hotAddons.Count; ii++)
        //    {
        //        if (hotAddons[ii].order == i)
        //        {
        //            hotAddons[ii].Use();
        //        }
        //    }
        //}
        #endregion

        for (int i = 0; i < damageAddons.Count; i++)
        {
            damageAddons[i].Use();
        }

        for (int i = 0; i < healAddons.Count; i++)
        {
            healAddons[i].Use();
        }

        for (int i = 0; i < dotAddons.Count; i++)
        {
            dotAddons[i].Use();
        }

        for (int i = 0; i < hotAddons.Count; i++)
        {
            hotAddons[i].Use();
        }

        for (int i = 0; i < spellPowerAddons.Count; i++)
        {
            spellPowerAddons[i].Use();
        }

        for (int i = 0; i < drawAddons.Count; i++)
        {
            drawAddons[i].Use();
        }

        for (int i = 0; i < stealCardAddons.Count; i++)
        {
            stealCardAddons[i].Use();
        }
    }
Exemple #9
0
 public void Awake()
 {
     m_holder = GetComponentInParent <CardHolder>();
 }
Exemple #10
0
 public void Refill(CardHolder otherHolder, int numCardsToFill, Action onFinished)
 {
     StartCoroutine(RefillInternal(otherHolder, numCardsToFill, onFinished));
 }
Exemple #11
0
 public void RefillWith(CardHolder otherHolder, int numCardsToLeave, Action onFinished)
 {
     StartCoroutine(RefillWithInternal(otherHolder, numCardsToLeave, onFinished));
 }
Exemple #12
0
 public void DealTo(CardHolder holder, out TweenHolder outTween, bool?visibleDuringTween)
 {
     MoveCard(ReadOnlyCards.LastIndex(), holder, out outTween, visibleDuringTween);
 }
Exemple #13
0
    public override void Use(CardHolder myHolder)
    {
        base.Use(myHolder);

        FightManager.instance.StartCoroutine(FightManager.instance.myDeck.GetNewCard(amountToDraw));
    }
Exemple #14
0
    public override void Setup(CardHolder myHolder)
    {
        base.Setup(myHolder);

        //myHolder.CreateAttribute(0, amountToDraw, 1);
    }
Exemple #15
0
 public void SetParent(CardHolder parent)
 {
     transform.SetParent(parent.transform, false);
     transform.localPosition = Vector3.zero;
     transform.localScale    = Vector3.one;
 }
Exemple #16
0
 /// <summary>
 /// 使用药水
 /// </summary>
 /// <param name="executor">药水使用者</param>
 /// <param name="targets">药水目标</param>
 public void Use(CardHolder executor, ICollection <CardHolder> targets)
 {
     PosionEffect.Invoke(executor, targets);
 }
 public Account(CardHolder cardHolder, string bankname, decimal balance, decimal maxWithdrawal) : base(cardHolder)
 {
     Balance      = balance;
     BankName     = bankname;
     MaxWithdawal = maxWithdrawal;
 }
Exemple #18
0
    public virtual void Setup(CardHolder myHolder)
    {
        #region Setting up the addons
        for (int i = 0; i < damageAddons.Count; i++)
        {
            damageAddons[i].myHolder = myHolder;
            damageAddons[i].Setup();

            //orderList.Add(damageAddons[i].order);
        }

        for (int i = 0; i < healAddons.Count; i++)
        {
            healAddons[i].myHolder = myHolder;
            healAddons[i].Setup();

            //orderList.Add(healAddons[i].order);
        }

        for (int i = 0; i < dotAddons.Count; i++)
        {
            dotAddons[i].myHolder = myHolder;
            dotAddons[i].Setup();

            //orderList.Add(dotAddons[i].order);
        }

        for (int i = 0; i < hotAddons.Count; i++)
        {
            hotAddons[i].myHolder = myHolder;
            hotAddons[i].Setup();

            //orderList.Add(hotAddons[i].order);
        }

        for (int i = 0; i < spellPowerAddons.Count; i++)
        {
            spellPowerAddons[i].myHolder = myHolder;
            spellPowerAddons[i].Setup();

            //orderList.Add(spellPowerAddons[i].order);
        }

        for (int i = 0; i < drawAddons.Count; i++)
        {
            drawAddons[i].myHolder = myHolder;
            drawAddons[i].Setup();

            //orderList.Add(drawAddons[i].order);
        }

        for (int i = 0; i < stealCardAddons.Count; i++)
        {
            stealCardAddons[i].myHolder = myHolder;
            stealCardAddons[i].Setup();

            //orderList.Add(stealCardAddons[i].order);
        }
        //orderList.Sort();
        #endregion
    }
 private MoveCardCommand(CardHolder fromHolder, CardController fromCard, CardHolder toHolder, int toIndex = -1, bool?visibleDuringTween = null)
     : this(fromHolder, fromHolder.ReadOnlyCards.IndexOf(fromCard), toHolder, toIndex, visibleDuringTween)
 {
 }
Exemple #20
0
 private void Construct(CardHolder cardHolder)
 {
     _text       = GetComponentInChildren <Text>(true);
     _cardHolder = cardHolder;
 }
 public DealToCommand(Deck deckToDealFrom, CardHolder cardHolderToDealTo, bool?visibleDuringTween = null)
 {
     _deckToDealFrom     = deckToDealFrom;
     _cardHolderToDealTo = cardHolderToDealTo;
     _visibleDuringTween = visibleDuringTween;
 }
Exemple #22
0
    private void CreateCardHolders()
    {
        int i;

        _spreadCardHolders     = new List <CardHolder>();
        _commonDeckCardHolders = new List <CardHolder>();
        _playerCardHolders     = new List <CardHolder>();
        _opponentCardHolders   = new List <CardHolder>();



        for (i = 0; i < GameConfig.SPREAD_SIZE; i++)
        {
            var        instance = GameObject.Instantiate(_cardHolderPrefab);
            CardHolder holder   = instance.GetComponent <CardHolder>();

            holder.RectTransform.SetParent(_cardsSpreadContainer);
            holder.RectTransform.localScale = Vector3.one;

            holder.Visible  = true;
            holder.OnReady += CheckHolderReady;
            _spreadCardHolders.Add(holder);
        }

        for (i = 0; i < GameConfig.COMMON_DECK_SIZE; i++)
        {
            var        instance = GameObject.Instantiate(_cardHolderPrefab);
            CardHolder holder   = instance.GetComponent <CardHolder>();

            holder.RectTransform.SetParent(_commonDeckContainer);
            holder.RectTransform.localScale = Vector3.one;

            holder.Visible  = true;
            holder.OnReady += CheckHolderReady;
            _commonDeckCardHolders.Add(holder);
        }

        for (i = 0; i < GameConfig.PLAYER_DECK_SIZE; i++)
        {
            var        instance = GameObject.Instantiate(_cardHolderPrefab);
            CardHolder holder   = instance.GetComponent <CardHolder>();

            holder.RectTransform.SetParent(_playerDeckContainer);
            holder.RectTransform.localScale = Vector3.one;

            holder.Visible  = true;
            holder.OnReady += CheckHolderReady;
            _playerCardHolders.Add(holder);
        }

        for (i = 0; i < GameConfig.PLAYER_DECK_SIZE; i++)
        {
            var        instance = GameObject.Instantiate(_cardHolderPrefab);
            CardHolder holder   = instance.GetComponent <CardHolder>();

            holder.RectTransform.SetParent(_opponentDeckContainer);
            holder.RectTransform.localScale = Vector3.one;

            holder.Visible  = true;
            holder.OnReady += CheckHolderReady;
            _opponentCardHolders.Add(holder);
        }
    }
 public abstract void RemoveBuffEffect(CardHolder buffOwner);
Exemple #24
0
    public override void Setup(CardHolder myHolder)
    {
        base.Setup(myHolder);

        myHolder.CreateAttribute(CardAttribute.Type.SpellPower, spellPower);
    }
Exemple #25
0
 public PlayerIndexCardHolderMap(int targetIndex, CardHolder targetCardHolder)
 {
     playerIndex = targetIndex;
     cardHolder  = targetCardHolder;
 }
 private void SetCardProperties(CardHolder cardHolder)
 {
     cardHolder.gameObject.transform.SetParent(cardsPanel.transform, false);
     cardHolder.gameObject.SetActive(true);
     cardHolder.cardNumber = cardNumbering;
 }
    public override void Setup(CardHolder myHolder)
    {
        base.Setup(myHolder);

        myHolder.CreateAttribute(CardAttribute.Type.Damage, damage);
    }
        public string runText_Clear()
        {
            Security    objSecurity    = new Security();
            AccessToken objAccessToken = new AccessToken();

            objSecurity = objAccessToken.getAccessToken();

            Random random = new Random();

            Order objOrder = new Order();

            objOrder.purchaseNumber        = random.Next(1000, 9999).ToString();
            objOrder.amount                = 0.20;
            objOrder.currency              = "PEN";
            objOrder.externalTransactionId = Guid.NewGuid().ToString().ToUpper();

            Card objCard = new Card();

            objCard.cardNumber      = "4242424242424242";
            objCard.expirationMonth = 12;
            objCard.expirationYear  = 20;
            objCard.cvv2            = "123";

            CardHolder objCardHolder = new CardHolder();

            objCardHolder.firstName   = "Juan";
            objCardHolder.lastName    = "Perez";
            objCardHolder.email       = "*****@*****.**";
            objCardHolder.phoneNumber = "2132300";

            ValidateRQ objValidate = new ValidateRQ();

            objValidate.channel     = "pasarela";
            objValidate.captureType = "manual";
            objValidate.tokenize    = false;
            objValidate.order       = objOrder;
            objValidate.card        = objCard;
            objValidate.cardHolder  = objCardHolder;

            string endpointurl, body, url, merchantId;

            endpointurl = "apitestenv.vnforapps.com";
            merchantId  = "602545705";

            body = JsonHelper.JsonSerializer <ValidateRQ>(objValidate);

            url = "https://" + endpointurl + "/api.validate/v1/validate/ecommerce/" + merchantId;
            HttpWebRequest request;

            request             = WebRequest.Create(url) as HttpWebRequest;
            request.Method      = "POST";
            request.ContentType = "application/json";
            request.Headers.Add("Authorization", objSecurity.accessToken);
            StreamWriter writer;

            writer = new StreamWriter(request.GetRequestStream());
            writer.Write(body);
            writer.Close();

            HttpWebResponse response;
            StreamReader    reader;
            string          resultadoAuth;

            try
            {
                response = request.GetResponse() as HttpWebResponse;
                reader   = new StreamReader(response.GetResponseStream());
                var bufferAuth = reader.ReadToEnd();
                resultadoAuth = bufferAuth.ToString();
                reader.Close();
            }
            catch (WebException ex)
            {
                resultadoAuth = ex.Message.ToString();
            }

            return(resultadoAuth);
        }
 public Task DeleteAsync(CardHolder model)
 {
     model.IsDeleted = true;
     return(Task.FromResult(0));
 }
Exemple #30
0
 private void Awake()
 {
     cardHolder = GetComponent <CardHolder>();
 }
Exemple #31
0
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            graphics.PreferredBackBufferWidth = 1280;
            graphics.PreferredBackBufferHeight = 720;
            graphics.ApplyChanges();

            CardWidth = Convert.ToInt32(graphics.PreferredBackBufferWidth / 6);
            CardHeight = Convert.ToInt32(graphics.PreferredBackBufferHeight / 2);

            CardSeperation = (graphics.PreferredBackBufferWidth - (CardWidth * 5)) / 6;

            this.IsMouseVisible = true;
            int Seed = (int)DateTime.Now.Ticks;
            Random rnd = new Random(Seed);
            for (int i = 0; i < cards.Length; i++)
            {

                int type = rnd.Next(1,4);

                cards[i] = new Card(type);
                cards[i].DeckPosX = Convert.ToInt32(graphics.PreferredBackBufferWidth/2 - (CardWidth/2*2.5) + (CardWidth/2* i) + (CardSeperation/2*i) - CardWidth/4);
                cards[i].xPos = cards[i].DeckPosX;
                cards[i].DeckPosY = graphics.PreferredBackBufferHeight - CardHeight / 10 * 4;
                cards[i].yPos = cards[i].DeckPosY;
                cards[i].Width = CardWidth / 2;
                cards[i].Height = CardHeight / 2;
                cards[i].InDeck = true;

                holders[i] = new CardHolder(((i + 1) * CardSeperation) + (i * CardWidth), CardHeight / 100 * 2, CardWidth, CardHeight);

            }

            int w = CardWidth / 3;
            int h = CardHeight / 3;
            for (int i = 0; i < opHolders.Length; i++)
            {
                opHolders[i] = new CardHolder(holders[i].xPos + holders[i].Width - ((w - CardSeperation) / 2), Convert.ToInt32(holders[i].yPos + holders[i].Height * 1.2), w, h);
            }

            string comb = Comb[rnd.Next(0, Comb.Length + 1)];
            Debug.WriteLine(comb);
            int[] index = new int[5];
            for(int i = 0; i < comb.Length; i++)
            {
                index[i] = Convert.ToInt32(comb.Substring(i, 1));
            }

            Goal = cards[index[0]].GetRating() + cards[index[1]].GetRating() - cards[index[2]].GetRating() * cards[index[3]].GetRating() / cards[index[4]].GetRating();

            Debug.WriteLine(Goal);

            base.Initialize();
        }