一款运行在Bluemix上的小游戏 - 2048

马上中秋,国庆长假,推荐一款2048游戏给大家,2048这款游戏大家都很熟悉,这次部署的2048是网页版本,基于Github上的开源项目修改而来,然后很好的运行在Bluemix之上。部署成功以后,可以在闲暇之余娱乐娱乐,可以长假时把连接分享给身边或者全球各地的亲朋好友,一起体会游戏的乐趣,还可以对游戏得分进行排名。

在这款2048游戏中,使用了Node.js + Mysql 的实现,正好这两个运行时和服务在Bluemix都有提供,我们可以直接拿来使用,不需要自己搭建,跟着下面的步骤,5分钟部署你自己的2048,体会一下云平台带来的便利。

开始之前你需要:

1. 申请Bluemix账号 (http://www.bluemix.net)

2. 在本地安装CloudFoundry命令行工具 (https://github.com/cloudfoundry/cli/releases)

然后开始下面步骤:

1. 下载2048源码到本地。 下载到地址:https://github.com/acostry/2048-on-Bluemix (点击页面右侧的 Download ZIP 即可下载到本地)

2. 下载后得到一个类似 2048-on-Bluemix-master.zip 的压缩包,解压到任意目录。

3. 打开终端-CMD命令行窗口,并进入到步骤2解压出来文件夹根目录, 你能看到所有的源码文件。

4. 登录到Bluemix,登录过程中,可能会询问你登入的Org和Space,依次运行如下命令,

cf api https://api.ng.bluemix.net

cf login (需要提供Bluemix账户和密码)

5. 部署应用到Bluemix

cf push <应用程序名> --no-start           

请将 <应用程序名> 替换为任意名字,但是要保证唯一性,不与云上其他的应用冲突,否则会部署失败

6. 创建和绑定MySQL服务到2048

cf create-service mysql 100 <服务实例名>  

cf bind-service <应用程序名> <服务实例名>

7. 启动应用

cf start <应用程序名>

8. 访问应用,开始游戏

在手机或者电脑访问:http://<应用程序名>.mybluemix.net

如果你没时间部署,直接浏览器访问已经部署好的2048,体验一下:http://2048-0817.mybluemix.net/


来看看代码里的实现,体会一下在云上是如何消费服务的,这里我们消费的是MySQL,以后得文章里会详细介绍这方面的内容:

// default database config
var db_config = {
host : 'localhost',
port : 3306,
user : 'root',
password : '',
database : 'test'
};
// read database config form VCAP_SERVICES env
if (process.env.VCAP_SERVICES) {
var env = JSON.parse(process.env.VCAP_SERVICES)
var mysql_config=env['mysql-5.5'][0]['credentials'];
db_config.host = mysql_config.hostname;
db_config.port = mysql_config.port;
db_config.user = mysql_config.username;
db_config.password = mysql_config.password;
db_config.database = mysql_config.name;
}
console.log('----->', 'db_config: ', db_config);
// create connection pool
var pool = mysql.createPool({
connectionLimit : 10,
connectTimeout : 10000, // 10s
host : db_config.host,
port : db_config.port,
user : db_config.user,
password : db_config.password,
database : db_config.database
});

// connecto to mysql
pool.getConnection(function(err, connection){
if (err) throw err;
// create table if it does'nt exist
connection.query("show tables like 'hiscores'", function(err, rows) {
if (err) throw err;
if (rows.length == 0) {
connection.query("CREATE TABLE `hiscores` (" +
"`id` int(11) NOT NULL AUTO_INCREMENT," +
"`name` varchar(255) NOT NULL," +
"`score` int(11) NOT NULL," +
"PRIMARY KEY (`id`))"
);
connection.query("CREATE UNIQUE INDEX `name` ON `hiscores` (`name`)");
}
});


长按或者扫描二维码,关注“LearningBluemix


欢迎关注 LearningBluemix! 该订阅号会定期发布学习 IBM 下一代云计算平台 Bluemix 的心得、收获、体会以及对相关云平台或者云计算技术的理解。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值