TIM Labs

前回までのあらすじ

シェフィの実装を始めた俺達はようやく仮UIをまともにしようと活動を始めたばかり。何となくそれっぽい感じにカードを表示してみたものの、まだまだやることは沢山残っている。

よりビジュアル系になった図

果たしてよりカッコイイ見た目にできるのであろうか......?

(※ソースコードはGitHubで公開されておりすぐに遊ぶこともできます)

前回までのあらすじ

シェフィを実装しようと思い立った俺達はとうとう全カードの実装を終えた。ゲームそのものは実装しきったと言っても良いが、しかしそのUIは残念なまま。具体的にはこんな感じ:

残念なシェフィのUI

これでは作った当人も遊ぶ気が起きない。もっとまっとうなUIにしなければ......

テキスト編集にVimを利用しているのですが、とても奥が深い道具なので一人で使う分には気づかない機能が沢山あります。 日頃職場の先輩方から教わりとても効率的に出来るようになったVimのtipsを、いくつかこの記事にまとめます。 知ってる人は既に使いこなしているものばかりだと思いますが、Vimのそんな便利だけど気付きにくい機能を共有できればと思います。

前回までのあらすじ

シェフィを実装しようと思い立った俺達はようやくひつじを増やすカードの実装ひつじを減らすカードの実装を終えた。しかし実装すべきカードはまだいくつか残っている状態。果たして無事にゲームを実装し終えることができるのか。

前回までのあらすじ

シェフィを実装しようと思い立った俺達はとうとう個々のカードの実装に取りかかったところ。しかし実装すべきカードはまだまだ沢山残っている状態。果たして無事にゲームを実装し終えることができるのか。

前回までのあらすじ

シェフィを実装しようと思い立った俺達はゲームの大枠を遊べる状態にまで持っていけたところ。しかしカードゲームなのにカードが全く実装されていないのでカードゲームになっていない状態。果たして無事にゲームを実装し終えることができるのか。

前回までのあらすじ

シェフィを実装しようと思い立った俺達は基本ルールの実装を何とか終えたばかり。しかしUIが付いてないので肝心のゲームができない状態。果たして無事にゲームを実装し終えることができるのか。

前回までのあらすじ

シェフィを実装しようと思い立った俺達はゲームの基礎部分の作成を終えたばかり。しかし地味な作業ばかり続いて若干飽きてきた。果たして無事にゲームを実装し終えることができるのか。

前回までのあらすじ

オセロシリーズに続く題材としてシェフィを実装しようと思い立った俺達は大まかな設計をしただけで力尽きてしまった。実際のコードはまだ一行も書かれていない。果たして無事にゲームを実装し終えることができるのか。

Rails のバリデーションには特定のコンテキストのときだけ実行させることができる on オプションが存在している。

validates :field1, presence: true
validates :field2, presence: true
validates :field3, presence: true, on: :admin

こうすると、 valid?(:admin) のときだけは全てのフィールドが必須入力となるが、そうでない場合は field1field2 のみ必須となり、 field3 は任意入力になる。なるほど、便利だ。

ところが、これを逆転させたいとき、即ち :admin コンテキストのとき「だけ」field3 を任意入力にしたいとなると、途端に面倒なことになる。

validates :field1, presence: true
validates :field2, presence: true
validates :field3, presence: true, on: [:create, :update, :context_foo, :context_bar]

おおう。これ、 :context_baz が増えたら、ここもメンテナンスせなあかんのか? ちょっとそれはなくない? このコードからは「:admin コンテキストの時だけ任意入力」という意図が全く読み取れない(そもそも :admin が出てこないではないか)ので、適切にメンテナンスするのは無理がある。

最近のコメント