最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#開發(fā)答題贏錢游戲(自動(dòng)答題器)

 更新時(shí)間:2018年01月22日 08:43:49   作者:Kingthy  
現(xiàn)在最火的直播游戲,那就是答題贏錢直播了,如百萬英雄、芝士超人、花椒直播、沖頂大會(huì)等等,這些游戲的玩法都很簡單,答對(duì)12題即可瓜分獎(jiǎng)金了。玩法雖簡單但是完全答對(duì)12題難度就挺高了,下面小編給大家?guī)砹薈#開發(fā)答題贏錢游戲,需要的朋友參考下吧

一、前言

現(xiàn)在最火的直播游戲,那就是答題贏錢直播了,如百萬英雄、芝士超人、花椒直播、沖頂大會(huì)等等,這些游戲的玩法都很簡單,答對(duì)12題即可瓜分獎(jiǎng)金了。玩法雖然簡單,但是要能完全答對(duì)12題難度還是挺高的,畢竟要非常廣的知識(shí)面!

二、怎么做自動(dòng)答題

要能自動(dòng)答題,肯定是要能知道題目及答案了。題目可以從直播界面獲取,方法就是OCR或者搞到數(shù)據(jù)接口了………嘿嘿,都說了簡單教你,所以O(shè)CR或者分析數(shù)據(jù)接口這些復(fù)雜的操作,我肯定不教你了(我也不會(huì)啊^_%)……

幸好,現(xiàn)在市面上有一些非常有技術(shù)“逼格”的公司都在趁答題熱度,推出了答題助手之類的APP軟件,比如百度的《簡單搜索》、搜狗的《旺仔答題》、阿里UC的答題助手等等……它們都實(shí)現(xiàn)了答題功能,但是,由于它們只是輔助的助手,它們并不會(huì)自動(dòng)幫你答題,只是會(huì)分析出題目,然后用AI與大數(shù)據(jù)分析出可能性較高的答案項(xiàng)!所以并不能保證100%的正確率!雖然不能保證100%正確率,但有時(shí)“運(yùn)氣好”(AI也要運(yùn)氣?哈哈…現(xiàn)在的AI還是有點(diǎn)LOW了…)還是能完全答對(duì)12題的!

三、教你做自動(dòng)答題器

上面的幾個(gè)助手中,我用了百度的《簡單搜索》APP,因?yàn)樗С侄嗉业拇痤}游戲!為了保證人家的APP的使用量,還是厚道點(diǎn)直接使用它的APP吧,不要偷人家的接口數(shù)據(jù),但不“偷”接口數(shù)據(jù)我們要怎么從它的APP里獲取得到題目和答案數(shù)據(jù)呢?

用最古老但又最有效的方法,我們搭個(gè)HTTP代理,這樣APP的HTTP請(qǐng)求都會(huì)優(yōu)先經(jīng)過我們代理,不用任何“暴力”,我們就光明正大的“偷窺”到了“簡單搜索”的接口數(shù)據(jù)!

搭HTTP代理服務(wù)并且能對(duì)請(qǐng)求會(huì)話及數(shù)據(jù)進(jìn)行分析處理的,肯定是用開發(fā)與測試都愛用的強(qiáng)大的Fiddler軟件了!

電腦下載安裝好Fiddler,并且開啟允許遠(yuǎn)程訪問功能,如下圖:

由于百度簡單助手的接口請(qǐng)求是采用了HTTPS方式,為了能直接在Fiddler里分析出接口數(shù)據(jù),我們還要開啟HTTPS的解碼功能,如下圖:

開啟后會(huì)在你本地電腦安裝一個(gè)調(diào)試證書,你接受安裝就可以了(這調(diào)試證書的作用就是會(huì)替換掉APP請(qǐng)求交互用的證書)。藍(lán)色箭頭那個(gè)選項(xiàng),隨便你選了。

弄好上面的后,就進(jìn)入我們最核心的一步了,“偷窺到數(shù)據(jù)后自動(dòng)向手機(jī)提交答案”!,利用Fiddler的 Script 功能,就能非常的輕松做到,如下圖:

Fiddler里捕獲的所有會(huì)話請(qǐng)求都會(huì)執(zhí)行Script的代碼,所以利用這一功能,我們可在Script 實(shí)現(xiàn)“答案偷窺”功能,當(dāng)請(qǐng)求會(huì)話接收到遠(yuǎn)程服務(wù)端的數(shù)據(jù)返回響應(yīng)后OnBeforeResponse函數(shù)會(huì)被調(diào)用,因此我們可在這函數(shù)里增加我們想要做的功能代碼,完整代碼如下:

