summaryrefslogtreecommitdiff
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
parent3fd493b395d27749749587518d76a4e5d648920c (diff)
* HCP support for HandEvaluation table
-rw-r--r--Aktywator/Bws.cs10
-rw-r--r--Aktywator/HandRecord.cs31
2 files changed, 40 insertions, 1 deletions
diff --git a/Aktywator/Bws.cs b/Aktywator/Bws.cs
index eda99a1..87c9081 100644
--- a/Aktywator/Bws.cs
+++ b/Aktywator/Bws.cs
@@ -434,7 +434,15 @@ namespace Aktywator
ddStr.Append(",");
}
}
- ddStr.Append("0,0,0,0)"); // HCP not supported yet
+ for (int j = 0; j < 4; j++)
+ {
+ ddStr.Append(b.hpcs[j]);
+ if (j < 3)
+ {
+ ddStr.Append(",");
+ }
+ }
+ ddStr.Append(")");
sql.query(ddStr.ToString());
}
}
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]);
+ }
}
}
}