Shinosaka.rb #8
September 27, 2014
Shinosaka.rbのペアプロに参加しました。
A〜Eの5チームに別れて、それぞれのお題で発表しました。
各チームのお題はこちら
| A | 自動販売機 |
| B | 自動販売機 |
| C | 自動販売機 |
| D | ブラックジャック |
| E | ブラックジャック |
クレオ大阪北の1階の会議室は、ネットワークが繋がらないというトラブルで開始が遅れて 1時間30分程度のコーディングでしたが、楽しくペアプロができました。
RubyKaigi 2014のグッズとGroongaのステッカーを頂きました。 (来年は行きたいです。)

Ritoさん、ogomのTeamBは自動販売機のお題でした。
まず、作る物をユースケース図で話し合い。

次に、アクティビティー図で作るパートを分けました。

bundle gem autosaleでベースを作り、テストを書く予定でいたが
動くソフトウェアを作って終了しました。(コードはGitHubで公開しています。)
別チームのお題ですが、ユースケース図とアクティビティー図を描いてみました。
@startuml
:Dealer:
:Prayer:
Dealer -> (カードが配られる)
(カードが配られる) <- Prayer
Dealer --> (合計値を21に近づける)
(合計値を21に近づける) <-- Prayer
Dealer ---> (合計値が21を超えると負け)
(合計値が21を超えると負け) <--- Prayer
(合計値を17以上にする) <- Dealer
(合計値が17以上はカードを引けない) <-- Dealer
@enduml

@startuml
(*) --> "賭ける"
"賭ける" -> "1枚目を表で配る"
"1枚目を表で配る" --> "プレイヤーの2枚目を表で配る"
"プレイヤーの2枚目を表で配る" -> "ディーラーの2枚目は裏で配る"
"ディーラーの2枚目は裏で配る" --> "プレイヤーはヒットかスタンドを選択する"
"プレイヤーはヒットかスタンドを選択する" --> "ディーラーは17以上になるまでカードを引く"
if "プレイヤーの全員がスタンドになる" then
--> [YES] "判定する"
else
--> [NO] "プレイヤーはヒットかスタンドを選択する"
endif
"判定する" --> (*)
@enduml

ユースケース図やアクティビティー図はPlantUMLを使いました。