设为首页收藏本站

晨风QQ机器人论坛_晨风微信机器人

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 230|回复: 5

[开源游戏] 足球竞猜统计

[复制链接]

113

主题

905

帖子

5139

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5139
发表于 2018-7-2 17:58:05 | 显示全部楼层 |阅读模式
  1. //*确认竞猜* 【显示网址内容http://127.0.0.1/testplug.dll?function=guessfootballfun&cmdstr=$回声[        DISCUZ_CODE_8        ]amp;appendtime=1&appendnick=1&highestscore=4&appendqq=1&allowonlyone=0&cfrobotnickname=$昵称$数字1[        DISCUZ_CODE_9        ]filename=足球竞猜.txt】【数字1非QQ】%机器人主人要求是(请机器人主人先@你,然后复制你发的信息在后面来进行确认)%
  2.         //群友在群里发  确认竞猜葡萄牙vs乌拉圭 3:2 600
  3. //这种格式,机器人主人用 @晨风 确认竞猜葡萄牙vs乌拉圭 3:2 600 这种格式进行确认
  4.         //竞猜查询                【显示网址内容http://127.0.0.1/testplug.dll?function=guessfootballfun&cmdstr=query&wholemode=0&filename=足球竞猜.txt】
  5. //竞猜汇总                【显示网址内容http://127.0.0.1/testplug.dll?function=guessfootballfun&cmdstr=pool&wholemode=0&filename=足球竞猜.txt】
  6. //竞猜清空                【显示网址内容http://127.0.0.1/testplug.dll?function=guessfootballfun&cmdstr=clear&filename=足球竞猜.txt】%机器人主人要求是%
  7.         CKeepMap<CString,LPCTSTR,int,int> g_footballmap;
  8.         DLL1_API BOOL __stdcall guessfootballfun(LPTSTR buf)
  9.         {
  10.                 CKeepMap<CString,LPCTSTR,CString,LPCTSTR> paramstrmap;
  11.                 InitParamMap(paramstrmap,buf);
  12.                 CString robotselfqqstr;
  13.                 CString cmdstr;
  14.                 CString moneystr;
  15.                         static        CString firstteamname,secondteamname;
  16.                 CString cfrobotqqnumstr,cfrobotgroupnumstr;
  17.                 CString cfrobotnickname;
  18.                 INT64 cfrobotqqnum=0,cfrobotgroupnum=0;
  19.                 int appendqq=1;
  20.                 int appendnick=1;
  21.                 int appendtime=1;
  22.                 int allowonlyone=1;
  23.                 int wholemode=0;
  24.                 int highestscore=4;
  25.                 CString filename;
  26.                 CString keyname;
  27.                 GetStr(filename)
  28.                         GetStr(cmdstr)
  29.                         GetStr(cfrobotnickname)
  30.                                 GetValue(appendqq)
  31.                                 GetValue(highestscore)
  32.                                 GetValue(appendnick)
  33.                                 GetValue(appendtime)
  34.                                 GetValue(cfrobotqqnum)
  35.                                 GetValue(wholemode)
  36.                                 GetValue(allowonlyone)
  37.                                
  38.                                 if(cmdstr==_T("clear"))
  39.                                 {
  40.                                
  41.                         CString teeestr;

  42. teeestr.Format(_T("已经清除了所有之前%s中的报名信息!"),filename);
  43. DeleteFile(dll_complete_path(filename));
  44. g_footballmap.RemoveAll();
  45.         lstrcpy(buf,teeestr);
  46.                                 }
  47.                                 else if(cmdstr==_T("pool"))
  48.                                 {
  49.         CString teeestr;
  50.         CString templinestr;
  51.         templinestr.Format(_T("%svs%s"),firstteamname,secondteamname);
  52.         teeestr+=templinestr;
  53.         teeestr+=_T("\r\n");

  54.         SYSTEMTIME curSystemTime;
  55.                                         GetLocalTime(&curSystemTime);

  56.                                
  57.         templinestr.Format(_T("%02d/%02d"),curSystemTime.wDay,curSystemTime.wMonth);

  58.         teeestr+=templinestr;
  59.         teeestr+=_T("\r\n");

  60.         int totalbet=0;
  61.         for(UINT i=0;i<g_footballmap.m_mapstr.size();i++)
  62.         {

  63.                 if(g_footballmap[i])
  64.                 {
  65.                         templinestr.Format(_T("%s=%d"),g_footballmap.m_mapstr[i],g_footballmap[i]);
  66.                         totalbet+=g_footballmap[i];
  67.                 }
  68.                 else if(g_footballmap.m_mapstr[i]==firstteamname||g_footballmap.m_mapstr[i]==secondteamname||g_footballmap.m_mapstr[i]==_T("和局"))
  69.                         templinestr.Format(_T("%s"),g_footballmap.m_mapstr[i]);
  70.                 else
  71.                         templinestr.Format(_T("%s="),g_footballmap.m_mapstr[i]);


  72.                 teeestr+=templinestr;
  73.                 teeestr+=_T("\r\n");

  74.         }
  75.         templinestr.Format(_T("Total : %d"),totalbet);
  76.                 teeestr+=templinestr;
  77.                 teeestr+=_T("\r\n");
  78.        

  79. //g_footballmap[tempscorestr]

  80.         lstrcpy(buf,teeestr);
  81.                                 }
  82.                                 else if(cmdstr==_T("query"))
  83.                                 {
  84.                                                                         CString teeestr;

  85.                                                                                
  86.         CReadAUStdioFile cook_file1(true);
  87.         CString totalstr;
  88.         CString tempstr;
  89.                                         UINT openflag=0;
  90.                                                 openflag=CFile::modeRead;
  91.                                
  92.                                                 if(cook_file1.Open(dll_complete_path(filename),openflag))
  93.                                                 {

  94.                                                         while(cook_file1.ReadString(tempstr))
  95.                                                         {

  96.                                                                 if(wholemode)
  97.                                                                 {
  98.                                                                         tempstr.Replace(_T("【后面是自动附加的信息】"),_T(""));
  99.                                                                         totalstr+=tempstr;
  100.                                                                 }
  101.                                                                 else
  102.                                                                 {
  103.                                                                         CString frontstr,backstr;
  104.                                                                         ::function::GetHalfStr(tempstr,&frontstr,&backstr,_T("【后面是自动附加的信息】"),true);
  105.                                                                                 totalstr+=frontstr;
  106.                                                                 }
  107.                                                                 totalstr+=_T("\r\n");

  108.                                                         }

  109.                                                         cook_file1.Close();
  110.                                                 }
  111.                                                 if(totalstr.IsEmpty())
  112.                                                 {
  113.                                                         totalstr.Format(_T("%s中的报名信息为空!"),filename);
  114.                                                 }
  115. teeestr=totalstr;


  116.         lstrcpy(buf,teeestr);

  117.                                 }
  118.                                 else
  119.                                 {

  120.                                                 CStringvect ballvectemp;
  121.                 cmdstr.MakeLower();
  122.                 cmdstr.Replace(_T(":"),_T(":"));
  123.                 cmdstr.Replace(_T("-"),_T(":"));

  124.                         ::function::getmytoken(cmdstr,_T(" "),ballvectemp);//13402429 葡萄牙vs乌拉圭 3:2 600

  125.        
  126.                         int firstscore=0,secondscore=0;
  127.                         CString firstscorestr,secondscorestr;

  128.                         int singlermb=0;
  129.                         CString comteamstr;
  130.                         CString comscorestr;
  131.                         if(ballvectemp.size()>3)
  132.                         {
  133.                                 comteamstr=ballvectemp[1];
  134.                         comscorestr=ballvectemp[2];
  135.                         singlermb=_ttoi(ballvectemp[3]);
  136.                         }
  137.                         else if(ballvectemp.size()>2)
  138.                         {
  139.                                 comteamstr=ballvectemp[0];
  140. comscorestr=ballvectemp[1];
  141. singlermb=_ttoi(ballvectemp[2]);
  142.                         }
  143.                        
  144.                         ::function::GetHalfStr(comteamstr,&firstteamname,&secondteamname,_T("vs"),false);
  145.                         ::function::GetHalfStr(comscorestr,&firstscorestr,&secondscorestr,_T(":"),false);
  146.                         firstscore=_ttoi(firstscorestr);
  147.                         secondscore=_ttoi(secondscorestr);


  148.                         if(g_footballmap.GetCount()==0)
  149.                         {
  150.                                 CString tempscorestr;

  151.                                 g_footballmap[firstteamname]=0;
  152.                                 for(int i=1;i<highestscore;i++)
  153.                                 {
  154.                                         for(int n=0;n<i;n++)
  155.                                         {
  156.                                         //        tempscorestr.Format(_T("%s%d-%d"),firstteamname,i,n);
  157.                                                 tempscorestr.Format(_T("%d-%d"),i,n);
  158.                                                 g_footballmap[tempscorestr]=0;
  159.                                         }
  160.                                 }
  161.                                 g_footballmap[secondteamname]=0;
  162.                                 for(int i=1;i<highestscore;i++)
  163.                                 {
  164.                                         for(int n=0;n<i;n++)
  165.                                         {
  166.                                                 //tempscorestr.Format(_T("%s%d-%d"),secondteamname,i,n);
  167.                                                         tempscorestr.Format(_T("%d-%d"),n,i);

  168.                                                 g_footballmap[tempscorestr]=0;
  169.                                         }
  170.                                 }

  171.                                 g_footballmap[_T("和局")]=0;
  172.                                 for(int i=0;i<highestscore;i++)
  173.                                 {
  174.                                         //tempscorestr.Format(_T("%s%d-%d"),_T("和局"),i,i);
  175.                                         tempscorestr.Format(_T("%d-%d"),i,i);

  176.                                         g_footballmap[tempscorestr]=0;
  177.                                 }
  178.                         }
  179.                

  180.                                         CString tempscorestr;

  181.                                         //if(firstscore>secondscore)
  182.                                         //{
  183.                                                 tempscorestr.Format(_T("%d-%d"),firstscore,secondscore);
  184.                                                 g_footballmap[tempscorestr]+=singlermb;
  185.                                         /*
  186.                                         }
  187.                                         else if(secondscore>firstscore)
  188.                                         {
  189.                                                 tempscorestr.Format(_T("%d-%d"),firstscore,secondscore);
  190.                                                 g_footballmap[tempscorestr]+=singlermb;
  191.                                        
  192.                                         }
  193.                                         else if(firstscore==secondscore)
  194.                                         {
  195.                                                 tempscorestr.Format(_T("%d-%d"),firstscore,secondscore);
  196.                                                 g_footballmap[tempscorestr]+=singlermb;
  197.                                        
  198.                                         }*/


  199.                                         CReadAUStdioFile cook_file1(true);
  200.                                         CString Ignorefilename;
  201.                                         CString tempstr;

  202.                                         Ignorefilename=filename;//SaveAs_complete_path(tempstr);
  203.                                         CString frontstr,backstr;

  204.                                         CStringvect vectemp;
  205.                                         UINT openflag=0;
  206.                                         if(allowonlyone)
  207.                                                 openflag=CFile::modeReadWrite|CFile::modeCreate|CFile::modeNoTruncate;
  208.                                         else
  209.                                                 openflag=CFile::modeReadWrite|CFile::modeCreate|CFile::modeNoTruncate;

  210.                                         CString finallinestr;
  211.                                         CString timestr;
  212.                                         CString signturename;
  213.                                         finallinestr+=cmdstr;

  214.                                         finallinestr+=_T("【后面是自动附加的信息】");
  215.                                         finallinestr+=_T("\t");


  216.                                         SYSTEMTIME curSystemTime;
  217.                                         GetLocalTime(&curSystemTime);

  218.                                         timestr.Format(_T("%d年%d月%d日 %02d:%02d"),curSystemTime.wYear,curSystemTime.wMonth,curSystemTime.wDay,curSystemTime.wHour,curSystemTime.wMinute);
  219.                                         if(appendnick)
  220.                                         {
  221.                                                 signturename+=cfrobotnickname;
  222.                                         signturename+=_T("\t");
  223.                                         }
  224.                                         if(appendqq)
  225.                                         {
  226.                                                 CString qqnumstr;
  227.                                                 qqnumstr.Format(_T("%lld"),cfrobotqqnum);
  228.                                                 signturename+=qqnumstr;
  229.                                                 signturename+=_T("\t");
  230.                                         }
  231.                                         if(appendtime)
  232.                                         {
  233.                                                 finallinestr+=timestr;
  234.                                                 finallinestr+=_T("\t");
  235.                                         }

  236.                                         signturename.Trim();

  237.                                         finallinestr+=signturename;

  238.                                         finallinestr.Trim();

  239.                                         INT64 atqqnum=_ttoi64(finallinestr);
  240.                                         if(atqqnum>100000)
  241.                                         {
  242.                                                 CString strnum;
  243.                                                 strnum.Format(_T("%lld"),atqqnum);
  244.                                                 finallinestr.Replace(strnum,cfrobotnickname);
  245.                                        
  246.                                         }

  247.                                         if(cook_file1.Open(dll_complete_path(Ignorefilename),openflag))
  248.                                         {
  249.                                                 if(allowonlyone)
  250.                                                 {
  251.                                                         CStringvect strvect;
  252.                                                         BOOL bFindMatch=false;

  253.                                                         while(cook_file1.ReadString(tempstr))
  254.                                                         {
  255.                                                                 if(::function::TrimRight(tempstr,signturename,true))
  256.                                                                 {
  257.                                                                         bFindMatch=true;
  258.                                                                         tempstr=finallinestr;
  259.                                                                 }
  260.                                                                 strvect.push_back(tempstr);

  261.                                                         }
  262.                                                         if(!bFindMatch)
  263.                                                         {
  264.                                                                 strvect.push_back(finallinestr);

  265.                                                         }


  266.                                                         cook_file1.MySeekToBegin();

  267.                                                         for(int i=0;i<strvect.size();i++)
  268.                                                         {
  269.                                                                 cook_file1.WriteLineStr(strvect[i]);

  270.                                                         }

  271.                                                 }
  272.                                                 else
  273.                                                 {
  274.                                                         cook_file1.SeekToEnd();

  275.                                                         cook_file1.WriteLineStr(finallinestr);
  276.                                                 }
  277.                                                 cook_file1.Close();

  278.                                         }

  279.                                         CString teeestr;

  280. teeestr.Format(_T("%s,你的竞猜信息已成功写入%s中!"),cfrobotnickname,filename);


  281.         lstrcpy(buf,teeestr);

  282.                                 }
  283.                 return true;
  284.         }
