示例#1
0
        public DesignXPage()
        {
            InitializeComponent();
            NavigationPage.SetHasNavigationBar(this, false);
            viewModel           = new MainPageViewModel();
            this.BindingContext = viewModel;

            //this.BackgroundColor = Color.White;

            cardStack = new CardStackView();
            cardStack.SetBinding(CardStackView.ItemsSourceProperty, "ItemsList");
            cardStack.SwipedLeft  += SwipedLeft;
            cardStack.SwipedRight += SwipedRight;

            view.Children.Add(cardStack,
                              Constraint.Constant(0),
                              Constraint.Constant(0),
                              Constraint.RelativeToParent((parent) =>
            {
                return(parent.Width);
            }),
                              Constraint.RelativeToParent((parent) =>
            {
                return(parent.Height);
            })
                              );

            this.LayoutChanged += (object sender, EventArgs e) =>
            {
                cardStack.CardMoveDistance = (int)(this.Width * 0.60f);
            };
        }
示例#2
0
    IEnumerator DealersTurn()
    {
        CardStackView view = dealer.GetComponent <CardStackView> ();

        view.Flip(dealersFirstCard);
        yield return(new WaitForSeconds(1f));

        while (dealer.HandValue() < 17 && player.HandValue() <= 21)
        {
            HitDealer();
            yield return(new WaitForSeconds(1f));
        }
        if ((dealer.HandValue() > player.HandValue() && dealer.HandValue() <= 21) || player.HandValue() > 21)
        {
            winText.text = "YOU LOSE";
        }
        else if (player.HandValue() > dealer.HandValue() || dealer.HandValue() > 21)
        {
            winText.text = "YOU WIN";
        }
        else
        {
            winText.text = "IT'S A TIE";
        }
        playAgainButton.interactable = true;
    }
示例#3
0
        private void CardsStackView()
        {
            this.BindingContext  = viewModel;
            this.BackgroundColor = Color.Black;

            RelativeLayout view = new RelativeLayout();

            cardStack = new CardStackView();
            cardStack.SetBinding(CardStackView.ItemsSourceProperty, "ItemsList");
            cardStack.SwipedLeft  += SwipedLeft;
            cardStack.SwipedRight += SwipedRight;

            view.Children.Add(cardStack,
                              Constraint.Constant(30),
                              Constraint.Constant(60),
                              Constraint.RelativeToParent((parent) =>
            {
                return(parent.Width - 60);
            }),
                              Constraint.RelativeToParent((parent) =>
            {
                return(parent.Height - 140);
            }));

            this.LayoutChanged += (object sender, System.EventArgs e) =>
            {
                cardStack.CardMoveDistance = (int)(this.Width * 0.60f);
            };

            this.Content = view;
        }
示例#4
0
    void HitDealer()
    {
        CheckForCardCount();
        int card = deck.Pop();

        if (dealersFirstCard < 0)
        {
            dealersFirstCard = card;
        }

        dealer.Push(card, true);

        if (dealer.CardCount == 2)
        {
            for (int j = 0; j < numberOfPlayers; j++)
            {
                if (!activePlayerArray[j].GetComponent <CardStack>().IsBlackjack())
                {
                    activePlayer = j;
                    break;
                }
            }
            int cardRankToBeDisplayed = dealer.HandValue() - dealersFirstCardHandValue;
            if ((cardRankToBeDisplayed == 1) || (cardRankToBeDisplayed == 11))  //checkForInsurance
            {
                DisableAllButtons();
                for (int k = 0; k < activePlayerArray.Length; k++)
                {
                    activePlayerArray[k].GetComponent <CardStackView>().DisplayInsurancePanel();
                }
            }
            else if (dealer.HandValue() == 21)
            {
                isDealerBlackjack = true;
                dealer.GetComponent <CardStackView>().DisplayWinMessages("BLACKJACK");
                StartCoroutine(DealersTurn());
            }
            else
            {
                Invoke("SetDelayForHitDealer", cardDrawSpeed / 4);
            }
        }
        if (dealer.CardCount >= 2)
        {
            CardStackView view = dealer.GetComponent <CardStackView>();
            view.Toggle(card, true);
            if (dealer.CardCount > 2)
            {
                view.ActivatePlayer();
            }
        }
        if (dealer.CardCount == 1)
        {
            dealersFirstCardHandValue = dealer.HandValue();
        }
        if (dealer.HandValue() > 21)
        {
            Invoke("DealerBusted", cardDrawSpeed / 4);
        }
    }
