void Awake() { movement = GetComponent <PlayerMovement>(); direction = GetComponentInChildren <PlayerDirection>(); animator = this.GetComponentInChildren <Animator>(); hands = this.GetComponentInChildren <PlayerHands>(); }
// Start is called before the first frame update void Start() { anim = GetComponentInChildren <Animator>(); model = anim.gameObject; controller = GetComponent <CharacterController>(); hands = GetComponent <PlayerHands>(); }
public void SplitHandCPU(Table table) { for (var hand = 0; hand <= PlayerHands.Count - 1; hand++) { if (PlayerHands[hand].IsPair && !PlayerHands[hand].IsSplit && PlayerBank > PlayerHands[hand].BetOnHand) { PlayerHands[hand].ShowHand(this); Console.WriteLine($"{PlayerName} Would you like to split this hand? Enter Y or N: "); if (PlayerHands[hand].Cards.ElementAt(0).Rank == Rank.Ace || PlayerHands[hand].Cards.ElementAt(0).Rank == Rank.Eight) { Console.WriteLine("Y"); var splitHand = new Hand(); splitHand.SplitHandBet(this, PlayerHands[hand].BetOnHand); splitHand.AddCard(PlayerHands[hand].Cards.ElementAt(1)); PlayerHands[hand].Cards.Remove(PlayerHands[hand].Cards.ElementAt(1)); splitHand.AddCard(table.Shoe.TakeCard()); PlayerHands.Add(splitHand); PlayerHands[hand].Cards.Add(table.Shoe.TakeCard()); PlayerHands[hand].IsSplit = true; break; } Console.WriteLine("N"); } } }
public override bool UsingUpdate(PlayerHands hands) { return(true); //if (totalTimeUsing > useSpeed) //{ // return false; //} //return true; }
public Hand AddPlayerHand(Player player) { var newHand = new Hand() { Player = player }; PlayerHands.Add(newHand); return(newHand); }
public void DealToPlayers() { Cards.BurnCard(); foreach (Player p in Players) { Hand h = Cards.CreateHand(); p.GiveHand(h); PlayerHands.Add(p.Name, h); } }
public override object ToClient() { var client = new { bank = Bank, pot = Pot, playerHands = PlayerHands.Select(pc => pc.ToClient()), }; return(client.Merge(base.ToClient())); }
/// <summary> /// Split /// </summary> public static void Split() { PlayerHands.Add(new BlackjackHand(PlayerHands[0].Bet)); PlayerFunds -= PlayerHands[0].Bet; PlayerHands[1].AddCard(PlayerHands[0].GetCard(0)); PlayerHands[0].RemoveCardAt(0); PlayerHands[0].AddCard(_deck.DealOneCard()); PlayerHands[1].AddCard(_deck.DealOneCard()); }
public override void OutputHandResults() { //Determine winners foreach (var hand in PlayerHands) { foreach (var opponentHand in PlayerHands.Where(h => h != hand)) { var handOutcome = GetHandOutcome(hand, opponentHand); Debug.WriteLine($"outcome: {hand.Player.Name} vs {opponentHand.Player.Name} card {hand.Cards[0].Name } { handOutcome} against {opponentHand.Cards[0].Name} "); } } }
/// <summary> /// Draw from the deck with specified amount . Added only to the first hand /// </summary> /// <param name="deck"></param> /// <param name="amt"></param> public void Draw(IDeck deck, int amt) { for (var i = 0; i < amt; i++) { var drawnCard = deck.Deal(); if (PlayerHands.Count == 0) { var hand = new Hand(); PlayerHands.Add(hand); } PlayerHands[0].AddCard(deck.Deal()); } }
public virtual void startAttacking(Transform playerTransform, PlayerHands hands) { //spawn weapon at location GameObject currentlySpawnedWeapon = Instantiate(weaponPrefab, playerTransform); currentlySpawnedWeapon.AddComponent <SpriteRenderer>(); currentlySpawnedWeapon.GetComponent <SpriteRenderer>().sprite = itemGraphic; currentlySpawnedWeapon.AddComponent <PolygonCollider2D>(); WeaponHitbox hitbox = currentlySpawnedWeapon.AddComponent <WeaponHitbox>(); hitbox.init(this); currentlySpawnedWeapon.layer = 8; hands.spawnedItem = currentlySpawnedWeapon; }
public override bool UsingUpdate(PlayerHands hands) { if (hands != null) { float totalTimeUsing = hands.timePassedUsing; if (!(totalTimeUsing > useSpeed)) { float percentage = totalTimeUsing / useSpeed; float angle = Mathf.Lerp(-65f, 145f, percentage); hands.spawnedItem.transform.localEulerAngles = new Vector3(0, 0, angle); return(false); } else { hands.stopUsing(); return(true); } } else { return(true); } }
public override void startAttacking(Transform playerTransform, PlayerHands hands) { base.startAttacking(playerTransform, hands); hands.spawnedItem.transform.position = new Vector3(hands.spawnedItem.transform.position.x, hands.spawnedItem.transform.position.y - .3f, hands.spawnedItem.transform.position.z); }
public void RemovePlayer(Player p) { Players.Remove(p); PlayerHands.Remove(p.Name); }
public virtual void StopUsingAlternate(PlayerHands hands) { }
public virtual void StopUsing(PlayerHands hands) { }
public virtual bool UsingAlternateUpdate(PlayerHands hands) { return(true); }
public virtual void AlternateUseItem(PlayerHands hands) { }
public virtual void UseItem(PlayerHands hands) { }
public override void UseItem(PlayerHands hands) { startAttacking(hands.gameObject.transform, hands); }
public override void RemovePlayer(Player player) { base.RemovePlayer(player); PlayerHands = PlayerHands.Where(ph => ph.Player != player).ToList(); }
public override bool IsEliminated(Player player) { return(PlayerHands.First(ph => ph.Player == player).ChipsBalance <= 0); }
public virtual void UpdateTick(PlayerHands hands) { }
public void RemovePlayerHand(Hand hand) { PlayerHands = PlayerHands.Where(h => h != hand).ToList(); }
public override void AlternateUseItem(PlayerHands playerHands) { //right click use or thing }