Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

状態遷移図 #27

Merged
merged 9 commits into from
Aug 29, 2024
Merged

状態遷移図 #27

merged 9 commits into from
Aug 29, 2024

Conversation

azubiwa
Copy link
Contributor

@azubiwa azubiwa commented Aug 20, 2024

やったこと

状態遷移図の作成

問題点

・先手と後手をまとめて書くかどうか

まだやっていないこと

・相手手番の待機
・両方が観察を使いきった時と盤面が全部埋まった時の対応

@azubiwa azubiwa marked this pull request as draft August 20, 2024 14:27
@azubiwa azubiwa self-assigned this Aug 20, 2024
@azubiwa azubiwa added the documentation Improvements or additions to documentation label Aug 20, 2024
Copy link
Collaborator

@oginoshikibu oginoshikibu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

全体的にとてもよく書けていると思います!!!MileStoneの設定を忘れずにお願いします!!
指示忘れなのですが、こんな感じでissue numを書くとPRと同期してくれます → Close #10
Pull RequestをIssueにリンクする - GitHub Docs
(mermaid、いいですね……僕も書き換えようかな)

review内容について

先手後手区分する側に石を打つが抜けています
気づいたので書いちゃいました

先手後手について

状態遷移図は基本的に、仕様の自由度を除けば一意に決まるものだと思っています。
曖昧かもしれないな、と思った点は「何の状態遷移図なのか」(画面、片方のユーザー、2人のユーザー)というところです。
先手後手を区別しない側は片方のユーザー、する側は画面、の遷移図になっている気がしています。
一応目的が「フロントエンドの画面設計」なので、画面主体でよいかなと少しだけ思いましたが、正解が僕もわからないです……
状態遷移図を使うとわかりやすいんじゃない?は僕の発想で、慣例的なものをあまり知らないのですよね。
なので、えいやと決めてしまってよいと思います。

ただ、主体を明示的に示す必要はあると思います。
ドキュメント名はとりあえずの命名でUXにしてしまっているので、もし画面主体の場合は変更してもらえると助かります。(screen state transitionとかになるのかなあ……)

docs/01.Frontend/01.UserExperience/README.md Outdated Show resolved Hide resolved
docs/01.Frontend/01.UserExperience/README.md Outdated Show resolved Hide resolved
@azubiwa azubiwa added this to the MVPアプリの作成 milestone Aug 21, 2024
@azubiwa azubiwa linked an issue Aug 21, 2024 that may be closed by this pull request
@azubiwa
Copy link
Contributor Author

azubiwa commented Aug 21, 2024

修正と引き分け部分の追加をしました。
盤面が埋まった時に観測をせず引き分けにしているのですが、1度観測してからの方が良さそうな気がします(盤面が埋まった状態で観測すれば勝敗が決まりそうなので)。

@azubiwa azubiwa marked this pull request as ready for review August 21, 2024 15:22
Copy link
Collaborator

@oginoshikibu oginoshikibu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ややこしいタスクをこなしてもらい、ありがとうございました!
とても良くできていると思います!!
2024/08/22 2:07 コメント部分の返信を忘れていました……明日考えます……!!
2024/08/22 9:01 返信しました!!

review内容について

先手後手番をそれぞれ書くことに悩んでいたようなので、サブルーチンとして切り出してみました。
reviewがものすごく見づらくなってしまい申し訳ないですが、ローカルにコピペするなりして確認してみてください!

切り出した部分をこちらで若干編集入れてしまったので、記載しておきます。
以下の項目がreview項目と思っていただければ……

1. 勝敗確認

勝敗判定のロジックについて、特に言及がなかったですが、ここで仮決めしてもよいと思います。
量子五目では両者同時に5目揃う可能性があるため、リスクある観測者側が有利になるようにしてみました。
全然変えてもらって構いません。

2. 命名規則を若干変更

状態が大文字スネークケーズ、分岐を小文字スネークケースに統一しました。
特に意図は無く、いつの間にか手が動いてしまいました……

