玩家在3人游戏中总能以某种方式看东西的算法

时间:2011-10-26 22:13:18

标签: c++ algorithm

假设我有一张适合4名玩家的桌子: 但是这只手中只使用了3名玩家:A,B,C。

在服务器上,布局如下:

    C
B
    A

但是所有玩家都必须使用正确的玩家顺序看到它,例如:ABC,BCA,CAB 他们还必须认为没有人坐在顶部,北方位置,客户总是认为底部和两侧都被占用。

所以例如: 服务器看到上面的内容,但C看到:

A       B
    C

B看到:

 C      A
     B

和A看到:

B      C
    A

我正在试图找出一种算法,可以计算出服务器上的位置,这个位置也会在客户端上映射。例如,如果我告诉它我想知道客户端B上的哪个位置也是服务器的A映射呢?答案是,服务器上的索引1映射到客户端上的索引3。我也想反过来。

我会手动编程,但我想知道算法是否可以执行此操作,因为有一个模式。

由于

2 个答案:

答案 0 :(得分:3)

我不确定我理解你的问题,因为它看起来微不足道,但是......

这只是一个循环转变。

pos = (pos - mypos) % numofplayers

答案 1 :(得分:1)

如果您有4个铃声配置的播放器,则将播放器位置存储在服务器上的阵列中,并将它们映射到每个客户端的显示位置。

示例:

绝对职位:position=[A, B, C]

用户A看到:A位于中心,索引为0。 B在右边,索引0 + 1,C在左边,索引0 - 1 MOD 3

用户B看到:B位于中心,索引为1。 C在右边,索引1 + 1。 A在左边,索引1 - 1

用户C看到:C位于中心,索引为2。在右边,索引2 + 1 MOD 3。 B在左边,索引2 - 1