這是一個使用 Ruby on Rails 實作的簡單專案,目的是實作綿羊爭地盤遊戲。
This is a simple project to implement the game split(https://boardgamegeek.com/boardgame/54137/battle-sheep) by using ruby on rails.
- 一開始每位玩家有 16 隻綿羊。
- 玩家輪流放置地圖版塊。(Not support in Sprint 1)
- 玩家輪流在地圖邊緣的空格上放置自己綿羊。
-
- 玩家選擇自己的一疊沒被包圍的綿羊。
- 一疊:至少有兩隻綿羊。
- 被包圍:該疊綿羊四周都有其他綿羊或是地圖邊緣。
- 若所有綿羊都被包圍,則跳過該玩家。
-
- 玩家將『1 - N-1』隻綿羊沿著任意方向移動,並在遇到其他綿羊或是地圖邊緣時停止。
- N:該疊綿羊的數量。
- 最少必須移動一格。
-
- 換下一位玩家。
- 當所有玩家的綿羊都無法移動時,遊戲結束。
- 玩家獲勝的條件是佔領地圖上最多的空格。
- 若有多位玩家佔領空格數相同,則擁有最大群綿羊的玩家獲勝。
- 若最大群綿羊也相同,則共同獲勝。
- 註冊
- 登入
- 登出
- 取得房間列表
- 建立房間
- 取得房間資訊
- 加入房間
- 離開房間
- 取得遊戲資訊
- 開始遊戲
- 結束遊戲
- 放置綿羊
- 從準備區放置『所有綿羊』到『邊緣的空格』上 (準備階段)
- 從『格子』選擇『x』隻綿羊放置到『空格』上 (遊戲進行階段)
- 使用者
- 房間
- 遊戲
- has_many :games
- name
- password_digest
- has_many :users as players
- has_many :games
- has_one :game as current_game
- name
-
room_id: int
-
is_finished: boolean
-
players: color array
-
current_player_color: color
-
steps: json
- original_grid
- destination_grid
-
map: grid array
-
grid:
- x
- y
- sheep_count
- color
-
create visitor model as user
-
create room model
- 建立房間
- 取得房間列表
- 加入房間
- 離開房間
-
create game model
- 開始遊戲
- 結束遊戲
- 放置綿羊
-
create step model
- the step details of the game