iT邦幫忙

2021 iThome 鐵人賽

DAY 8
1
Software Development

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

[第八隻羊] 迷霧森林舞會I 建立遊戲房間

天亮了 昨晚是平安夜

關於迷霧森林故事

夢幻遊戲

看到天空滿月 Rocky
大家還在納悶到底是怎麼飛上去的
但大家在地表上也幫不上實質的忙
於是阿虎就繼續招呼大家就一邊賞著 Rocky月亮 一邊繼續進行舞會的安排
舞會現場充滿著金碧輝煌的佈景與燈光
不同的 anilmal 在個是葡萄酒間穿梭
阿虎拿起麥克風 說
很高興迷霧森林的 animal 能夠一起聚在這個地方
希望透過這次的活動可以讓大家感情更加緊密
請大家再石頭椅上坐好
阿虎拿起一隻毛筆
在地上畫了一隻鳳凰
https://ithelp.ithome.com.tw/upload/images/20210923/201311559DdLCODAmk.jpg
圖片來源
並將虎掌往地上一拍

整座森林搖晃震動
變成綠色搖晃樹影 穿梭在熱帶雨林
眼前突然出現一隻粉紅的的框線
無數的光點從無窮遠處飛向各個坐在石椅上的 animal

少女們紛紛緊握起雙手
讚嘆美不勝收的奇景
粉紅框線突然有個疑似鳳凰影子
從無形的粉紅色大門中緩緩走出
阿虎將他可愛的虎掌拍了兩次

乍看下是鳳凰的鳥 竟然是隻粉紅孔雀
並跟著阿虎的節奏把屏打開

圖片來源
就在粉紅孔雀開屏的瞬間
周圍粉紅光影
突然朝著特定座位飛去
石椅質地襯托著鎂光
慢慢的脫離地面漂浮在空中三十餘尺
就在大家還在驚奇歡呼中
粉紅光環的石椅突然消失在空氣中
並在原地生成多個黑洞這些石椅上的 animal 就這個突然消失在會場之中
只留下會場中他們的親友 阿虎 以及天空上的 Rocky 月亮
待續..

動物園派對

那我們就要來建立房間囉
首先我們先來建立一個 Rooms 專屬的controller

$ rails g controller rooms
$ rails g controller users
$ rails g controller seats

在gem中導入 simple_form

/app/gemfile.rb

gem 'simple_form'
$ bundle install

在房間中建立板子的選項

app/models/room.rb

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

  BOARDS = %w(standard wolf_beauty_knight crush wolf_king_dreamer wolf_king_guard evil_spirit_knight blood_moon_demon_Hunter)
  enum board: BOARDS

end
class RoomsController < ApplicationController
  before_action :set_room, only: %i[edit show destroy update]

  def index
    Room.all
  end

  def new
    @room = Room.new
  end

  def create
    @room = Room.new(room_params)
    if @room.validate(room_params)
      @room.board = Room.boards[room_params[:board]]
      @room.save
      #  save current_user with room_id
      redirect_to room_path(@room), notice: '房間建立成功'
    else
      render :new
    end
  end

  def show
  end

  def update
    @room.save if @room.validate(room_params)
    redirect_to root_path(@room.id)
  end


  def destroy
  end

  private

  def room_params
    params.require(:room).permit(
      :name, :number_of_gamer, :status, :board
    )
  end

  def set_room
    @room = Room.find(params[:id])
  end
end

接下來建立畫面選單

/views/rooms/_form.erb

<%= simple_form_for Room.new do |f| %>
  <%= f.input :name, label: '房間名稱'%>
  <%= f.input :number_of_gamer, label: '房間人數' %>
  <%= f.input :board, label: '板子',include_blank: false, collection: Room::BOARDS.map(&:to_sym) %>
  <%= f.input :user_id, as: :hidden, input_html: { value: User.first.id }%>
  <%= f.button :submit %>
<% end %>
/views/rooms/new.erb

<%= render 'form' %>

就可以把房間建立起來
https://ithelp.ithome.com.tw/upload/images/20210923/20131155Rvql3sShGf.png

阿虎每日選幣

Lina 守 0.031

抱歉今天有點趕 迷霧森林故事創作實在好難... 我們明天再整理一下建立房間的程式
天黑請閉眼


上一篇
[第七隻羊] 迷霧森林舞會前夕 建立使用者關聯
下一篇
[第九隻羊] 迷霧森林舞會II 房間座位設定
系列文
透過迷霧,看破一切~~ZOOPARTY 動物園派對桌遊設計30

尚未有邦友留言

立即登入留言