X 提示語:您的IE瀏覽器版本太低,部分重要功能無法體驗或使用,請升級到IE8以上或者使用火狐、谷歌瀏覽器,瀏覽器下載:IE8,火狐瀏覽器,谷歌瀏覽器
微信公眾平臺開發實現2048游戲的方法
發布時間:2020-05-25 09:46:29    來源:容大互聯

本文實例講述了微信公眾平臺開發實現2048游戲的方法。分享給大家供大家參考。具體如下:


一、2048游戲概述


《2048》是比較流行的一款數字游戲。原版2048首先在github上發布,原作者是Gabriele Cirulli。它是基于《1024》和《小3傳奇》的玩法開發而成的新型數字游戲 。


隨后2048便出現各種版本,走各大平臺。由Ketchapp公司移植到IOS的版本最為火熱,現在約有1000萬下載,其名字跟原版一模一樣。衍生版中最出名的是《2048六邊形》版本,先后在全球81個國家中的board game中排進了前200。安卓版非?;鸨挠小短魬?048》,其2.0.0版以后還加入了雙人對戰。其次比較特別的有2048中國朝代版。更有2048自定義版,可以自己定義文字和圖片?!?048》是IOS中流行的一款。


HOW TO PLAY:Use yourarrow keysto move the tiles. When two tiles with the same number touch, theymerge into one!
NOTE:This site is the official version of 2048. You can play it on your phone via.All other apps or sites are derivatives or fakes, and should be used with caution.
Created by Gabriele Cirulli.Based on 1024 by Veewo Studioand conceptually similar to Threes by Ashe Vollmer.


游戲規則很簡單,每次可以選擇上下左右其中一個方向去滑動,每滑動一次,所有的數字方塊都會往滑動的方向靠攏外,系統也會在空白的地方亂數出現一個數字方塊,相同數字的方塊在靠攏、相撞時會相加。系統給予的數字方塊不是2就是4,玩家要想辦法在這小小的16格范圍中湊出“2048”這個數字方塊。


游戲的畫面很簡單,一開始整體16個方格大部分都是灰色的,當玩家拼圖出現數字之后就會改變顏色,整體格調很是簡單。


在玩法規則也非常的簡單,一開始方格內會出現2或者4等這兩個小數字,玩家只需要上下左右其中一個方向來移動出現的數字,所有的數字就會向滑動的方向靠攏,而滑出的空白方塊就會隨機出現一個數字,相同的數字相撞時會疊加靠攏,然后一直這樣,不斷的疊加最終拼湊出2048這個數字就算成功。


如果你是一個數字愛好者,或者是比較有天賦的數學天才,一上手便會為之著迷。就算不是數學天才,一般的玩家也能夠玩轉這款游戲,感興趣的話就去下載體驗一番。



目前這個游戲是開源的,所以不需要再來重新開發,


完整實例代碼點擊此處本站下載。


二、微信公眾平臺


把2048源碼放到自己的服務器上,得到游戲url。


當用戶關注時,提示回復2048可玩這個游戲,


當用戶回復2048時,回復圖文消息,圖文中帶2048游戲鏈接。


完整代碼如下所示。


