C++ 3人游戏中玩家总是以某种方式看待事物的算法

C++ 3人游戏中玩家总是以某种方式看待事物的算法,c++,algorithm,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 我正试图找出一个算法,根据服务器上的位置

假设我有一张可以容纳4名玩家的桌子: 但是在这个游戏中只使用了3个玩家:A,B,C

在服务器上,布局如下所示:

    C
B
    A
但所有玩家都必须以正确的玩家顺序观看,例如:ABC、BCA、CAB 他们还必须认为,没有人坐在最上面、最北边的位置,客户总是认为最下面和两边都有人

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

A       B
    C
B见:

 C      A
     B
A看到:

B      C
    A
我正试图找出一个算法,根据服务器上的位置,它也映射到客户端上的位置。例如,如果我告诉它,我想看看服务器在客户端B上的哪个位置也是映射?答案是,服务器上的索引1映射到客户端上的索引3。我还想做相反的事情

我会手动编程,但我想知道是否有一个算法可以做到这一点,因为有一个模式


谢谢

我不确定我是否理解你的问题,因为它看起来很琐碎,但是

这只是一个循环移动

pos = (pos - mypos) % numofplayers

我不确定我是否理解你的问题,因为它看起来很琐碎,但是

这只是一个循环移动

pos = (pos - mypos) % numofplayers

如果环形配置中有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
。A在右侧,索引
2+1 MOD 3
。B在左边,索引
2-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
。A在右侧,索引
2+1 MOD 3
。B向左,索引<代码> 2–1

不完全,这不考虑客户跳过北方部分,只看到东西方和南部的球员。3个球员,3个位置。忘记北方。我的意思是,对于某些玩家,某些东西会映射到北方,在这种情况下,位置会增加或减少1,以确保客户端永远不会收到北方位置。似乎你应该为每个玩家定义静态映射。不完全是,这并不考虑客户跳过北方部分,只看到东西方和南部的球员。3名球员,3个职位。忘了北方吧。我的意思是,对于某些玩家来说,某些东西会映射到北方,在这种情况下,位置会增加或减少1,以确保客户端永远不会收到北位置。似乎你应该为每个玩家定义静态映射。你是逆时针方向,但这很有帮助。我还没有弄清楚。你是逆时针方向,但这很有帮助。我还没有弄清楚。