위 챗 공식 플랫폼 개발 2048 게임 실현 방법

본 고 는 위 챗 공식 플랫폼 개발 이 2048 게임 을 실현 하 는 방법 을 실례 로 서술 하 였 다.모두 에 게 참고 하도록 공유 하 다.구체 적 으로 다음 과 같다.
게임 개요
'2048'은 비교적 유행 하 는 디지털 게임 이다.원판 2048 은 먼저 github 에 발표 되 었 고 원작 자 는 Gabriele Cirulli 였 다.그것 은《1024》와《소 3 전 기》의 게임 방법 을 바탕 으로 개 발 된 신형 디지털 게임 이다.
그 후에 2048 년 에 각종 버 전이 등장 하여 각 플랫폼 을 걸 었 다.Ketchapp 에서 IOS 로 이식 한 버 전이 가장 핫 하 다.현재 약 1000 만 원 이 다운로드 되 고 있 으 며 이름 은 원본 과 똑같다.파생 판 중 가장 유명한 것 은'2048 육각형'버 전 으로 전 세계 81 개국 중 보드 게임 에서 200 위 안에 들 었 다.안 드 로 이 드 버 전 은'도전 2048'이 흥 행 했 고,2.0.0 버 전 이후 2 인 대전 에 도 합류 했다.그 다음으로 특이 한 것 은 2048 중국 왕조 판이 다.2048 사용자 정의 버 전 으로 문자 와 그림 을 스스로 정의 할 수 있 습 니 다.2048'은 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 이라는 숫자 를 맞 추 면 성공 이다.
만약 당신 이 디지털 애호가 이거 나 천부 적 인 재능 을 가 진 수학 천재 라면,손 에 넣 자마자 반 할 것 이다.수학 천재 가 아니 더 라 도 일반 게이머 들 은 이 게임 을 돌 릴 수 있 고 관심 이 있 으 면 다운로드 체험 을 해 보 자.

현재 이 게임 은 시 작 된 것 이기 때문에 다시 개발 할 필요 가 없다.
전체 인 스 턴 스 코드 는 여 기 를 클릭 하 십시오본 사이트 다운로드
2.위 챗 공식 플랫폼
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 = "         
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())."
"; } 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 = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), $content); return $result; } // private function transmitNews($object, $newsArray) { if(!is_array($newsArray)){ return; } $itemTpl = " <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> "; $item_str = ""; foreach ($newsArray as $item){ $item_str .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $item['Url']); } $xmlTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[news]]></MsgType> <ArticleCount>%s</ArticleCount> <Articles> $item_str</Articles> </xml>"; $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), count($newsArray)); return $result; } } ?>
본 고 에서 말 한 것 이 모두 가 php 를 바탕 으로 하 는 위 챗 공공 플랫폼 개발 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기