示例#5
0
    IEnumerator DealersTurn()
    {
        hitButton.interactable   = false;
        stickButton.interactable = false;

        CardStackView view = dealer.GetComponent <CardStackView>();

        view.Toggle(dealersFirstCard, true);
        view.ShowCards();
        yield return(new WaitForSeconds(1f));

        while (dealer.HandValue() < 17)
        {
            HitDealer();
            yield return(new WaitForSeconds(1f));
        }

        if (player.HandValue() > 21 || (dealer.HandValue() >= player.HandValue() && dealer.HandValue() <= 21))
        {
            winnerText.text = "Sorry-- you lose";
        }
        else if (dealer.HandValue() > 21 || (player.HandValue() <= 21 && player.HandValue() > dealer.HandValue()))
        {
            winnerText.text = "Winner, winner! Chicken dinner";
        }
        else
        {
            winnerText.text = "The house wins!";
        }

        yield return(new WaitForSeconds(1f));

        playAgainButton.interactable = true;
    }
示例#6
0
    IEnumerator DealersTurn()
    {
        CardStackView view = dealer.GetComponent <CardStackView>();

        view.Toggle(dealersFirstCard, true);
        view.ShowCard();    // update함수에서 ShowCard를 불러오지못하므로, 딜러 카드를 수동으로 뒤집기
        DealerScore.text = "Dealer Score : " + dealer.HandValue();
        yield return(new WaitForSeconds(1f));

        while (dealer.HandValue() < 17)
        {
            HitDealer();
            DealerScore.text = "Dealer Score : " + dealer.HandValue();
            yield return(new WaitForSeconds(1f));
        }


        if (player.HandValue() > 21 || (dealer.HandValue() >= player.HandValue() && dealer.HandValue() <= 21))
        {
            isStartedGame = false;
            WholeGameManager.instance.MoneyCheck -= Betting;

            StoreHealth();

            WhosWin.enabled     = false;
            PlayerScore.enabled = false;
            DealerScore.enabled = false;

            ShowLoseWindow();
        }
        else if (dealer.HandValue() > 21 || (player.HandValue() <= 21 && player.HandValue() > dealer.HandValue()))
        {
            isStartedGame = false;
            WholeGameManager.instance.MoneyCheck += Betting;

            StoreHealth();

            WhosWin.enabled     = false;
            PlayerScore.enabled = false;
            DealerScore.enabled = false;

            ShowWinWindow();
        }
        else if (dealer.HandValue() > 17 && player.HandValue() == dealer.HandValue())
        {
            isStartedGame = false;
            WholeGameManager.instance.MoneyCheck -= Betting;

            StoreHealth();

            WhosWin.enabled     = false;
            PlayerScore.enabled = false;
            DealerScore.enabled = false;

            ShowLoseWindow();
        }

        //Debug.Log(WholeGameManager.instance.MoneyCheck);
    }
示例#7
0
 private void InitUi(View view)
 {
     _cardStackView = view.FindViewById <CardStackView>(Resource.Id.activity_main_card_stack_view);
     _animationView = view.FindViewById <LottieAnimationView>(Resource.Id.animation_view);
     _lbNobody      = view.FindViewById <TextView>(Resource.Id.lbNobody);
     _rightButton   = view.FindViewById <Button>(Resource.Id.btnRight);
     _leftButton    = view.FindViewById <Button>(Resource.Id.btnLeft);
     _searchButton  = view.FindViewById <Button>(Resource.Id.searchButton);
 }
