프로필 사진 | ||
---|---|---|
in Github | @newJunsung | @SimJaeHyeok |
in SeSAC | 뉴준성 | JaeHyeok |
- RockPaperScissors
- BattleResult.swift
- main.swift
- PlayingGameException.swift
- RockPaperScissors.swift
- RockPaperScissors.swift
flowchart LR
A[Input] -->B[battle]
B --> C{BattleResult}
C -->|Win| D[Player turn]
C -->|Lose| E[Computer turn]
C -->|Draw| A
D --> F[Input]
E --> F[Input]
F --> G[Battle]
G --> H{BattleResult}
H --> |Draw| I[Turn owner win!]
H --> |Win, Player turn| F
H --> |Lose, Computer turn| F
- Comparable를 이용한 상성 관계 표현
가위바위보 프로젝트를 진행하면서 가위바위보의 상성 관계를 어떻게 구현할 것 인가에 대한 고민을 많이 했었다. 처음엔 숫자로 조건을 분기하여 상성 관계를 구현했지만, Comparable Protocol을 사용해서 상성 관계를 구현하여 코드가 간결해지고 가독성이 더 좋아졌고, 가위바위보 프로젝트에 이어 묵찌빠 프로젝트를 사용할 때에도 상성 관계를 이용하여 코드를 더욱 쉽게 작성할 수 있었다.