Ejemplo n.º 1
0
 /// <summary>
  /// Fisher and Yates' method
 /// </summary>
  public void shuffle()
  {
      Card tmp = new Card();
      Random r = new Random();
      int randomIndex;
      for (int j = deck.Count() - 1; j>0; j--)
      {
          randomIndex = r.Next(deck.Count() - j);
          tmp = deck[j];
          deck[j] = deck[randomIndex];
          deck[randomIndex] = tmp;
      }
  }
Ejemplo n.º 2
0
 /// <summary>
 /// If allowed moves acceptable card on top of the previous card on the gameArea 
 /// </summary>
 /// <returns>bool value indicateing wether the hit is made</returns>
 public bool hit(Card target, Card hit)
 {
     //TODO:
     return false;
 }
Ejemplo n.º 3
0
 public void makeMove(Card card)
 {
     foreach (Card c in _hand) {
         if (card.Kind.Equals(c.Kind) && card.Rank.Equals(c.Rank))
         {
             Hand.Remove(c);
             return;
         }
     }
 }
Ejemplo n.º 4
0
 public static void notifyGameAreaUpdate(Card card, MainPage element){
    
     element.updateGameArea(card);
 }
Ejemplo n.º 5
0
 private void updateGameArea(Card c)
 {
     
     addImageToCard(c);
     StackPanel slot = getNextSlot(_view.MoveNr);
     (slot.Children.FirstOrDefault() as Image).Source = c.Image.Source;
 }
Ejemplo n.º 6
0
        //private void GridViewDragItemsStarting(object sender, DragItemsStartingEventArgs e)
        //{
        //    var item = e.Items.FirstOrDefault();
        //    if (item == null)
        //        return;
        //    var card = gwPl1Hand.SelectedItem;
        //    e.Data.Properties.Add("item", item);
        //    e.Data.Properties.Add("card", card);
        //    e.Data.Properties.Add("gridSource", sender);
        //}

        //private void GridViewDrop(object sender, DragEventArgs e)
        //{
        //    object gridSource;
        //    e.Data.Properties.TryGetValue("gridSource", out gridSource);

        //    //if (gridSource == sender)
        //    //  return;

        //    object sourceItem;
        //    e.Data.Properties.TryGetValue("item", out sourceItem);
        //    // if (sourceItem == null)
        //    //   return;
        //    object movedCard;
        //    e.Data.Properties.TryGetValue("card", out movedCard);

        //    _view.CardsOnTable.Add((Card)movedCard);
        //}

        private void cardTapped(object sender, TappedRoutedEventArgs e)
        {
            if (_view.CardsOnTable.Count % 2 == 0 && _view.CurrentPlayer.Id == _view.MoveIndex)
            {
                Card tappedCard = new Card(gwPl1Hand.SelectedItem as Image);
                addImageToCard(tappedCard);
                StackPanel slot = getNextSlot(_view.MoveNr);
                (slot.Children.FirstOrDefault() as Image).Source = (gwPl1Hand.SelectedItem as Image).Source;
                _view.moveMade(tappedCard);
                setHandDisplay();
            }
            else
            {
                if (_view.CardsOnTable.Count % 2 == 1 && _view.CurrentPlayer.Id == _view.HitIndex)
                {
                    Card tappedCard = new Card(gwPl1Hand.SelectedItem as Image);
                    addImageToCard(tappedCard);
                    StackPanel slot = getNextSlot(_view.MoveNr);
                    (slot.Children.FirstOrDefault() as Image).Source = (gwPl1Hand.SelectedItem as Image).Source;
                    _view.hitMade(tappedCard);
                    setHandDisplay();
                }

            }
        }
Ejemplo n.º 7
0
 public void addImageToCard(Card c) {
     StringBuilder fileName = new StringBuilder();
     StringBuilder iName = new StringBuilder();
     fileName.Append(@"/Assets/images/");
     fileName.Append(c.Kind.ToString());
     iName.Append(((int)c.Kind).ToString());
     fileName.Append(((int)c.Rank).ToString());
     iName.Append(((int)c.Rank).ToString());
     fileName.Append(".png");
     string fn = fileName.ToString();
     c.Image.Source = ImageFromRelativePath(this, fn);
     c.Image.Name = iName.ToString();
 }