C++ 3人游戏中玩家总是以某种方式看待事物的算法
假设我有一张可以容纳4名玩家的桌子: 但是在这个游戏中只使用了3个玩家:A,B,C 在服务器上,布局如下所示: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 我正试图找出一个算法,根据服务器上的位置
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,以确保客户端永远不会收到北位置。似乎你应该为每个玩家定义静态映射。你是逆时针方向,但这很有帮助。我还没有弄清楚。你是逆时针方向,但这很有帮助。我还没有弄清楚。