天亮了 昨晚是平安夜
4號:我跟全場站不同邊耶,我站7耶,我跟7號玩家共事過幾個月,應該是不常玩所以不知道這樣跳會被懷疑,因為他就覺得我很緊張,我是預言家沒有先講,就會被大家懷疑,可能很久沒玩會犯這個錯誤,加上他跳成這副德性,9號吃相很難看啊,天啊我對手太爛了這樣,這是9號非常基本款的招數,對9號來說信手捻來,後面的來講到7號的時候他一副就是我沒有想要理你們了認不到妳們家的事情,他不是尷尬也不是玩累了,就是覺得好無聊喔這個遊戲的這種感覺XD,聽到他的OS,我覺得5跟8聽得懂我在講什麼,因為他們兩位很猶豫,我不知道有沒有get錯,加上一面倒,所以我很站7邊,尤其全部人都在扛推6,我覺得很奇怪,所以我站7邊,9很明顯是狼王,1號金水我就吞不下去了,因為7號跳這麼爛,你不用發個金水拉票,所以我就覺得你在做隊友身份,你可能做給狼隊身份,我覺得2是好的但是3超級打2,因為2是唯一一張有猶豫到底7是不是真預言家的玩家,所以我覺得2有講到有講到這個東西篇好,現在全部風向已經是信9推7了,那幹嘛突然演一波,然後3打的坑是2 6 7 8,他也是有推6,跟9的口徑是一致的,因為9也有推2也有推6,跟9的口徑很一致,9也有推3跟6,所以3跟9坑太像了所以3也入我坑,所以我的坑現在有1 9 3,如果再抓一個我可能會抓8容錯,因為9有跟8對話,握會覺得跟9有對到話的人都偏向在做身份,因為他就覺得7號跳那麼爛了這場我一定穩跳贏,所以我現在對話的人全部都在幫你做身份,我的感覺,而且我現在也沒辦法歸一個外置位我也只能7 9,7 9投,如果真的衰到
7出去沒有啟動技能女巫請直接把9毒掉,我是想投9,9如果是狼王我就讓他帶這也沒有辦法,我有跳沒跳都沒差,我是騎士,如果撞到狼槍我就是兩神換一狼,沒辦法就只能這樣,如果我真的厲害應該是要從外置位歸到一狼,但我不敢,我真的不敢歸到外置位,所以我就直接讓局勢明顯一點,說不定我如果撞9結果9是好人那我不就..沒關係騎士選擇撞9
洛神:騎士發動技能撞9,9號不是狼人,4號玩家出局,接下來進行第一輪放逐投票
投7:1 2 3 5 6 8 9 10
投9:7
7號玩家出局,啟動角色技能,你要帶走的對象是?
7號:槍殺9號玩家
洛神:9號玩家出局,請至淘汰區
7號:跟我的狼隊友們說什麼好呢?我覺得5 6有身份
洛神:天黑請閉眼
待續..
有了登入系統之後我們就可以把current user
加入房間
我們先到座位的model加幾個我們會常常呼叫的方法
我們會常需要看座位是不是有空位,是不是已有玩家入座
所以先把空位跟非空位都先寫在 Seat.rb
的 model 之中
/app/models/seat.rb
class Seat < ApplicationRecord
belongs_to :room
def self.empty_seat_collection(room)
empty_seat_ids = []
room.seats.each do |seat|
if seat.user_id.blank?
empty_seat_ids << seat
end
end
empty_seat_ids
end
def self.occupied_seat_collection(room)
occupied_seat_ids = []
room.seats.each do |seat|
if seat.user_id.present?
occupied_seat_ids << seat
end
end
occupied_seat_ids
end
end
接下來先把創建房間的玩家指定為室長
這邊我們會用到這個 rolify gem
rolify 裝完之後用法很簡單 只要指定角色給該位使用者就可以了
再來我們重新回到之前做好的建立房間
重新寫一個方法叫做指定室長assign_seat_to_mayor(@room)
/app/controllers/rooms_controller.rb
def create
@room = Room.new(room_params)
if @room.validate(room_params)
@room.board = Room.boards[room_params[:board]]
@room.save
if @room.seats.count == 0
create_seats(@room.id, @room.number_of_gamer)
assign_seat_to_mayor(@room)
redirect_to room_path(@room), notice: '房間建立成功'
else
redirect_to new_room_path, notice: '發生錯誤 請重新建立房間'
end
else
render :new
end
end
接下來就可以指定創建房間的人為室長
指定的語法是
current_user.add_role :mayor
同時當使用者離開房間的時候我們要更新座位、移除原本的室長,
當房間還有人的時候,重新任意指定新室長
離開房間的人,我們還必須清除他的座位,並移除使用者本身正在遊戲的房間id
/app/controllers/rooms_controller.rb
def assign_seat_to_mayor(room)
empty_seats = Seat.empty_seat_collection(room)
if empty_seats.count > 0
seat = empty_seats.sample
seat.update(user_id: current_user.id)
current_user.update(room_id: current_user.id)
current_user.add_role :mayor
end
end
def purify_user_before_left_room(room)
occupied_seats = Seat.occupied_seat_collection(room)
# clear user rolify in the room and re-assign mayor role
clear_the_seat = occupied_seats.select{|s| s.user_id = current_user.id}
clear_the_seat.update(user_id: nil)
current_user.update(room_id: nil)
current_user.remove_role :mayor if current_user.has_role? :mayor
# clear seat from occupied to empty
if empty_seats <= 0
# hide the empty room
else
# assign new mayor
seat = occupied_seats.sample
new_mayor = User.find(seat.id)
new_mayor.add_role :mayor
end
end
這麼一來我們就完成室長建立房間、坐下座位,以及座位指定玩家的這些功能囉
我們今天來看比特,沒跌破 $41688 其他就隨意,詳細一點說,大跌在即請有買的看倌多多小心,$41688只是單獨指短期不跌破可以看看其他標的,但要小心誘多,修正大回調在 $43000沒守住時就已經底定,$36000 沒守住應該會跌破 $30000
天黑請閉眼