test.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // test.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "iostream"
  4. #include "logic.h"
  5. #include <string>
  6. using namespace std;
  7. void main()
  8. {
  9. BYTE cbCardData[] =
  10. {
  11. 0x01, 0x01,
  12. 0x02, 0x02, 0x02,
  13. 0x03, 0x03, 0x03,
  14. 0x14, 0x14, 0x04,
  15. 0x15, 0x16, 0x05,
  16. 0x16, 0x16, 0x06,
  17. 0xFF, 0xFF, 0xFF,
  18. 0xFF
  19. };
  20. //初始化
  21. CLogicPHZ m_logic;
  22. int num = 0;
  23. DWORD dwFlag = GetTickCount();//获取当前系统运行时间
  24. for (int i = 0; i < 1; ++i) //可执行很多次,方便计算耗时
  25. num = m_logic.getHuKeyInit(cbCardData, sizeof(cbCardData), 3, true);
  26. cout << GetTickCount() - dwFlag << " ms" << endl;
  27. // 获取结果
  28. vector<stAnswer> vctOut;
  29. m_logic.getAnswer(vctOut);
  30. // 打印结果
  31. for (int i = 0; i < min(50, (int)vctOut.size()); ++i)
  32. {
  33. stAnswer stTemp = vctOut[i];
  34. cout << "hu_xi = " << (int)stTemp.getHuXi() << endl; // 总息数
  35. for (int n = 0; n < stTemp.num; ++n) // 最多七组手牌
  36. {
  37. BYTE byOut[4] = {};
  38. BYTE byOutTry[4] = {};
  39. getCardsByVal(stTemp.llNode[n], byOut); // 取出原始牌
  40. cout << "xi" << n << "=" << (int)stTemp.byNodeXi[n] << '\t';
  41. for (int m = 0; m < 4; ++m) {
  42. cout << hex << "0x" << (int)byOut[m] << '\t';
  43. }
  44. cout << dec << endl;
  45. }
  46. }
  47. //*/
  48. cout << "num = " << num << '\t' << "RealNum = " << vctOut.size() << endl;
  49. Sleep(1000000);
  50. }