iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
Software Development

透過迷霧,看破一切~~ZOOPARTY 動物園派對桌遊設計系列 第 7

[第七隻羊] 迷霧森林舞會前夕 建立使用者關聯

天亮了 昨晚是平安夜

關於迷霧森林故事

秘密通道

Rocky 循著發光的腳印繼續尋找爸爸媽媽的下落
沿著會場 經過河岸
隨著光點足跡走到了一個像是橋上
這個橋是由一顆千年松木的樹根跨越小河的兩邊
光點就在這裡失去了蹤影
https://ithelp.ithome.com.tw/upload/images/20210921/201311550v2Utrw5Sz.jpg
Rocky 滿頭黑人問號
卻也想不出個所以然
然而今晚就是舞會的舉辦日等到夜晚上弦月高掛在上方
就會開始進行
阿虎與呱呱忙著佈置環境
是一樣很大的森林空地
森林的 animal 也都慢慢往會場移動
Rocky 依然坐在牆上
沒有心思思考別的事情
此時要去跟他赴約的小狐狸
在遠方看到 Rocky 一個人在橋上不知道在做什麼
偷偷摸摸地接近他
並大力地拍下他的肩膀
疲憊不堪精神狀況又很差的 Rocky 一個沒坐好 整隻掉進水裡面
小狐狸好慌張
馬上到處搬救兵來救救 Rocky
大夥撈了好久都沒有撈到
請短吻鱷魚在水下幫忙找也都沒有看到蹤影
https://ithelp.ithome.com.tw/upload/images/20210922/20131155QndR9zdhYw.jpg
圖片來源
其他 animal 漸漸放棄了找到 Rocky的希望
小狐狸則是不死心地到處呼喊 Rocky 的名字
突然間
從會場傳來找到 Rocky 的消息
大夥連忙衝到會場去 急忙著問著阿虎
浣熊在哪 我們找半天都找不到
阿虎無奈著指著天空 說 看起來是在月球上
圓滾滾的 Rocky 身型取代了上弦月 變成了滿月

IMAGE ALT TEXT HERE
圖片來源
中秋節快樂
待續..

動物園派對

再來我們回到後端
我們先來把使用者初步關聯架構設計起來
在我們的情境中
角色將會擁有多種身份
有時候甚至會因為技能而互換身份
所以對系統來說
每個角色允許擁有多重身份
首先

  • 使用者的身份
    • 遊戲前分成三種 分別是
      • 室長(建立房間的使用者,也是其中一個玩家)
      • 11個玩家(坐下座位參與遊戲)
      • 一般觀眾(觀看遊戲)
    • 遊戲開始時,12位玩家多了遊戲角色身份
  • 一個房間有12個座位
  • 一個座位屬於一個房間,並只對應一個使用者
  • 一個房間可以選擇一種板子,每個板子有對應的角色技能
    所以我們先把欄位開起來
$ Rails g migration create_users
class CreateUsers < ActiveRecord::Migration[6.1]
  def change
    create_table :users do |t|
      t.string :email
      t.string :name
      t.references :room, index: true
      t.timestamps
    end
  end
end
$ Rails g migration create_rooms
class CreateRooms < ActiveRecord::Migration[6.1]
  def change
    create_table :rooms do |t|
      t.string :name
      t.integer :number_of_gamer, default: 12
      t.integer :board
      t.string :status

      t.timestamps
    end
  end
end

$ Rails g migration create_seats
class CreateSeats < ActiveRecord::Migration[6.1]
  def change
    create_table :seats do |t|
      t.belongs_to :room, null: false, foreign_key: true
      t.references :user, null: false, foreign_key: true
      t.string :status
      t.integer :number

      t.timestamps
    end
  end
end

在model的部分
使用者暫時不用有關聯

class User < ApplicationRecord
end

房間裡面則是與座位有一對多關係

class Room < ApplicationRecord
  has_many :seats, dependent: :destroy
end

座位則是屬於房間且只能對應一位使用者

class Seat < ApplicationRecord
  belongs_to :room
  has_one :user
end

如此一來我們就可以開始準備建立房間了

阿虎每日選幣

明早站穩就是好買點 守0.09633

天黑請閉眼


上一篇
[第六隻羊] 迷霧森林建築工事 V 哈囉世界安安vue
下一篇
[第八隻羊] 迷霧森林舞會I 建立遊戲房間
系列文
透過迷霧,看破一切~~ZOOPARTY 動物園派對桌遊設計30

尚未有邦友留言

立即登入留言