示例#8
0
    void CardClicker_CardClicked(object sender, CardEventArgs e)
    {
        switch (playerClickState)
        {
        case GameState.None:
            return;

        case GameState.Ready:
            if (deck.HasCard(e.cardModel))
            {
                stagedCard = e.cardModel;
                deck.StageCard(e.cardModel, turnMarker.transform.position, true);
                playerClickState = GameState.Staged;
                // if (!playersCardsHidden) {
                //   playersCardsHidden = true;
                //   player.flipCards(new RangeInt(0, 2), false);
                // }
            }
            return;

        case GameState.Staged:
            if (stagedCard != null && e.cardModel != stagedCard)
            {
                Vector3 discardPosition = discard.GetComponent <CardStackView>().start;

                if (deck.HasCard(e.cardModel)) // discard
                {
                    deck.MoveCardToStack(
                        new CardMoveToStackEventArgs(e.cardModel, discard, discardPosition, false, -1, -1)
                        );
                    stagedCard       = null;
                    playerClickState = GameState.None;
                }
                else if (player.HasCard(e.cardModel)) // card swap
                {
                    int           indexOfCardClicked  = player.IndexOf(e.cardModel);
                    CardStackView stackView           = player.GetComponent <CardStackView>();
                    Vector3       cardClickedPosition = stackView.CardPositionForIndex(indexOfCardClicked);

                    CardMoveToStackEventArgs playerArgs = new CardMoveToStackEventArgs(
                        e.cardModel, discard, discardPosition, false, indexOfCardClicked, -1
                        );

                    CardMoveToStackEventArgs deckArgs = new CardMoveToStackEventArgs(
                        stagedCard, player, cardClickedPosition, false, -1, indexOfCardClicked
                        );

                    //player.MoveCardToStack(playerArgs); // discard clicked card and flip
                    deck.MoveCardToStack(deckArgs); // add staged card to user stack

                    stagedCard       = null;
                    playerClickState = GameState.None;
                }
            }
            return;
        }
    }
示例#9
0
    IEnumerator DealersTurn()
    {
        hitButton.interactable   = false;
        standButton.interactable = false;
        CardStackView view = dealer.GetComponent <CardStackView>();

        view.Toggle(dealersFirstCard, true);

        if (dealer.CardCount > 2)
        {
            DisplayDealerHandValue();
        }
        dealer.GetComponent <CardStackView>().DisplayCardValue(dealer.HandValue());
        view.ShowCards();
        if (isDealerBlackjack)
        {
            yield return(new WaitForSeconds(1f));

            SetButtonsOnGameOver();
        }
        else
        {
            view.ActivatePlayer();
            while (dealer.HandValue() < 17)
            {
                HitDealer();
                yield return(new WaitForSeconds(1f));
            }
            yield return(new WaitForSeconds(0.4f));

            int i = 0;
            view.DeactivatePlayer();
            while (i < activePlayerArray.Length)
            {
                if (activePlayerArray[i].HandValue() <= 21 && !activePlayerArray[i].GetComponent <CardStack>().IsBlackjack())
                {
                    DisplayWinMessages(i);
                    yield return(new WaitForSeconds(0.5f));

                    i++;
                }
                else
                {
                    i++;
                }
            }
            yield return(new WaitForSeconds(1f));

            SetButtonsOnGameOver();
        }
    }
示例#10
0
    public void HitDealer()
    {
        int card = deck.Pop();

        if (dealerFirstCard < 0)
        {
            dealerFirstCard = card;
        }
        dealer.Push(card);
        if (dealer.cardCount >= 2)
        {
            CardStackView view = dealer.GetComponent <CardStackView>();
            view.Toggle(card, true);
        }
    }
示例#11
0
 void Start()
 {
     if (Instance != null && Instance != this)
     {
         Destroy(gameObject);
     }
     else
     {
         Instance = this;
     }
     start     = GetComponent <RectTransform>();
     cardStack = GetComponent <CardStack>();
     cardStack.CreateDeck();
     ShowCards();
 }
    IEnumerator DealersTurn()
    {
        hitButton.interactable   = false;
        stickButton.interactable = false;

        yield return(new WaitForSeconds(2f));

        CardStackView view = dealer.GetComponent <CardStackView>();

        view.FlipAnimation(dealersFirstCard);
        yield return(new WaitForSeconds(1f));

        dealerScore.text = dealer.HandValue().ToString();
        yield return(new WaitForSeconds(1.5f));

        view.ShowCards();

        while (dealer.HandValue() < 17 || (dealer.HandValue() < player.HandValue() && player.HandValue() <= 21))
        {
            HitDealer();
            dealerScore.text = dealer.HandValue().ToString();
            yield return(new WaitForSeconds(2f));
        }

        //if player is bust or,
        //if player is less than dealer or equal but on an odd number, player loses
        if (player.HandValue() > 21 && player.HandValue() != dealer.HandValue() ||
            (dealer.HandValue() > player.HandValue() && dealer.HandValue() <= 21) ||
            (dealer.HandValue() == player.HandValue() && dealer.HandValue() % 2 == 1))
        {
            winnerText.text = "You've lost";
        }
        //if player is under 22, and has a hand value greater than the dealer's, or the dealer is bust but the player is not,
        //or the player and dealer have the same score but the number is even, the player wins.
        else if ((player.HandValue() <= 21 && player.HandValue() > dealer.HandValue()) ||
                 (dealer.HandValue() > 21 && player.HandValue() <= 21) ||
                 (dealer.HandValue() == player.HandValue() && dealer.HandValue() % 2 == 0))
        {
            winnerText.text = "Winner!";
        }
        else
        {
            winnerText.text = "error";
        }
        yield return(new WaitForSeconds(1f));

        playAgainButton.interactable = true;
    }
