2014-01-11 66 views
2

Okey,所以我有这个JavaScript应用程序,需要一些输入/技巧。创建数组或从数据库直接?

这是一个想做的事,和我将在我有什么解决这个的脑海:

有了这个程序,用户将登录,并试图摧毁一个“老板”和每一个用户的作品一起在这场戏中。因此,我们可以说这个“老板”拥有1000万的生命值,每个玩家在每次击中时获得1点生命值或者更多,但是这不是问题的一部分。 因此,我现在所做的是将每个玩家点击到数据库中,并通过ajax始终获得总点击数,这样玩家将永远知道这位“老板”留下了多少生命。

这里是真正的问题,我应该如何设置'老板'的健康和形象?因为当“老板”被击败时,我想可能会在24小时左右出现一位新老板(但这也不是这个问题的一部分),之后像10个不同的'老板'一样,洞过程重演。

这就是我现在如何处理这个问题,我已经在ID,bossHealth,BossImg和BossComplete的数据库中设置了一张表。因此,如果'boss'头号被击败,它将用BossComplete = 1更新数据库,如果不失败= 0。

一切正常,但它需要更长的时间来加载,而不是移动如果用户的互联网连接速度较慢。我想到的可能是直接在代码中设置一个数组,使用相同的数据(health,imgsrc等),当'boss'被击败时,它会转到下一个'boss'。

我正在寻找关于如何解决这个问题或只是指针的其他例子。在此先感谢,并希望你们中的一些人知道可能是更好的方式或更有效的方式。

+0

看起来更像是一个有组织的拒绝服务攻击,而不是一个互联网游戏给我。我估计你的数据库连接池将在一天的老板甚至爆发出汗之前枯竭。 –

+0

那么,'老板'并没有消失之前,它已经采取了所有的健康。而“有组织的拒绝服务”是什么意思? –

回答

3

我不认为Ajax在这里会很好。我会推荐WebSockets。您可以在这里查看演示:http://www.websocket.org/demos.html。例如,这看起来很不错http://rumpetroll.com/

尽量保持它在服务器上的轻量级,否则就会像提到的kuroi neko一样用完汁。例如,如果每个玩家都会向服务器轮询请求并干扰数据库,那么您的服务将会很快下降。

+0

感谢您的提示,将检查出:) –

+0

经过长时间的搜索和研究有关websockets,我发现没有可能的方法来运行我的域名上的websockets。因为我的提供者不支持websockets。有什么其他建议可以让请求更快更简单吗? –