위 챗 공식 플랫폼 개발 2048 게임 실현 방법
7417 단어 위 챗 공식 플랫폼개발 하 다.
게임 개요
'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 를 바탕 으로 하 는 위 챗 공공 플랫폼 개발 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
위 챗 공식 플랫폼 에 대한 SDK찾 아 보 니 현재 위 챗 공식 플랫폼 은 SDK 형식의 개발 패 키 지 를 제공 하지 않 았 고 인터페이스 설명 문서 와 접 속 된 phop sample 만 있 습 니 다.현재 인터넷 상에 서 이른바 '위 챗 퍼 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.