- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章微信公众平台开发实现2048游戏的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例讲述了微信公众平台开发实现2048游戏的方法。分享给大家供大家参考。具体如下:
1、2048游戏概述 。
《2048》是比较流行的一款数字游戏。原版2048首先在github上发布,原作者是Gabriele Cirulli。它是基于《1024》和《小3传奇》的玩法开发而成的新型数字游戏 .
随后2048便出现各种版本,走各大平台。由Ketchapp公司移植到IOS的版本最为火热,现在约有1000万下载,其名字跟原版一模一样。衍生版中最出名的是《2048六边形》版本,先后在全球81个国家中的board game中排进了前200。安卓版非常火爆的有《挑战2048》,其2.0.0版以后还加入了双人对战。其次比较特别的有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游戏链接.
完整代码如下所示.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
<?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
= "<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的微信公众平台开发有所帮助.
最后此篇关于微信公众平台开发实现2048游戏的方法的文章就讲到这里了,如果你想了解更多关于微信公众平台开发实现2048游戏的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在 cordova@7.1.0、cordova-ios@4.5.2 下运行。安装平台:ios 4.5.2。 我运行 npm install、bower install,然后运行 cordova
我正在使用 VSTS 构建 IOS,运行命令后出现以下错误:cordova build ios 平台“android”似乎不是有效的 cordova 平台。它缺少 API.js。不支持安卓。 Cord
您使用什么软件/Wiki 来编写和分享有关开发人员、测试人员和管理人员的规范? 你使用维基系统,如果是,你使用什么维基软件? 或者您是否使用 Sharepoint 来管理和版本规范?将 SharePo
这是一家销售完整软件套件/平台的公司的示例 www.ql2.com/technology/platform.php 我想知道这样的套件/平台是如何开发的?你必须使用J2EE吗? 我更感兴趣的是这家公司
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我有一个连接到套接字连接的应用程序,并且该连接向我发送了很多信息..可以说每秒 300 个订单(也许更多)..我有一个类(它就像一个监听器,对某个事件(并且该事件具有顺序)接收该顺序。创建一个对象,然
我即将开始一个 Netbeans 平台的项目。有没有人推荐他们用过并觉得有用的书籍或教程? 编辑: 这是一个已经开发好的swing应用。 最佳答案 除了 NetBeans 网站上的教程外,我还喜欢这本
有没有什么好的方法可以以非特定语言的方式定义接口(interface)/类层次结构,然后以特定语言生成相应的源代码?特别是,我需要同时针对 Java 和 C# 来创建一个相当全面的 API。我记得有一
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
大家晚上好我使用 API 平台,我想在创建实体时自动将所有者添加到我的实体中。我创建了一个事件来覆盖 API 平台,它获取当前用户并添加它。但是我的事件永远不会发生,但它确实存在于 debug:eve
这是一个有点奇怪的元编程问题,但我意识到我的新项目不需要完整的 MVC 框架,作为一个 Rails 人,我不确定现在该使用什么。 为您提供必要功能的要点;该网站将显示静态页面,但用户将能够登录并“编辑
这两天我的信息有点过载。 我打算建立自己的网站,允许本地企业列出他们的打折商品,然后用户可以进来搜索“Abercrombie T 恤”,然后就会列出出售它们的商店。 这是一个非常棒的小项目,我真的很兴
我的任务是为产品的下一代版本评估“企业”平台。我们目前正在考虑两种“类型”的平台——RAD(工作流引擎、集成 UI、工作流“技术插件”的小核心、状态的自动持久化……),例如 SalesForce.co
我需要一个不依赖于特定语言或构建系统的依赖管理器。我研究了几个优秀的工具(Gradle、Bazel、Hunter、Biicode、Conan 等),但没有一个能满足我的要求(见下文)。我还使用了 Gi
我在 Symfony 4 Flex 应用程序中使用 API Platform v2.2.5,该应用程序由一个功能 API 和 JWT Authentication 组成。 ,一些资源默认Open AP
虽然隐私法通常不属于我们开发人员的管辖范围,但我确实认为这是一个重要的话题,因为我们开发人员应该有责任警告我们的雇主,如果他们想要的东西会违反一些法律......在这种情况下,隐私法......通常情
我已经下载了 VisualVM 源代码,并尝试使用 Netbeans 7.01 编译 Glassfish 插件。这样做会导致以下错误: C:\source\visualvm\trunk\plugins
尝试 gradle 同步后...失败并在消息对话框中显示 Missing Android platform(s) detected: 'android-26' Install missing plat
大家好!我最近开始使用 Cordova,当我运行 Cordova platform add android 时,出现以下错误。我已经成功放置了 Java 和 Android SDK 的环境变量。但 n
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我是一名优秀的程序员,十分优秀!