<?php
/*
 方倍工作室
 CopyRight 2014 All Rights Reserved
*/
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET['echostr'])) {
 $wechatObj->responseMsg();
}else{
 $wechatObj->valid();
}
class wechatCallbackapiTest
{
 //驗證簽名
 public function valid()
 {
  $echoStr = $_GET["echostr"];
  $signature = $_GET["signature"];
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"];
  $token = TOKEN;
  $tmpArr = array($token, $timestamp, $nonce);
  sort($tmpArr);
  $tmpStr = implode($tmpArr);
  $tmpStr = sha1($tmpStr);
  if($tmpStr == $signature){
   echo $echoStr;
   exit;
  }
 }
 //響應消息
 public function responseMsg()
 {
  $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
  if (!empty($postStr)){
   $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
   $RX_TYPE = trim($postObj->MsgType);
    
   //消息類型分離
   switch ($RX_TYPE)
   {
    case "event":
     $result = $this->receiveEvent($postObj);
     break;
    case "text":
     $result = $this->receiveText($postObj);
     break;
   }
   echo $result;
  }else {
   echo "";
   exit;
  }
 }
 //接收事件消息
 private function receiveEvent($object)
 {
  $content = "";
  switch ($object->Event)
  {
   case "subscribe":
    $content = "歡迎關注方倍工作室\n回復 2048 開始游戲";
    break;
  }
  if(is_array($content)){
   if (isset($content[0])){
    $result = $this->transmitNews($object, $content);
   }else if (isset($content['MusicUrl'])){
    $result = $this->transmitMusic($object, $content);
   }
  }else{
   $result = $this->transmitText($object, $content);
  }
  return $result;
 }
 //接收文本消息
 private function receiveText($object)
 {
  $keyword = trim($object->Content);
  
  if (strstr($keyword, "2048")){
   $content = array();
   $content[] = array("Title"=>"2048游戲", "Description"=>"游戲規則很簡單,每次可以選擇上下左右其中一個方向去滑動,每滑動一次,所有的數字方塊都會往滑動的方向靠攏外,系統也會在空白的地方亂數出現一個數字方塊,相同數字的方塊在靠攏、相撞時會相加。系統給予的數字方塊不是2就是4,玩家要想辦法在這小小的16格范圍中湊出“2048”這個數字方塊。", "PicUrl"=>"http://img.laohu.com/www/201403/27/1395908994962.png", "Url" =>"http://gabrielecirulli.github.io/2048/");
  }else{
   $content = date("Y-m-d H:i:s",time())."\n技術支持 方倍工作室";
  }
  
  if(is_array($content)){
   if (isset($content[0]['PicUrl'])){
    $result = $this->transmitNews($object, $content);
   }else if (isset($content['MusicUrl'])){
    $result = $this->transmitMusic($object, $content);
   }
  }else{
   $result = $this->transmitText($object, $content);
  }
 }

 //回復文本消息
 private function transmitText($object, $content)
 {
  $xmlTpl = "


%s


";
  $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), $content);
  return $result;
 }

 //回復圖文消息
 private function transmitNews($object, $newsArray)
 {
  if(!is_array($newsArray)){
   return;
  }
  $itemTpl = " 
  
  
  
 
";
  $item_str = "";
  foreach ($newsArray as $item){
   $item_str .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $item['Url']);
  }
  $xmlTpl = "


%s

%s

$item_str
";
  $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), count($newsArray));
  return $result;
 }
}
?>

希望本文所述對大家基于php的微信公眾平臺開發有所幫助。


文章來源:網絡。如侵犯你的版權,請聯系我們的客服人員,我們會第一時間刪除文章。



容大互聯推薦閱讀:

 

從虛機產品的升級剖析獨立IP主機發展趨勢

  在談虛機產品的升級換代之前我們來先了解下何為傳統的虛擬主機,虛擬主機又是怎么樣的一種產品。所謂虛擬主機(VirtualHostVirtualServer)是使用特殊的軟硬件技術,把一臺計算機主機分成一臺臺'虛擬'的主機,

選虛擬主機的五個關鍵細節

  無論是企業還是個人都想擁有一個自己的網站已經變得十分簡單,網絡發展那么迅速,花費并不高,關鍵的問題是怎樣能選擇好一款耐用、實用的虛擬主機?! ∵x擇好的虛擬主機,以下幾點大家需要注意一下:  1、虛擬主機服務商的實力,現在做虛擬主機的商家

社交化人才市場SkillPages獲B輪融資950萬美元

  網易科技訊6月15日消息,據國外媒體報道,有消息稱,為有一技之長的人才和雇主提供平臺的SkillPages公司,近日在B輪融資中成功獲得950萬美元的投資,這也讓SkillPages公司的全部融資額達到1800萬美元?! ”据喌闹饕顿Y


本文來自容大互聯,專業的云計算數據中心服務商,國家高新技術企業,16年的專業深圳服務器托管、大帶寬出售、光纖專線接入、云服務器等行業沉淀,提供高性價比的產品和優秀的技術服務,贏得數十萬用戶的青睞。

為什么選擇我們
  • 19年品質

    專業服務團隊,19年運營經驗,值得信賴
  • 高新企業

    國家高新技術企業,深圳行業唯一
  • 雙軟企業

    深圳市“雙軟”企業,技術可靠
  • 全程服務

    7X24小時全程服務,不僅僅只是銷售產品
代理公司赚钱吗 福彩快3正规平台 国际尊宝娱乐 广东26选5开奖数据 破解11选5的密码出号 格力电器股票 北京体彩网-快中彩 股票涨跌简单原理 内蒙古快三开奖结果人 手机上的极速快三规律 五分时时彩软件下载