その他の修正依頼

フォルダ名の変更もお願いします!!

docs/01.Frontend/01.UserExperience/README.md Outdated Show resolved Hide resolved
docs/01.Frontend/01.UserExperience/README.md Outdated Show resolved Hide resolved
@oginoshikibu
Copy link
Collaborator

コメント返信

修正と引き分け部分の追加をしました。 盤面が埋まった時に観測をせず引き分けにしているのですが、1度観測してからの方が良さそうな気がします(盤面が埋まった状態で観測すれば勝敗が決まりそうなので)。

確かに……🤔🤔
勝敗が決まるまで観測を繰り返す、とかでよいかもしれませんね!!

azubiwa and others added 4 commits August 23, 2024 00:06
Co-authored-by: oginoshikibu <62919047+oginoshikibu@users.noreply.github.com>
@azubiwa
Copy link
Contributor Author

azubiwa commented Aug 22, 2024

サブルーチンにしました!

勝敗確認に関しては、元の動画でも観測者勝利となっていたので、そのまま使わせていただきました!

盤面が埋まった時は、どちらが観測をどのくらい残しているのかによって、判定方法がかなりややこしくなりそうなのでひとまず引き分けのままにしています。

Copy link
Collaborator

@oginoshikibu oginoshikibu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ありがとうございます!!とてもきれいにまとまっていると思います。

折角ここまで色々と考えてきたので、その内容を簡単でよいので書き残すとよいと思います。
ドキュメントの役割として、実装の指針となる「設計書」以外にも、なぜそのような仕様になっているかの「理由書」も実は含まれており、将来的にこちらが結構役に立ちます。

現状でもdiscordやPR上にちゃんと書き残してくれているのでとてもありがたいです!
項目ごとに一言程度でよいので、そう決めた背景・理由(「理由は特にない」も重要な情報です)を書き残しておきましょう。
僕がとりあえず思いついた項目しか書いていないので、勿論項目を増やしてもらって構いません!!

docs/01.Frontend/01.ScreenStateTransition/README.md Outdated Show resolved Hide resolved
@azubiwa azubiwa marked this pull request as ready for review August 25, 2024 17:00
Copy link
Contributor

@1m-N00b 1m-N00b left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

こういうレビューって編集テキスト(今回ならREADME.md)をローカルに落として見るのが正解なのかな マーメイドなるダイアグラム作成ツール?の文法諸々知らないのでオンラインエディアで見ときました。

@oginoshikibu
Copy link
Collaborator

通話でも伝えましたが一応テキストでも残しておきます。
ここのrich diffのiconを押すと、git hub上でそのmdがどう表示されるか見ることが出来ます。

image

こういうレビューって編集テキスト(今回ならREADME.md)をローカルに落として見るのが正解なのかな マーメイドなるダイアグラム作成ツール?の文法諸々知らないのでオンラインエディアで見ときました。

Copy link
Collaborator

@oginoshikibu oginoshikibu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!完璧です!!!

QKや連珠をちゃんと参考資料としてどうすべきか候補を出し、その中でよさそうなものをちゃんと決め切る、というのをしっかりとやり遂げてもらいましたが、結構難しいことです。
とても見やすくまとまっていますし、mermaidにしたことで保守性もよく、後でこのドキュメントを見た人は泣いて喜ぶと思います。

### 観測時の勝敗条件について
このゲームでは1回の観測で、両者同時に勝利条件を満たすことがある。
その場合、この仕様では観測者が有利になるように、観測者勝利としている。
本家量子五目並べ(QuizKnock)でも、両者が同時に勝利条件を満たした時は観測者勝利となっている。
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これ、めちゃめちゃいい補足だと思います!!!!!
裏どりはめんどくさいけど、とっても大事!!!!

@azubiwa azubiwa merged commit c6032c0 into develop Aug 29, 2024
@1m-N00b 1m-N00b deleted the docs/front-StateTransitionDiagram branch August 29, 2024 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

【front】ユーザーの状態遷移図の作成
3 participants