シャドバ2Pickシミュレータ作成経過のメモ

できてる部分までで調べて習得したこと、覚えたことを書いてく

レイアウトはBootstrap

面倒なテーブルの部分は完全にコンテナレイアウトで表現できるし、自分がフロントエンドやデザインやってない人間なので、割と簡単にキレイに組めるのはありがたい話。

特にボタンを応用したりしてアイコン+背景オーバーレイとか簡単にできるのは本当にいいよね

PlayFramework + Scala

画面遷移周り

routes ファイルに追加するだけ

HTTPメソッド パス コントローラメソッド

例) GET /info controllers.InfoController.info

みたいな感じ。先にコントローラに必要なメソッドをもつように実装しておくと吉ですね。

AbstractController を継承して作成しとくといいっぽい。

コントローラから

Okメソッドで返すときの定義でレスポンスが変わるっぽい

HTML返すときは

views.html.info()

とすると、viewsのstart.info.htmlを使う

このとき、main.scala.htmlとコンテンツという形で表示する。

mainが全体のレイアウト

infoがmainの中にある@content内部に表示される

それ以外のレスポンスの返し方はまだ調べてない。Jsonで返す必要がどこかであるから、調べないといけない

ScalaのList周り

  • val 変数名 = List(A,B,C) とか
  • 作ったリストのシャッフル。
  • scala.util.Random#shuffle
  • これで受け取ったリストの先頭から3件取得
  • list#take(3)

これで、リーダーシャッフルして先頭3件取ることで、シャドバの2Pickの最初であるリーダー選択を作成できるようになった。

PlayframeworkのViewテンプレート周り

@は魔法のことば。

public配下がどんなふうにアクセスされるか

routesの定義がデフォルトこういう感じ

GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)

で、public配下の静的コンテンツにアクセスするにはこういう感じ @routes.Assets.versioned("images/hoge.png")

分岐は @if(条件){ コンテンツ }で。

条件には、普通のScalaの形式で書ける

これから調べること

実際のPick中はSPAでやりたいので、axiosでRESTへ投げたい

PlayframeworkでRESTを作ってjsonでレスポンスさせる必要がある