コード例 #1
0
ファイル: Game.cs プロジェクト: CouchCodersTeam/Clue-Less
 // Returns true/false if accusation is correct. If false, 'player'
 // has lost the game and cannot make further accusations.
 public bool makeAccusation(string playerName, Accusation accusation)
 {
     // Checking if all cards in accusation are matching case files
     return(accusation.room == (Room)Enum.Parse(typeof(Room), caseFile[0].cardValue) &&
            accusation.suspect == (Suspect)Enum.Parse(typeof(Suspect), caseFile[1].cardValue) &&
            accusation.weapon == (Weapon)Enum.Parse(typeof(Weapon), caseFile[2].cardValue));
 }
コード例 #2
0
        public override bool Equals(object obj)
        {
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }

            Accusation other = (Accusation)obj;

            return(room.Equals(other.room) &&
                   suspect.Equals(other.suspect) &&
                   weapon.Equals(other.weapon));
        }
コード例 #3
0
ファイル: Game.cs プロジェクト: CouchCodersTeam/Clue-Less
        // returns the first player after 'player' who can disprove the
        // accusation. If no other player can disprove, null is returned.
        public Player makeSuggestion(string playerName, Accusation accusation)
        {
            int indexCheck = currentTurnIndex;

            do
            {
                indexCheck = (indexCheck + 1) % rotationOrders.Count;
                var realPlayer = rotationOrders[indexCheck];
                if (realPlayer.hasCardIn(accusation) && !realPlayer.name.Equals(playerName))
                {
                    return(realPlayer);
                }
            } while (indexCheck != currentTurnIndex);

            return(null);
        }
コード例 #4
0
ファイル: Player.cs プロジェクト: CouchCodersTeam/Clue-Less
 public bool hasCardIn(Accusation accusation)
 {
     return(cards.Contains(new Card(accusation.suspect)) ||
            cards.Contains(new Card(accusation.weapon)) ||
            cards.Contains(new Card(accusation.room)));
 }