shinonome-inc / mobile_tak848

0 stars 0 forks source link

課題2: じゃんけんの実装 #2

Closed TAK848 closed 2 years ago

TAK848 commented 2 years ago

課題2のじゃんけんを実装しました。レビューをお願いいたします。 動作画像:

Screen Shot 2022-01-29 at 17 50 09
TAK848 commented 2 years ago

最初,各手に振られた番号をうまく使って22行目のelse ifの中身を少なくしようと考えて,

else if (you.rawValue == cp.rawValue - 1) || (you.rawValue == cp.rawValue + 2) {

などという条件式を考えましたが,流石に可読性が低いと思ったので,高々3通りですし素直に羅列して書きました。

[追記] じゃんけんについて調べていたらこんなサイトが…。 https://staku.designbits.jp/check-janken/ ここを参照させてもらうとさらに,

else if (you.rawValue - cp.rawValue + 3) % 3 == 2 {

とできそう。これはありかも。

TAK848 commented 2 years ago

課題の要件で一つ思ったことを書かせていただきます。 methodName: janken Parameters: (you: HandType) Return type: nil という指定がありましたが,Return typeはnilではなくVoidが適切なのではないかと思いました。細かい点ですみません!

mcz9mm commented 2 years ago

Return type: nilはreturn不要だよという意味合いにしたつもりだったんだけど誤解を生むなら修正しておきます〜

Nanami-Kurata commented 2 years ago

かおるさんのコメントのままなのですが、jankenの戻り値はなくても書けるので、なしでやってみてください。

Nanami-Kurata commented 2 years ago

Handの構造体で、rockのみ値を割り当てている理由は何かありますか??

↓既に調べ済みかもしれないですが、一応参考記事 https://qiita.com/hachinobu/items/392c96820588d1c03b0c

TAK848 commented 2 years ago

Return typeについては,理解としては全然伝わっているので全然大丈夫です!ありがとうございます!

Handについてですが,デフォルトで0から振られる(参考元)ようなので,削除しました。記事ありがとうございます!!

追加ですみません。 Resultの構造体で,課題でフィードバックのwinが"!"付きだったのでrawValueを設定して結果のprintに引っ張ってくるようにしていたのですが,違和感を物凄く感じたので,feedbackというプロパティを作成して取得する形式に変更してみました。参考元

Nanami-Kurata commented 2 years ago

LGTMです〜!!