复制代码


这个用来统计群友的竞猜信息,大家一起看看谁猜得准,当然,改造一下,也可以做成内部核算赔率的游戏。
请通过正规途径支持足彩,仅供游戏,请勿赌博。
回复

使用道具 举报

34

主题

458

帖子

2555

积分

金牌会员

Rank: 6Rank: 6

积分
2555
发表于 2018-7-2 18:06:36 | 显示全部楼层
支持晨风老大
回复 支持 反对

使用道具 举报

7

主题

293

帖子

626

积分

高级会员

Rank: 4

积分
626
发表于 2018-7-2 18:48:00 | 显示全部楼层
支持。支持、
出售各自晨风插件源码   成品插件  定做各种插件
加Q1286372074
回复 支持 反对

使用道具 举报

8

主题

241

帖子

1201

积分

金牌会员

Rank: 6Rank: 6

积分
1201
发表于 2018-7-2 20:58:37 | 显示全部楼层
老大真是久见啊   支持一波66666666666666
回复 支持 反对

使用道具 举报

2

主题

1463

帖子

1万

积分

金牌会员

Rank: 6Rank: 6

积分
14436
发表于 2018-7-3 12:16:54 | 显示全部楼层
666666666666666666666666
By:小辉
Qq群:1705141
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|CFSoft ( 粤ICP备19026017号  

GMT+8, 2019-8-20 13:40 , Processed in 0.057794 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表