⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 suoha_algri.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
         } else
         {
            return FOURCARDSQUIT;
         }
         break;
      case THREE_DUIZI:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[21][0],Poss43[21][1],Poss43[21][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce2Poss(Poss43[21][3],Poss43[21][4]);
               return ClassifyFollorQuit(4,actionnum);
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[22][0],Poss43[22][1],Poss43[22][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               return FOURCARDSQUIT;
            }
         }
         break;
      case THREE_SHANPAI:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[23][0],Poss43[23][1],Poss43[23][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               return FOURCARDSFOLL;
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[24][0],Poss43[24][1],Poss43[24][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               return FOURCARDSFOLL;
            }
         }
         break;
      }
      break;
   }
   return 0;
}
unsigned long Four_Greater_Opp1(CardType c_CT, CardType p_CT, unsigned short turnwho, unsigned long pMoney)//zhangzg 08/23/2002
{
   int bigger=0, actionnum;
   unsigned char Poss43[25][5];
//	if(focus_opp==1)
   strcpy((char *)& Poss43, (char *)& Poss43_opp1);
//	else if(focus_opp==2)
   //	strcpy((char *)& Poss43, (char *)& Poss43_opp2);
//	else
   //	strcpy((char *)& Poss43, (char *)& Poss43_opp3);

   switch (c_CT.cardType)
   {
   case FOUR_TIEZI:
      switch (p_CT.cardType)
      {
      case THREE_SHANTIAO:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[0][0],Poss43[0][1],Poss43[0][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[0][0],Poss43[0][1],Poss43[0][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[1][0],Poss43[1][1],Poss43[1][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[1][0],Poss43[1][1],Poss43[1][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         }
         break;
      case THREE_DUIZI:
         if (turnwho==COMPUTER)
         {
            actionnum = Produce3Poss(Poss43[2][0],Poss43[2][1],Poss43[2][2]);
            return ClassifyStake(4, actionnum);
         } else
         {
            actionnum = Produce3Poss(Poss43[2][0],Poss43[2][1],Poss43[2][2]);
            if (c_M>(pMoney*(actionnum+1)))
               return pMoney*(actionnum+1);
            else
               return FOURCARDSFOLL;
         }
         break;
      case THREE_SHANPAI:
         if (turnwho==COMPUTER)
         {
            actionnum = Produce3Poss(Poss43[3][0],Poss43[3][1],Poss43[3][2]);
            return ClassifyStake(4, actionnum);
         } else
         {
            actionnum = Produce3Poss(Poss43[3][0],Poss43[3][1],Poss43[3][2]);
            if (c_M>(pMoney*(actionnum+1)))
               return pMoney*(actionnum+1);
            else
               return FOURCARDSFOLL;
         }
         break;
      }
      break;
   case FOUR_SHANTIAO:
      switch (p_CT.cardType)
      {
      case THREE_SHANTIAO:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[4][0],Poss43[4][1],Poss43[4][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[4][0],Poss43[4][1],Poss43[4][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[5][0],Poss43[5][1],Poss43[5][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce2Poss(Poss43[5][3],Poss43[5][4]);
               return ClassifyFollorQuit(4,actionnum);
            }
         }
         break;
      case THREE_DUIZI:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[6][0],Poss43[6][1],Poss43[6][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[6][0],Poss43[6][1],Poss43[6][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[7][0],Poss43[7][1],Poss43[7][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[7][0],Poss43[7][1],Poss43[7][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         }
         break;
      case THREE_SHANPAI:
         if (turnwho==COMPUTER)
         {
            actionnum = Produce3Poss(Poss43[8][0],Poss43[8][1],Poss43[8][2]);
            return ClassifyStake(4, actionnum);
         } else
         {
            actionnum = Produce3Poss(Poss43[8][0],Poss43[8][1],Poss43[8][2]);
            if (c_M>(pMoney*(actionnum+1)))
               return pMoney*(actionnum+1);
            else
               return FOURCARDSFOLL;
         }
         break;
      }
      break;
   case FOUR_LIANGDUI:
      switch (p_CT.cardType)
      {
      case THREE_SHANTIAO:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[9][0],Poss43[9][1],Poss43[9][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce2Poss(Poss43[9][3],Poss43[9][4]);
               return ClassifyFollorQuit(4,actionnum);
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[10][0],Poss43[10][1],Poss43[10][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce2Poss(Poss43[10][3],Poss43[10][4]);
               return ClassifyFollorQuit(4,actionnum);
            }
         }
         break;
      case THREE_DUIZI:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[11][0],Poss43[11][1],Poss43[11][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[11][0],Poss43[11][1],Poss43[11][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[12][0],Poss43[12][1],Poss43[12][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[12][0],Poss43[12][1],Poss43[12][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         }
         break;
      case THREE_SHANPAI:
         if (turnwho==COMPUTER)
         {
            actionnum = Produce3Poss(Poss43[13][0],Poss43[13][1],Poss43[13][2]);
            return ClassifyStake(4, actionnum);
         } else
         {
            actionnum = Produce3Poss(Poss43[13][0],Poss43[13][1],Poss43[13][2]);
            if (c_M>(pMoney*(actionnum+1)))
               return pMoney*(actionnum+1);
            else
               return FOURCARDSFOLL;
         }
         break;
      }
      break;
   case FOUR_DUIZI:
      switch (p_CT.cardType)
      {
      case THREE_SHANTIAO:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[14][0],Poss43[14][1],Poss43[14][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce2Poss(Poss43[14][3],Poss43[14][4]);
               return ClassifyFollorQuit(4,actionnum);
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[15][0],Poss43[15][1],Poss43[15][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               return FOURCARDSQUIT;
            }
         }
         break;
      case THREE_DUIZI:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[16][0],Poss43[16][1],Poss43[16][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[16][0],Poss43[16][1],Poss43[16][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[17][0],Poss43[17][1],Poss43[17][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce2Poss(Poss43[17][3],Poss43[17][4]);
               return ClassifyFollorQuit(4,actionnum);
            }
         }
         break;
      case THREE_SHANPAI:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[18][0],Poss43[18][1],Poss43[18][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[18][0],Poss43[18][1],Poss43[18][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         } else
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[19][0],Poss43[19][1],Poss43[19][2]);
               return ClassifyStake(4,actionnum);
            } else
            {
               actionnum = Produce3Poss(Poss43[19][0],Poss43[19][1],Poss43[19][2]);
               if (c_M>(pMoney*(actionnum+1)))
                  return pMoney*(actionnum+1);
               else
                  return FOURCARDSFOLL;
            }
         }
         break;
      }
      break;
   case FOUR_SHANPAI:
      switch (p_CT.cardType)
      {
      case THREE_SHANTIAO:
         if (turnwho==COMPUTER)
         {
            actionnum = Produce3Poss(Poss43[20][0],Poss43[20][1],Poss43[20][2]);
            return ClassifyStake(4, actionnum);
         } else
         {
            return FOURCARDSQUIT;
         }
         break;
      case THREE_DUIZI:
         bigger = CompareTwo(c_CT.bigcard, p_CT.bigcard);
         if (c_CT.bigcard==bigger)
         {//corresponds to a composite of both card types
            if (turnwho==COMPUTER)
            {
               actionnum = Produce3Poss(Poss43[21][0],Poss43[21][1],Poss43[21][2]);
               ret

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -