summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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]);
+ }
}
}
}