捕魚類遊戲中 玩家座位轉換

2021-09-02 19:16:40 字數 738 閱讀 4447

在棋牌類遊戲中,伺服器會下發同一房間內的所有玩家座位等資訊,但是每個客戶端都要展示玩家的第一(二)視角,所以需要將玩家的伺服器座位和客戶端資料做一下轉化。

捕魚遊戲的規則是: 如果自己得伺服器座位是1號或者2號位  則在客戶端座位不需要處理 , 如果自己的伺服器座位在3號位或者4號位,則需要將伺服器座位轉換成客戶端的1號或者2號位,其他人的座位同步變更。

**如下 

myseatid: 自己的服務端座位  seatid: 某乙個人的服務端座位

_getpositionid(myseatid, seatid) ,
實現流程是   拿到自己的伺服器座位,同時將別人的座位和自己的伺服器座位做轉化,輸出其客戶端座位。

**測試:

1: 如果myseatid =2 ,seatid =3  那麼伺服器3號座位的玩家   實際的客服端座位為  [seat[2-1][3-1]]=[1,2,3,4][2]=3;

2:   如果myseatid =3 ,seatid =2  那麼伺服器3號座位的玩家   實際的客服端座位為  [seat[3-1][2-1]]=[3,4,1,2]1]=4;

2:   如果myseatid =3 ,seatid =3  那麼伺服器3號座位的玩家   實際的客服端座位為  [seat[3-1][3-1]]=[3,4,1,2]1]=1;

捕魚遊戲幀同步方案

設計原則 玩家在按下的時候,就會看到子彈射出去。這種設計注定了,玩家會收到其他玩家在之前時間射出的子彈 優先保證自己的準確性,其他玩家的準確性可惜部分犧牲 同步方案 伺服器按照固定頻率下發同步幀,假定每秒10幀。每幀資料報括幀號 4個玩家的炮台發射角度,沒有發射則發 90度表示空。通常客戶端的邏輯幀...

遊戲中的指令碼

現在遊戲裡流行的指令碼有python 和lua 例如魔獸世界就是用lua指令碼來驅動邏輯的。我們為什麼用指令碼,而不是純用c 呢?當然,這與團隊協作以及工作效率有關。c 編譯速度不佳,當乙個專案達到比較龐大的乙個規模時,編譯的時間往往會讓人憤怒了。於是,python出現了。一些重要的演算法實現,圖形...

遊戲中的音效

1.遊戲中的即時音效 soundpool類 public int load context context,int resid,int priority 架子啊音訊檔案 context 該引數為應用程式的上下文 resid 該引數為要載入的音效資源的id priority 優先順序 例項 初始化聲音...