public int GetZeroSumTrickScore() { Trick currentTrick = tricks[tricks.Count - 1]; int trickPoints = currentTrick.GetCurrentTrickPoints(); int trickWinner = currentTrick.GetCurrentTrickWinner(); if (trickWinner != id && trickWinner != (id + 2) % 4) { trickPoints *= -1; } return(trickPoints); }
internal int GetCurrentTrickResponsible() { Trick currentTrick = tricks[tricks.Count - 1]; int partnerID = ((id + 2) % 4); int winnerId = currentTrick.GetCurrentTrickWinner(); if (!currentTrick.IsFull()) { Console.WriteLine("Current trick is not full to call GetResponsible!"); if (tricks.Count > 1) { currentTrick = tricks[tricks.Count - 2]; } } if (currentTrick.IsFull()) { if (winnerId == id || winnerId == partnerID) { return(winnerId); } else { int myPlayPoints = Card.GetValue(currentTrick.GetPlayOf(id)); int partnerPlayPoints = Card.GetValue(currentTrick.GetPlayOf(partnerID)); if (myPlayPoints > 0 || partnerPlayPoints > 0) { return(myPlayPoints >= partnerPlayPoints ? id : partnerID); } else { return(winnerId); } } } return(winnerId); }
public int GetCurrentTrickWinner() { Trick currentTrick = tricks[tricks.Count - 1]; return(currentTrick.GetCurrentTrickWinner()); }