static function GetTextLength(text : String) : int{
  return System.Text.Encoding.GetEncoding("gb2312").GetByteCount(text);
 }
 static function GetItemValue(text : String, key : String) : String{
  var pattern = key + "\":\"?([^\",}]+)\"?";
  var m = Regex.Match(text, pattern);
  var v = m.Success ? m.Groups[1].Value : null;
  FiddlerObject.log(key + " >>>>" + v);
  return v;
 }
 static var questionId : String = "";
 static function OnBeforeResponse(oSession: Session) {
  if (m_Hide304s && oSession.responseCode == 304) {
   oSession["ui-hide"] = "true";
  }
  if(oSession.url.IndexOf("secr.baidu.com/nv/answer.sock") >= 0){
   var text = oSession.GetResponseBodyAsString();
   FiddlerObject.log(oSession.url);
   FiddlerObject.log(text);
   var title = GetItemValue(text, "text");
   var step = GetItemValue(text, "step");
   //step=2時(shí)才表示是最終認(rèn)為正確率最高的答案,有時(shí)題目出現(xiàn)復(fù)活卡文字時(shí)表示百度的OCR出現(xiàn)識(shí)別錯(cuò)了 :(
   if(title != null && title.IndexOf("復(fù)活卡") == -1 && "2" == step){
    var app = GetItemValue(text, "app");
    var qId = app + "_" + GetItemValue(text, "questionId");
    //答案(0-2)
    var r = GetItemValue(text, "result");
    //flag用于處理只提交一次答案
    var flag = qId != questionId;
    if(r != null && flag){
     questionId = qId;
     FiddlerObject.log(questionId + ">>選擇答案:" + (char)(65 + int.Parse(r)));
     var x = 0, y = 0;
     //計(jì)算題目長度,部分APP的題目顯示換行時(shí)導(dǎo)致答題項(xiàng)的坐標(biāo)值跟隨改變
     var len = GetTextLength(title);
     //取得手機(jī)APP里答題項(xiàng)的位置坐標(biāo)(不同屏幕的手機(jī)坐標(biāo)值不一樣)
     if(app == "huajiao"){
      if(r == "0"){
       x = 540;
       y = 720;
      }else if(r == "1"){
       x = 540;
       y = 880;
      }else if(r == "2"){
       x = 603;
       y = 1040;
      }
      var m = len / 28;
      y = y + (m * 100);
     }else if(app == "xiguashipin"){
      if(r == "0"){
       x = 565;
       y = 690;
      }else if(r == "1"){
       x = 565;
       y = 850;
      }else if(r == "2"){
       x = 565;
       y = 1020;
      }
      //var m = len % 36;
      //y = y + (m * 80);
     }else if(app == "chongdingdahui"){
      if(r == "0"){
       x = 550;
       y = 552;
      }else if(r == "1"){
       x = 550;
       y = 690;
      }else if(r == "2"){
       x = 550;
       y = 830;
      }
      var m = len / 36;
      y = y + (m * 100);
     }else if(app == "zhishichaoren"){
      if(r == "0"){
       x = 558;
       y = 509;
      }else if(r == "1"){
       x = 558;
       y = 686;
      }else if(r == "2"){
       x = 558;
       y = 845;
      }
      var m = len / 29;
      y = y + (m * 70);
     }
     if(x != 0){
      FiddlerObject.log(String.Format("已傳送答案>>>>{0} * {1}", x, y));
      //調(diào)用adb命令用于向手機(jī)發(fā)送點(diǎn)擊命令
      var startInfo = new System.Diagnostics.ProcessStartInfo("adb", String.Format("shell input tap {0} {1}",x, y));
      startInfo.CreateNoWindow = false;
      System.Diagnostics.Process.Start(startInfo);
     }
    }
   }
  }
 }

代碼實(shí)現(xiàn)很簡單,上面代碼的注釋,一看就懂,但有一點(diǎn)就是,不同手機(jī)上面的X,Y坐標(biāo)值可能要改動(dòng),上面只是我手機(jī)(1920x1080)的適配坐標(biāo)值。

四:開始自動(dòng)答題之旅吧

A、我們首先要將上面的《簡單搜索》APP跑起來并且還要讓它通過我們上面的Fiddler代理,因?yàn)椤逗唵嗡阉鳌肥茿PP,所以我們就讓它運(yùn)行在手機(jī)里或者安卓模擬器里,再設(shè)置一下手機(jī)或者模擬器的WIFI代理即可。

B、運(yùn)行答題APP的手機(jī)還要開啟USB調(diào)試功能,并且用USB線連接上剛才開啟Fiddler代理的電腦,運(yùn)行adb deivices命令能找到連接的手機(jī)就表示正常。

C、答案開始前先進(jìn)入《簡單搜索》對(duì)應(yīng)的答題游戲的題目區(qū)頁面,比如“百萬英雄”,再開啟對(duì)應(yīng)答題游戲APP。

經(jīng)過以上步驟后,就讓電腦自動(dòng)幫你答題吧:)

