CODE 项目整体迁移至码云平台(https://gitee.com)公告
南极熊218 / my2048 JavaScript

我要打造史上最强2048

html5游戏开发 2048
拷贝地址

项目最近一次提交:3 年多 前 c2ac247b1

文件列表 提交日期 作者 提交信息 提交编号
public / 2014-06-23 10:47:42 4_nanjixiong218 南极熊218 初步完成-a 04092482
.gitignore 2014-06-11 21:05:39 4_nanjixiong218 南极熊218 部分配置-a f9813639
2048.html 2014-06-23 11:09:07 4_nanjixiong218 南极熊218 active tap change c2ac247b
README.md 2014-06-23 11:03:03 4_nanjixiong218 南极熊218 readme 3dd25f6e
app.js 2014-06-20 10:18:18 4_nanjixiong218 南极熊218 加入node中 f1637150
frameXu.js 2014-06-20 11:22:38 4_nanjixiong218 南极熊218 exits change b7748cc8
mime.js 2014-06-20 10:18:18 4_nanjixiong218 南极熊218 加入node中 f1637150

README.md

应用名称:你的2048

moPaas的url:http://my2048.sturgeon.mopaas.com/

详细说明以及应用场景

本项目是一个单页面游戏,所以没有什么应用场景,放松心情的休闲时间进行的娱乐而已。

最终设想

如果是简单的2048,相信大家已经玩腻了。而我要做的2048是可以任意搭配规则,设置主题,甚至联机pk竞技的。 下面介绍一下我的最终设想:

1、提供规则,难度选择

基础的规则大家应该都清楚,但是人们习惯新鲜变化的事物,有点变化总是好的,不会那么容易腻。 所以在规则上可以进行调整,比如:

  • 数字合并时可以级联合并
  • 随机生成2或者4的概率可以自由选择,甚至可以有一定概率生成8--2048都可以啊
  • 移动可以用方向键,也可以用WASD,WASD的移动代表两次移动,比如按W代表按了两次Up.
  • 。。。。。。

还有哪些可变规则随时想到都可以加入供选择,这样就不再那么单一了。

2、主题

这是我所设想的可玩性最好的一点了。据我的游戏经历,一般的游戏都会有一些奖励性触发机制,比如小霸王上的游戏 ,每到一个关卡,背景音乐,画面效果都会改变;又比如传统打怪升级, 技能越来越炫,每发一个技能,会触发一个动画效果,越强大的技能效果越绚丽。

那么在2048也可以体现这一点。 最直观的实现就是每合并到某个阶段就触发一种效果,这种效果的实现就可以多样化了。在web上可以是一段动画, 可以让背景发生变化,可以产生不同的背景音乐等等。而且这些设定我想实现成可装配的, 比如我会自己实现一些主题共大家选择。 目前我目前准备实现的主题包括:

  • 旅游地理主题:基本元素是一个个旅游景点,名胜古迹。每触发到一个景点,背景图片会变成对应景点的精美展示, 也可以用一个弹出层临时弹出景点名称和介绍。
  • 时间主题:基本元素是从人类的起源开始,按时间顺序递进,比如最基本的元素是原始人时期, 然后原始人时期会合并成秦朝,秦朝合并成汉朝,依次递进到现在甚至未来。而每触发到一个时期,会弹出对应时期的一张代表图片 或者视频动画进行展示。
  • 武功秘籍主题:依托于各类武侠小说,基本元素按武功的等级一次递进,比如最开始的最基本的元素可能为长拳,短棍等等, 依次递进可以到太极,八卦,降龙十八掌,打狗棍等各类武学。至于触发的效果可以是先是一段音频“我终于学会了XXX”, 然后生成一段对应武功的动画效果,动画可以用canvas实现等。

我的另一个打算是把主题开发向web开发者提供一个接口,然后可以让所以人都按照我的接口要求编写自己的创意主题, 可以发布到网络上供人下载,下载后可以装配到我的2048当中。这样的话,将会形成一个小的生态圈,主题越来越丰富,可观赏性也会越来越好。 所以最终一个优秀的主题也会是一个单一的程序,就我个人而言,自己目前水平有限,动画制作也没有经验, 所以目前恐怕很难做出很好的主题,只能先简单完成架构,实现一些基本动画。希望有兴趣的同学可以和我合作完成整个小项目

3、竞技性

这个就更加进阶了,把2048实现成一种竞技游戏。联机同时启动2048,开始pk竞技。 初步想法,两种竞技方式

  • 最简单的一种:谁先完成2048,谁赢;都死掉了按分数高者赢;同样分数按时间短者赢;
  • 血条方式:比如用武功秘籍主题,每一个人有一个血条,谁先学会某种武功会触发动画攻击对方, 如果对方没有及时学会武功将会受到伤害掉血。谁的血条先掉光谁输。当然这种实现将会很复杂。还需要思考很多问题。这只是个初步想法。

当前实现

按照我的最终设想,目前的完成状况是:

基础规则选择

目前简单了实现了两种规则

传统规则

与原始2048规则相同。 规则1 带有级联合并

提供主题选择

基础数字主题

数字的变化会触发背景色的渐变 旅游景点主题 基本元素变为景点名称,每合并出一个景点,背景图片会变为对应景点的照片 字符主题 基本元素变为英文字符,字符的不断递进会触发一些小的对应字符的动画

还提供了一个界面样式的基础设置,可以设置2048的边框大小,边框样式,边框颜色,也可以设置整个页面背景色。

所使用的技术以及服务组件

后台技术

整个项目是基于node的web项目,目前因为只是个静态单页面应用,且数据量不大,所以其实涉及到的后台内容不多, 所以就不需要用很多的node模块,也暂不需要数据库做持久化,当然更没有必要用express这类的mvc框架。 不过为了测试一下自己写的类似express的小框架,才用了自己的frameXu.js,实际上是没有必要的。

前端技术

前端的界面用的bootstrap+jquery进行搭建,模块化使用seajs, 一些小动画用到了css3,jqueryeaseing,canvas等

创新点

本应用作为单页面游戏,主要创新点在于其自动装配性,主题开发以及未来想要实现的主题生态圈和在线pk竞技。