我正在考虑制作网络游戏.我对此有点新意,并且已经遇到了很多问题,试图为航位推算和网络延迟制定一个好的计划,所以我很想看到关于这个主题的一些好的文献.我将描述我考虑过的方法.
最初,我只是将玩家的输入发送到服务器,在那里进行模拟,并向所有玩家广播游戏状态的变化.这使作弊变得困难,但是在高延迟下,事情有点难以控制,因为你不会立即看到自己行为的结果.
这篇GamaSutra文章提供了一个解决方案,通过在客户端上进行模拟,可以节省带宽并使本地输入看起来更流畅,但它似乎可以防止窗外作弊.此外,当玩家开始操纵环境,推动岩石之类的时候,我不知道该怎么办.这些先前中立的对象将暂时成为客户端发送PDU所需的对象,或者可能是多个玩家同时执行的对象.谁的PDU会赢?每个玩家何时停止双重跟踪物体(与死亡计算版本进行比较)?天堂禁止两名球员参加相扑比赛(例如开始互相推进).
这个gamedev.net位显示gamasutra解决方案不合适,但描述了一种不能真正修复我的协作巨石推动示例的不同方法.我发现的大多数其他东西都是针对射手的.我希望看到一些更适合像SNES Zelda这样的游戏的东西,但需要更多的物理/动力.
我是Ruby on Rails的新手,但我创建了几个小应用程序.无论如何,我真的对OpenID感兴趣,我想在Rails应用程序中实现OpenID身份验证和一些Sreg内容.我所做的所有研究都提出了过时或者对我不起作用的文章.因为我对Rails这么新,所以我很难调试这些问题......
在Rails中实现OpenId的最佳方法是什么?
在ruby中,有一种方法可以在定义变量或常量后"取消定义"它吗?
在我们的轨道environemnts,我们定义了三个contants之一是true
,根据不同的环境:TESTING
,DEVELOPMENT
或PRODUCTION
.然后,在控制器代码中,我们使用defined?
以查看我们所处的环境,即:defined? PRODUCTION
.
现在,我想对一些特定于环境的行为进行单元测试.我最初的尝试是在我的测试中设置适当的常量,然后在拆解时重置它们.然而,我无法弄清楚如何重置DEVELOPMENT
,并PRODUCTION
使得defined?
返回false.
显然,一个解决方案就是只检查合适的常量是否也是真的,除了检查它是否已定义,但这将导致必须触及相当数量的现有代码.
编辑:我意识到这绝对不是正确的做事方式.唉,改变它是一项非常重要的任务,所以我正在寻找一种简单的方法来单独测试现在的情况.另外,我也很好奇关于是否有可能取消定义变量/常数的低级语言问题.
如何定义named_scope以返回在过去7天内创建的所有记录,然后如何在控制器中使用该命名范围?
有没有人知道Rails中可以冻结关联对象的任何方法.我遇到的问题是我有一个包含许多订单项的订单模型,而这些订单项又属于某个产品或服务.支付订单时,我需要冻结订购商品的详细信息,以便在价格更改时保留订单的总计.
我不确定这是否可以在Java中使用.此外,我无法弄清楚要在Google上查询的内容.无论如何,我想要一个方法,将一个参数作为一个Class(接口或类),方法的返回类型是该类的一个实例.事实上,我不想重铸一个Object.
我不确定这个功能是否存在或语法是什么.假设我有一个名为XYZ的类,这是我的伪方法.
private XYZ createInstance(XYZ.class, other args) {
...
// create an instance of XYZ with other args named "_xyz_"
...
return _xyz_;
}
Run Code Online (Sandbox Code Playgroud)
现在假设XYZ是某种通用语法.这在Java中是否可行?谢谢你的帮助.