頭腦王者pk答題小程序開發思路 微信pk答題小程序開發 PK答題游戲你也可以做 微信pk答題游戲


   想必大家最近的朋友圈和微信群里都被頭腦王者PK答題刷屏了吧。確實很好玩,尤其是2018年的這波風口,手機答題,大家掏出手機,創建一個好友PK,然后你的好友點擊進來就可以和你一起PK答題。比之前的游戲好玩多了,游戲是純粹花費時間,但是答題呢,花費時間還能學到東西,增長見識哈。那好吧,我們開始來開發這個了。

  難點就是如何做到實時PK答題。我們用到的是小程序的socket編程。大家可以先看看微信小程序的接口文檔。

 后端呢,我們用到的是gateway worker這個socket通訊。

GatewayWorker2.x 3.x 手冊
http://doc2.workerman.net/326102

 

首先小程序前端使用wx.connectSocket 連接成功socket以后會返回 clientid,我們就是用后端php做clientid綁定,將每次的PK房間號作為一個groupid,存起來,每一個進來的就將他加入到這個組里面去。方便后面做PK答題的答案推送。因為實時PK答題,你自己選好了答案,還要等對方的答案出來,這樣你才知道你答對了沒有,對方答對了沒有。

 Gateway::joinGroup($clientid, $group_id);

   綁定成功。然后小程序里的用戶發送消息,就是用curl  post消息內容到后端php接口上   。每次你自己選了答案,就post到接口上,然后服務器上做廣播,給這個群組的人都廣播下另外那個人選的答案是什么。對方拿到別人的答案和自己的答案以后,提交答案,輸出自己答對了沒有,以及輸出對方答對了沒有。

  一樣,不多說,我直接上代碼了   向一個群組的所有終端客戶推送消息,這樣只要前端發送消息,后端就直接拿到內容,推送給所有的終端用戶。注意,推送的內容記得使用json編碼再推送哦。 把你要推送的答案都存在這個json里就可以了

 Gateway::sendToGroup($groupName=$redisName, $sendDataString);
                $ary['groupCount']= Gateway::getClientCountByGroup($groupName);
                $ary['groupClientsession']= Gateway::getClientSessionsByGroup($groupName);
                $ary['getAllClientCount']= Gateway::getAllClientCount($groupName);

    難點就是這些答案如何相互推送,實時抓取,其他的比如比較答案正確什么的,我就不多說了,很簡單的,相信你們可以做出來的。另外要啰嗦下,答案你最好存成json格式,方便以后做多選。我們暫時自己做的是單選,還不允許做多選。你只要把答案做成json后面比較答案的正確還是錯誤就容易多了。

 

 好了,就介紹到這里吧,現在微信PK答題小程序非常火,趕緊你也開始開發一個你自己的答題小程序,邀請你的好友一起來PK答題吧。

 

  我,秋峰,phper,目前自創業,做項目系統開發,php后端加小程序前端結合  今天就給大家分享到這里,希望對大家有所幫助。歡迎交流  大家相互學習 共同提高 我的 微信號:qiufeng2999

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM