小编sta*_*gas的帖子

在Javascript中返回正则表达式匹配()的位置?

有没有办法在Javascript中检索正则表达式匹配()的结果字符串中的(起始)字符位置?

javascript regex match string-matching

128
推荐指数
6
解决办法
10万
查看次数

带有JavaScript后端和前端的多人游戏.什么是最佳做法?

我正在考虑在Node.js中创建一个Web多人游戏.这意味着我将在后端和前端使用相同的语言.这将是实时的,每个'房间'最多约20人,所以我有一些想法:

  1. 如何弥补所有用户之间的延迟,以便每个人同时看到同样的事情?我正在考虑跟踪每个玩家的平均ping时间,找到最慢的玩家,并告知其他客户他们必须延迟每个玩家的时间(以毫秒为单位),以便每个玩家尽可能同步.

  2. 我正在考虑在后端和前端运行游戏代码(因为它是两端的JavaScript)并且只是有一个纠错机制来与后端的"真实游戏"同步.这样,游戏应该在前端平滑地执行,并且在同步发生时只有很少的故障.此外,这将最小化前端JavaScript黑客攻击,因为作弊者将同步到后端游戏.

  3. 我是否应该通过套接字(按键)接收玩家行为,通知所有其他玩家其他玩家的行为,同时在后端"玩"游戏,并将同步信息发送给整个游戏状态的每个人.同时他们同步?

你怎么看?我应该考虑或注意更多的东西吗?

请发布有关多人游戏的文档或文章的任何想法或链接.


编辑:这些是有用的:

javascript multiplayer node.js

37
推荐指数
3
解决办法
2万
查看次数

图形结构数据库和Php

我想使用php使用图形数据库.你能指出一些入门资源吗?那里有代码/教程吗?或者是否有任何其他方法来存储在完全随机/抽象情况下彼此相关的数据?

-

非常抽象的关系所需的例子:约翰与玛丽有关,都与学校有关,约翰高,玛丽矮,约翰有蓝眼睛,玛丽有绿眼睛,我想要的问题是哪些人与'有短暂的人有关绿眼睛去学校' - >回答约翰

-

另一个例子:

    TrackA -> ArtistA
           -> ArtistB

           -> AlbumA -----> [ label ]
           -> AlbumB -----> [   A   ]

           -> TrackA:Remix
           -> Genre:House

           -> [ Album ] -----> [ label ]
   TrackB  -> [   C   ]        [   B   ]
Run Code Online (Sandbox Code Playgroud)

示例查询:

哪个类型的TrackB更接近?回答:众议院 - 因为它与专辑C有关,专辑C与TrackA有关,与类型:House有关

获取所有类型:标签A的房屋相关专辑:结果:AlbumA,AlbumB - 因为他们都有TrackA与流派有关:House

-

它可以在MySQL中使用,但它需要一组固定的每个项目的属性/列和一个复杂的非灵活查询,而我需要每个属性都是一个项目而不是"属于"某个东西,而不是'与某事有关.

php database database-design nosql graph-databases

17
推荐指数
1
解决办法
5778
查看次数

如果'else'即将发生,那么它是否会被宣布?

可能重复:
在不需要的情况下,是否应该保留或删除?

什么时候

a = 0
Run Code Online (Sandbox Code Playgroud)

这个:

var foo = function() {
  if (a != 0) return true
  return false
}
Run Code Online (Sandbox Code Playgroud)

或这个:

var bar = function() {
  if (a != 0) return true
  else return false
}
Run Code Online (Sandbox Code Playgroud)

if-statement coding-style

13
推荐指数
3
解决办法
746
查看次数

如何使Javascript代码黑客/注入/操作变得困难?

有没有办法防止或使其难以让某人注入Javascript并操纵变量或访问函数?我的想法是在每次重新加载时随机更改所有var名称,以便每次都需要重写恶意软件脚本?还是有其他不那么痛苦的方法?

我知道最终有人会破解他的方式,但我想知道如何使重现行动变得困难,以便人们不会发布书签或类似的东西供所有人使用.我不在乎专家是否在代码中找到了自己的方式,但我希望它比它复杂一点javascript:d=0;

如果你知道如何使黑客攻击Javascript更困难,请写下这些.

javascript browser security code-injection malware

7
推荐指数
2
解决办法
3638
查看次数

如何在所有系统上的所有浏览器上以相同的速度播放JavaScript动画?

我有一个函数,计算在X和Y轴上移动的各种对象的动画中的下一帧[我称之为frameRender()]和一个将结果帧应用于对象的函数[我称之为frameDisplay()].物体不仅从A点移动到B点,它们不断移动,总是接收新的目标坐标.我使用setInterval()1000/frameRate间隔的但是由于浏览器没有准确的计时,这似乎根本不起作用.

问题是:如何确保动画具有恒定的帧速率,并且将在所有系统上的所有浏览器上以相同的速度运行?我已经尝试了一切,即使只是在不同的浏览器上也无法获得准确的结果(我在Firefox和Chrome上测试,Chrome通常显示得更快).

结果应该是:当它播放缓慢时,动画间隔应首先减小,然后尝试跳过一些帧[跳过frameDisplay()],如果DOM显示缓慢,直到它正确播放.当它快速播放时,动画间隔应该增加,使动画以正确的速度播放.

但是如何保持所有这一切的一致性,因为你不能总是确定浏览器什么时候变慢,或者什么时候它们会快速执行.例如,如果有大幅度的移动,我们减少间隔以保持帧速率稳定,然后突然大多数移动物体停止或移动不多,它会突然执行得非常快!

有任何想法吗?

javascript performance animation frame-rate cross-browser

6
推荐指数
2
解决办法
3364
查看次数

用于无向图的Nosql DB?

我想存储数百万个节点的图形,其中每个节点以无向方式链接到另一个节点(点A到B,自动B指向A).我已经将Neo4j,OrientDB作为可能的解决方案进行了检查,但它们似乎面向有向图,而Neo4j对于超过100万个节点而言不是免费的,对我来说不是一个解决方案.

你能帮我解决一下其他NoSQL数据库(Redis,CouchDB,MongoDB,......)最适合这样的事情以及如何实现它?我想制作一个无属性(只给我链接元素)广度优先查询2个深度级别(有A < - > B,B < - > C,C < - > D,查询A应该给我B和C,但不是D).

database graph breadth-first-search nosql data-structures

4
推荐指数
1
解决办法
1473
查看次数