summaryrefslogtreecommitdiff
path: root/Aktywator/HandRecord.cs
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2016-11-09 14:25:56 +0100
committeremkael <emkael@tlen.pl>2016-11-14 14:47:52 +0100
commit0cfcb31daea464584315263225381ba53c24a9eb (patch)
treea4bdcc75dc0cd1c76314d20119f2b9ba6d41f9fc /Aktywator/HandRecord.cs
parent3fd493b395d27749749587518d76a4e5d648920c (diff)
* HCP support for HandEvaluation table
Diffstat (limited to 'Aktywator/HandRecord.cs')
-rw-r--r--Aktywator/HandRecord.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/Aktywator/HandRecord.cs b/Aktywator/HandRecord.cs
index bd0e9f9..199e94f 100644
--- a/Aktywator/HandRecord.cs
+++ b/Aktywator/HandRecord.cs
@@ -10,6 +10,7 @@ namespace Aktywator
public string[] east;
public string[] south;
public string[] west;
+ public int[] hpcs;
public HandRecord()
{
@@ -19,6 +20,31 @@ namespace Aktywator
west = new string[4];
}
+ private int _hpcFromHand(string hand)
+ {
+ int hpc = 0;
+ foreach (char c in hand)
+ {
+ if (c == 'a' || c == 'A')
+ {
+ hpc += 4;
+ }
+ if (c == 'k' || c == 'K')
+ {
+ hpc += 3;
+ }
+ if (c == 'q' || c == 'Q')
+ {
+ hpc += 2;
+ }
+ if (c == 'j' || c == 'J')
+ {
+ hpc += 1;
+ }
+ }
+ return hpc;
+ }
+
public HandRecord(string pbnString)
{
string[] hand = pbnString.Split(' ');
@@ -26,6 +52,11 @@ namespace Aktywator
east = hand[1].Split('.');
south = hand[2].Split('.');
west = hand[3].Split('.');
+ hpcs = new int[4];
+ for (int i = 0; i < 4; i++)
+ {
+ hpcs[i] = this._hpcFromHand(hand[i]);
+ }
}
}
}