,當(dāng)然,答案是否準(zhǔn)確就要看百度的AI了:),有時(shí)還是能成功的,如我這次的闖關(guān),拿到了4元喲。。

五、后話

其實(shí)這類游戲,娛樂一下就好,不要沉迷在里面,想在里面“贏”大錢是不可能的,畢竟這里面肯定存在貓膩的。如為考慮運(yùn)營成本,比如A場說提供300W獎(jiǎng)金,不管最終有多少真人闖關(guān)成功,都會(huì)加總獎(jiǎng)金10%的機(jī)器人(虛擬人),這樣保證最后真人每人拿的獎(jiǎng)金最高不會(huì)到10塊錢,比如有5W真人成功闖關(guān)(實(shí)際真的能有這么多真人能完全答對(duì)12題?),每人最高可分得獎(jiǎng)金只有8.6塊左右,這樣實(shí)際成本只有42W多。用42W的實(shí)際成本去做一個(gè)300W噱頭的營銷運(yùn)營,是非常值得的!

總結(jié)

以上所述是小編給大家介紹的C#開發(fā)答題贏錢游戲(自動(dòng)答題器),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • WPF如何自定義TabControl控件樣式示例詳解

    WPF如何自定義TabControl控件樣式示例詳解

    這篇文章主要給大家介紹了關(guān)于WPF如何自定義TabControl控件樣式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • C#實(shí)現(xiàn)語音播報(bào)功能

    C#實(shí)現(xiàn)語音播報(bào)功能

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)語音播報(bào)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C#中Activator.CreateInstance()方法用法分析

    C#中Activator.CreateInstance()方法用法分析

    這篇文章主要介紹了C#中Activator.CreateInstance()方法用法,實(shí)例分析了C#中Activator.CreateInstance()方法的功能、定義及使用技巧,需要的朋友可以參考下
    2015-03-03
  • C#設(shè)置頁面單位和縮放的方法

    C#設(shè)置頁面單位和縮放的方法

    這篇文章主要介紹了C#設(shè)置頁面單位和縮放的方法,涉及C#設(shè)置頁面屬性的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • C# WinForm程序處理后臺(tái)繁忙導(dǎo)致前臺(tái)控件假死現(xiàn)象解決方法

    C# WinForm程序處理后臺(tái)繁忙導(dǎo)致前臺(tái)控件假死現(xiàn)象解決方法

    這篇文章主要介紹了C# WinForm程序處理后臺(tái)繁忙導(dǎo)致前臺(tái)控件假死現(xiàn)象解決方法,本文通過Application.DoEvents()解決這個(gè)問題,并講解了Application.DoEvents()的作用,需要的朋友可以參考下
    2015-06-06
  • C#簡單生成隨機(jī)密碼的方法示例

    C#簡單生成隨機(jī)密碼的方法示例

    這篇文章主要介紹了C#簡單生成隨機(jī)密碼的方法,結(jié)合具體實(shí)例形式分析了C#生成隨機(jī)密碼操作的前臺(tái)界面與后臺(tái)處理技巧,需要的朋友可以參考下
    2017-06-06
  • C#實(shí)現(xiàn)讀取指定盤符硬盤序列號(hào)的方法

    C#實(shí)現(xiàn)讀取指定盤符硬盤序列號(hào)的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)讀取指定盤符硬盤序列號(hào)的方法,涉及C#針對(duì)硬件屬性的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫中讀取頭像

    C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫中讀取頭像

    C#提供的PictureBox控鍵默認(rèn)情況下是方形的非常大的影響美觀,怎么解決這一問題呢?下面小編給大家?guī)砹薈# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫中讀取頭像的操作代碼,感興趣的朋友一起學(xué)習(xí)下吧
    2021-08-08
  • 解讀赫夫曼樹編碼的問題

    解讀赫夫曼樹編碼的問題

    本篇文章對(duì)赫夫曼樹編碼的問題進(jìn)行了分析說明,需要的朋友參考下
    2013-05-05
  • C#書寫規(guī)范

    C#書寫規(guī)范

    C#書寫規(guī)范...
    2007-03-03

最新評(píng)論

南开区| 天柱县| 塔河县| 清苑县| 桐乡市| 秦皇岛市| 日喀则市| 石河子市| 曲水县| 乌拉特后旗| 方山县| 广汉市| 漯河市| 栾川县| 新闻| 镇远县| 茌平县| 吴堡县| 竹溪县| 遵义县| 盐城市| 梧州市| 鹤峰县| 璧山县| 疏附县| 通化县| 肥东县| 玉田县| 建湖县| 观塘区| 禄丰县| 高要市| 鲁山县| 广德县| 曲麻莱县| 措勤县| 库伦旗| 鄂伦春自治旗| 潼关县| 靖安县| 辽宁省|