diff options
author | emkael <emkael@tlen.pl> | 2014-07-06 09:33:35 +0000 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2014-07-06 09:33:35 +0000 |
commit | 203260cab1c78f8761be8550ce6d781d0c0867f6 (patch) | |
tree | d350d4efcd549817224142bd3d5b6606ced8300d /Analizator9000/Analizator9000/Contract.cs | |
parent | 961e8ac4fcdc3b2fefb825d78f33d4656faef93a (diff) |
* interface for contract analysis
git-svn-id: https://svn.emkael.info/an9k@29 05ec0d5d-773b-4d93-9e23-c81a7ac79feb
Diffstat (limited to 'Analizator9000/Analizator9000/Contract.cs')
-rw-r--r-- | Analizator9000/Analizator9000/Contract.cs | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/Analizator9000/Analizator9000/Contract.cs b/Analizator9000/Analizator9000/Contract.cs index 0ef4fef..e6c4978 100644 --- a/Analizator9000/Analizator9000/Contract.cs +++ b/Analizator9000/Analizator9000/Contract.cs @@ -11,18 +11,26 @@ namespace Analizator9000 class Contract: IEquatable<Contract>
{
/// <summary>
+ /// Level of the contract.
+ /// </summary>
+ public int Level;
+ /// <summary>
/// Trump denomination, in numeric format.
/// </summary>
/// <see cref="BCalcWrapper"/>
public int Denomination;
/// <summary>
+ /// Modifiers - double or redouble.
+ /// </summary>
+ public int Modifiers;
+ /// <summary>
/// Declaring player, in numeric format.
/// </summary>
/// <see cref="BCalcWrapper"/>
public int Declarer;
/// <summary>
- /// Tuple constructor.
+ /// Constructor for contract without full information (just general trick-taking in a denomination).
/// </summary>
/// <param name="denom">Trump denomination.</param>
/// <param name="decl">Declaring player.</param>
@@ -33,13 +41,29 @@ namespace Analizator9000 }
/// <summary>
+ /// Constructor with full contract information.
+ /// </summary>
+ /// <param name="level">Contract level.</param>
+ /// <param name="denom">Trump denomination.</param>
+ /// <param name="decl">Declaring player.</param>
+ /// <param name="modifiers">Modifiers: 1 = X, 2 = XX</param>
+ public Contract(int level, int denom, int decl, int modifiers = 0)
+ {
+ this.Level = level;
+ this.Denomination = denom;
+ this.Declarer = decl;
+ this.Modifiers = modifiers;
+ }
+
+ /// <summary>
/// IEquatable method for comparing (checking equality) of two tuples.
/// </summary>
/// <param name="other">Tuple to compare to.</param>
/// <returns>TRUE if both tuple components are equal.</returns>
public bool Equals(Contract other)
{
- return this.Denomination == other.Denomination && this.Declarer == other.Declarer;
+ return this.Denomination == other.Denomination && this.Declarer == other.Declarer &&
+ this.Level == other.Level && this.Modifiers == other.Modifiers;
}
}
}
|