summaryrefslogtreecommitdiff
path: root/Analizator9000/Analizator9000/Contract.cs
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2014-07-06 09:33:35 +0000
committeremkael <emkael@tlen.pl>2014-07-06 09:33:35 +0000
commit203260cab1c78f8761be8550ce6d781d0c0867f6 (patch)
treed350d4efcd549817224142bd3d5b6606ced8300d /Analizator9000/Analizator9000/Contract.cs
parent961e8ac4fcdc3b2fefb825d78f33d4656faef93a (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.cs28
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;
}
}
}