天亮了 昨晚是平安夜
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
天黑请闭眼
<<: 【没钱买ps,PyQt自己写】Day 14 - 使用 QSlider 制作可拖曳的滑条
>>: DAY14 - 档案类的物件关系厘清(3) - ArrayBuffer
灵异现象 - 我根本没这个帐号阿 灵异现象 故事接着小新公司被入侵之後的延续, 小新在厂商调查的同时...
壹、前言 将 python 程序封装,使用者将更便於使用,而不需担心设定 python 环境 mac...
Purpose:运用’回呼函数Callback’,列举(筛选)子目录下符合档案 Enviro:Del...
Core Data 官方文件 Core Data 是 iOS 的资料库,可让使用者在本地端储存资料 ...
打球像做人 上图是笔者几年前拿网路上的图来东凑西凑,拼出来的桌面,本只是拿来练 Photo Imp...