# Turn-based Multiplayer 回合制多人遊戲

在回合制多人遊戲中，遊戲的所有玩家，**共同維護一份遊戲的資訊**，包含遊戲進度以及參賽者，遊戲過程中**一次只有一個玩家有權修改**遊戲的進程，根據遊戲決定的玩法輪流，所有參與者可同步共享更新的比賽數據

## 目錄

* [遊戲資訊](#data)
* [遊戲狀態](#status)
* [遊戲情境](#general)
* [主題：簡易的回合制多人遊戲系統 - 透過 Parse](turnbased-multiplayer-hui-he-zhi-duo-ren-you-xi/jian-yi-de-hui-he-zhi-duo-ren-you-xi-xi-tong-tou-guo-parse)

## 遊戲資訊 <a href="#type" id="type"></a>

| 資訊   | 說明                                                                  |
| ---- | ------------------------------------------------------------------- |
| 參與者  | <p>遊戲玩家的數據，各玩家可以檢索比賽中其他玩家的 ID <br> 包含了遊戲順序、目前玩家...等等</p>            |
| 遊戲資料 | 遊戲的數據，隨著比賽的進行，當前玩家可以修改並存儲遊戲數據， 其他參與者可以檢索這些數據，並等待自己的回合               |
| 遊戲狀態 | 遊戲可能分為很多狀態，最基本的包含 **遊戲進行中**、**遊戲完成**、**遊戲過期**...等等，取決於參賽者和比賽期間的比賽動作 |

## 遊戲狀態 <a href="#status" id="status"></a>

| 狀態    | 說明                                                               |
| ----- | ---------------------------------------------------------------- |
| 遊戲進行中 | 進行中的比賽，可讓當前比賽參與者輪流進行比賽                                           |
| 遊戲完成  | 表示比賽已完成（例如，某玩家贏得了比賽，或是有人放棄比賽而確立了遊戲結果）。遊戲服務會向所有比賽參與者發送通知，通知他們比賽結束 |
| 遊戲過期  | 表示比賽已過期。如果玩家超過特定的時間沒有完成該回合則遊戲列入過期狀態                              |

## 遊戲情境 <a href="#general" id="general"></a>

* **遊戲設計者** 預先設立 **配對規則**，並透過配對系統完成配對
* 將 **參賽者**、**玩家順序** 寫入這局的 **遊戲資料**
* 當前的玩家收到 **換手** 通知
* 當前的玩家完成 **遊戲資料** 更新，並送出 **換手** 指令
* 下一個玩家收到 **換手** 通知，其他人收到 **遊戲資料更新** 的通知
* 當前玩家若完成遊戲勝負，則送出 **完成遊戲** 指令，所有玩家都收到 **遊戲完成** 通知
* 當前玩家若預期未完成該回合賽局，則 **遊戲過期**