示例#13
0
    // 追加 e //

    void HitDealer()
    {
        int card = deck.Pop();

        if (dealersFirstCard < 0)
        {
            dealersFirstCard = card;
        }

        dealer.Push(card);
        if (dealer.CardCount >= 2)
        {
            CardStackView view = dealer.GetComponent <CardStackView>();
            // ディーラーのカードを1枚表にする
            view.Toggle(card, true);
        }
    }
        private void ShowNextCard()
        {
            var topCard = _cards[_topCardIndex];

            _topCardIndex = GetCardIndex(_topCardIndex);

            // If there are more cards to show, show the next card in to place of
            // the card that was swipped off the screen
            if (_itemIndex < _cards.Count)
            {
                // Push it to the back z order
                CardStackView.LowerChild(topCard);

                topCard.IsVisible = false;

                _itemIndex++;
            }
        }
示例#15
0
        private void InitComponent(View view)
        {
            try
            {
                CardStack        = view.FindViewById <CardStackView>(Resource.Id.activity_main_card_stack_view);
                LikeButton       = view.FindViewById <CircleButton>(Resource.Id.likebutton2);
                DesLikeButton    = view.FindViewById <CircleButton>(Resource.Id.closebutton1);
                UndoButton       = view.FindViewById <CircleButton>(Resource.Id.Undobutton1);
                EmptyStateLayout = view.FindViewById <ViewStub>(Resource.Id.viewStub);
                PopularityImage  = view.FindViewById <ImageView>(Resource.Id.coinImage);
                CardViewBig      = view.FindViewById <RelativeLayout>(Resource.Id.CardViewBig);
                FilterButton     = view.FindViewById <ImageView>(Resource.Id.Filterbutton);

                CardStack.SetCardEventListener(this);
                List <SwipeDirection> direction = new List <SwipeDirection> {
                    SwipeDirection.Right, SwipeDirection.Left
                };
                CardStack.SetSwipeDirection(direction);

                BtnLayout = view.FindViewById <LinearLayout>(Resource.Id.buttonLayout);
                ImageView = view.FindViewById <ImageView>(Resource.Id.userImageView);

                WaveDrawableAnimation = new WaveDrawable(Color.ParseColor(AppSettings.MainColor), 800);
                if (Build.VERSION.SdkInt >= BuildVersionCodes.JellyBean)
                {
                    ImageView.Background = WaveDrawableAnimation;
                }
                WaveDrawableAnimation.SetWaveInterpolator(new LinearInterpolator());
                WaveDrawableAnimation.StartAnimation();

                ImageView.Visibility = ViewStates.Visible;
                CardStack.Visibility = ViewStates.Invisible;
                BtnLayout.Visibility = ViewStates.Invisible;

                CardStack.SetStackFrom(StackFrom.Top);
                CardStack.SetVisibleCount(3);
                CardStack.SetTranslationDiff(8.0f);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
示例#16
0
    void HitDealer()
    {
        int card = deck.Pop();

        // 딜러의 첫 번째 카드 오픈
        if (dealersFirstCard < 0)
        {
            dealersFirstCard = card;
        }

        dealer.Push(card);
        SoundManager.PlaySound("drawCard");
        // 딜러가 카드를 한번 뽑은적이 있다면, 앞면이 보이게 함.
        // 딜러의 카드 1장을 가리고, 나머지는 계속 보이게 하기 위함
        if (dealer.CardCount >= 2)
        {
            CardStackView view = dealer.GetComponent <CardStackView>();
            view.Toggle(card, true);
        }
    }
        private void Setup()
        {
            _progressBar = FindViewById <ProgressBar>(Resource.Id.activity_main_progress_bar);

            _cardStackView = FindViewById <CardStackView>(Resource.Id.CardStackView);
            _cardStackView.CardReversed      += (sender, e) => Log.Debug("Debug", "OnCardReversed");
            _cardStackView.CardDragging      += (sender, e) => Log.Debug("Debug", "OnCardDragging");
            _cardStackView.CardMovedToOrigin += (sender, e) => Log.Debug("Debug", "OnCardMovedToOrigin");
            _cardStackView.CardClicked       += (sender, e) => Log.Debug("CardStackView", $"onCardClicked: {e.Index}");
            _cardStackView.CardSwiped        += (sender, e) =>
            {
                Log.Debug("CardStackView", $"onCardSwiped: {e.Direction.ToString()}");
                Log.Debug("CardStackView", $"topIndex: {_cardStackView.TopIndex}");
                if (_cardStackView.TopIndex == _adapter.Count - 5)
                {
                    Log.Debug("CardStackView", "Paginate: " + _cardStackView.TopIndex);
                    Paginate();
                }
            };
        }
        public Dashboard()
        {
            InitializeComponent();


            currentUser = (User)Application.Current.Properties["user"];

            this.BindingContext  = viewModel;
            this.BackgroundColor = Color.Black;

            RelativeLayout view = new RelativeLayout();

            cardStack = new CardStackView();
            cardStack.SetBinding(CardStackView.ItemsSourceProperty, "ItemsList");
            cardStack.SwipedLeft  += SwipedLeft;
            cardStack.SwipedRight += SwipedRight;

            view.Children.Add(cardStack,
                              Constraint.Constant(30),
                              Constraint.Constant(60),
                              Constraint.RelativeToParent((parent) =>
            {
                return(parent.Width - 60);
            }),
                              Constraint.RelativeToParent((parent) =>
            {
                return(parent.Height - 140);
            }));

            this.LayoutChanged += (object sender, System.EventArgs e) =>
            {
                cardStack.CardMoveDistance = (int)(this.Width * 0.60f);
            };

            this.Content = view;

            //ToolbarItem tbi = new ToolbarItem();
            //tbi.Icon = "frienz.png";
            //tbi.Text = "Friends";
            //this.ToolbarItems.Add(tbi);
        }
示例#19
0
    private void SetupGame()
    {
        audioManager = FindObjectOfType <AudioManager>();

        playersCardStack     = playerObject.GetComponent <CardStack>();
        dealersCardStack     = dealerObject.GetComponent <CardStack>();
        playersCardStackView = playerObject.GetComponent <CardStackView>();
        dealersCardStackView = dealerObject.GetComponent <CardStackView>();

        waiting = false;
        Round   = 1; // this setter also means that cardNo == round - 1;

        for (int i = 0; i < playersCardStack.CardsCapacity; i++)
        {
            playersCardStack.Push(dealersCardStack.Pop());  // the push & pop method should indicate to the cardStacks that they should ShowCards() // TODO Investigate
        }
        // called here in case ResetCards() // TODO Raises NullReferenceExcpetion errors!
        playersCardStackView.ShowCards();
        dealersCardStackView.ShowCards();

        //Debug.Log("player.GetCards: " + player.GetCards());  // TODO this is not how you interact with IEnumerable return types
    }
        private void InitializeCards()
        {
            // Init Cards
            _itemIndex = 0;

            // Set the top card
            _topCardIndex = 0;

            // Create a stack of cards
            for (int i = 0; i < Math.Min(NumCards, _cards.Count); i++)
            {
                if (_itemIndex >= _cards.Count)
                {
                    break;
                }

                var card = _cards[i];
                card.IsVisible = true;

                CardStackView.LowerChild(card);
            }
        }
示例#21
0
        private async void ShowNextCard()
        {
            var topCard = _cards[_topCardIndex];

            _topCardIndex = GetCardIndex(_topCardIndex);

            // If there are more cards to show, show the next card in to place of
            // the card that was swipped off the screen
            if (_itemIndex < _cards.Count)
            {
                // Push it to the back z order
                CardStackView.LowerChild(topCard);

                // Reset its scale, opacity and rotation
                topCard.Scale = BackCardScale;
                await topCard.RotateTo(0, 0);

                await topCard.TranslateTo(0, -topCard.Y, 0);

                topCard.IsVisible = true;

                _itemIndex++;
            }
        }
示例#22
0
        private async void InitializeCards(bool isCardVisible)
        {
            // Init Cards
            _itemIndex = 0;

            // Set the top card
            _topCardIndex = 0;

            // Create a stack of cards
            for (int i = 0; i < Math.Min(NumCards, _cards.Count); i++)
            {
                if (_itemIndex >= _cards.Count)
                {
                    break;
                }

                var card = _cards[i];
                card.InputTransparent = (Device.RuntimePlatform == Device.iOS) ? false : true;

                if (isCardVisible)
                {
                    card.IsVisible = true;
                }
                else
                {
                    card.IsVisible = (i != 0) ? false : true;
                }

                card.Scale = GetScale(i);
                await card.RotateTo(0, 0);

                await card.TranslateTo(0, -card.Y, 0);

                CardStackView.LowerChild(card);
            }
        }
示例#23
0
        public MatchStack(ObservableCollection <TreeProfile> faves)
        {
            InitializeComponent();
            Title = "Browse";

            favorites = faves;

            CosmosDBService.GetTrees().ContinueWith((task) =>
            {
                if (!task.IsCompleted)
                {
                    // Usually would display something to indicate error
                    return;
                }
                List <TreeProfile> trees = task.Result;
                if (trees.Count == 0)
                {
                    // Display alert
                    return;
                }
                Debug.Print(trees.Count.ToString());
                CardStackView stack   = new CardStackView();
                stack.VerticalOptions = LayoutOptions.FillAndExpand;

                stack.ItemTemplate = new DataTemplate(() => {
                    Frame frame           = new Frame();
                    RelativeLayout layout = new RelativeLayout();
                    frame.Content         = layout;
                    frame.CornerRadius    = 15;
                    frame.Padding         = 0;

                    ImageSource source = new UriImageSource();
                    source.SetBinding(UriImageSource.UriProperty, "ProfilePic");

                    Label nameLabel = new Label()
                    {
                        FontAttributes = FontAttributes.Bold,
                        FontSize       = 24, TextColor = Color.White
                    };
                    nameLabel.SetBinding(Label.TextProperty, "Name");

                    Label description = new Label()
                    {
                        FontSize  = 18,
                        TextColor = Color.GhostWhite
                    };
                    description.SetBinding(Label.TextProperty, "Description");

                    Label age = new Label()
                    {
                        FontSize  = 24,
                        TextColor = Color.White
                    };
                    age.SetBinding(Label.TextProperty, "Age", BindingMode.Default, new IntToString());

                    Image profilePic = new Image()
                    {
                        Aspect = Aspect.AspectFill
                    };
                    profilePic.Source = source;

                    Image likeStamp = new Image()
                    {
                        Aspect = Aspect.AspectFit
                    };
                    likeStamp.Source = ImageSource.FromResource("Timbr.like.png");
                    likeStamp.SetBinding(Image.IsVisibleProperty, "Status");

                    Image dislikeStamp = new Image()
                    {
                        Aspect = Aspect.AspectFit
                    };
                    dislikeStamp.Source = ImageSource.FromResource("Timbr.nope.png");
                    dislikeStamp.SetBinding(Image.IsVisibleProperty, "Status");

                    layout.Children.Add(profilePic,
                                        Constraint.Constant(0),
                                        Constraint.Constant(0),
                                        Constraint.RelativeToParent((parent) => { return(parent.Width); }),
                                        Constraint.RelativeToParent((parent) => { return(parent.Height); })
                                        );
                    layout.Children.Add(description,
                                        Constraint.RelativeToParent((parent) => { return(parent.X + 10); }),
                                        Constraint.RelativeToParent((parent) => { return(parent.Y + parent.Height -
                                                                                         (parent.Height * 0.15)); })
                                        );
                    layout.Children.Add(nameLabel,
                                        Constraint.RelativeToView(description, (parent, sibling) => { return(sibling.X); }),
                                        Constraint.RelativeToView(description, (parent, sibling) => { return(sibling.Y -
                                                                                                             sibling.Height - 5); })
                                        );
                    layout.Children.Add(age,
                                        Constraint.RelativeToView(nameLabel, (parent, sibling) => { return(sibling.X +
                                                                                                           sibling.Width + 10); }),
                                        Constraint.RelativeToView(nameLabel, (parent, sibling) => { return(sibling.Y); })
                                        );
                    layout.Children.Add(dislikeStamp,
                                        Constraint.RelativeToParent((parent) => { return(parent.Width * 0.6); }),
                                        Constraint.RelativeToParent((parent) => { return(parent.Height * 0.1); }),
                                        Constraint.RelativeToParent((parent) => { return(parent.Width * 0.4); }),
                                        Constraint.RelativeToParent((parent) => { return(parent.Height * 0.5); })
                                        );
                    layout.Children.Add(likeStamp,
                                        Constraint.RelativeToParent((parent) => { return(parent.Width * 0.1); }),
                                        Constraint.RelativeToParent((parent) => { return(parent.Height * 0.1); }),
                                        Constraint.RelativeToParent((parent) => { return(parent.Width * 0.4); }),
                                        Constraint.RelativeToParent((parent) => { return(parent.Height * 0.5); })
                                        );
                    return(frame);
                });
                stack.ItemsSource       = trees;
                stack.Swiped           += processSwipe;
                stack.StartedDragging  += processDragStart;
                stack.FinishedDragging += processDragEnd;
                Device.BeginInvokeOnMainThread(() => Content = stack);
            });
        }
示例#24
0
 private void Awake()
 {
     //I do it in Awake to make sure that the stack is accessible from the controller at Start
     Stack       = GetComponent <CardStack>();
     m_stackView = GetComponent <CardStackView>();
 }
示例#25
0
 private void Setup()
 {
     progressBar   = FindViewById <ProgressBar>(Resource.Id.activity_main_progress_bar);
     cardStackView = FindViewById <CardStackView>(Resource.Id.activity_main_card_stack_view);
     cardStackView.SetCardEventListener(new CardEventListener(OnCardDragging, OnCardSwiped, OnCardReversed, OnCardMovedToOrigin, OnCardClicked));
 }
示例#26
0
 void SwipeRightButton_Clicked(object sender, System.EventArgs e)
 {
     CardStackView.Swipe(SwipeDirection.Right);
 }
示例#27
0
 void RestartButton_Clicked(object sender, EventArgs e)
 {
     CardStackView.Setup();
 }
示例#28
0
    IEnumerator DealersTurn()
    {
        sameButton.interactable = false;
        hitButton.interactable  = false;
        stayButton.interactable = false;

        CardStackView view = dealer.GetComponent <CardStackView>();

        view.Toggle(dealersFirstCard, true);
        view.ShowCards();
        dealerScoreText.text = "House Score: " + dealer.HandValue().ToString();
        yield return(new WaitForSeconds(1f));

        if (player.HandValue() > dealer.HandValue())
        {
            if (choice == "over") //if your hand is larger and you choose "over", you win
            {
                winnerText.text = "CORRECT!!";
                playerwincount++;
            }
            else
            {
                winnerText.text = "WRONG!!";
                dealerwincount++;
            }
        }
        else if (player.HandValue() < dealer.HandValue()) //if your hand is smaller and you choose "under", you win
        {
            if (choice == "under")
            {
                winnerText.text = "CORRECT!!";
                playerwincount++;
            }
            else
            {
                winnerText.text = "WRONG!!";
                dealerwincount++;
            }
        }
        else if (player.HandValue() == dealer.HandValue()) //if your hand is the same as the dealer and you choose "same", you win
        {
            if (choice == "same")
            {
                winnerText.text = "CORRECT!!";
                playerwincount++;
            }
            else
            {
                winnerText.text = "WRONG!!";
                dealerwincount++;
            }
        }

        else
        {
            winnerText.text = "DEALER WINS!";
        }
        yield return(new WaitForSeconds(1f));

        playAgainButton.interactable = true;
        playerWinsText.text          = "Your Wins: " + playerwincount.ToString();
        dealerWinsText.text          = "House Wins: " + dealerwincount.ToString();
    }