체스 체스는 가로와 세로가 각각 8줄씩 64칸으로 격자로 배열된 체스보드에서 두 명의 플레이어가 기물들을 규칙에 따라 움직여 사우는 보드 게임이다. 플레이어는 킹, 퀸 각 1개, 룩 2개, 나이트 2개, 비숍 2개 그리고 폰 8개로 총 16개의 기물을 가지고 시작하고 피스 6종류는 각각 다르게 이동한다. 체스는 기물을 움직이는 일반적인 방법 외에도 캐슬링, 앙파상, 프로모션과 같은 변칙적인 방법으로도 기물을 움직일 수 있다. 하지만 이번 미션 요구사항에 그런 규칙까지 구현하는 조건은 없었기에 많은 것을 구현하기보다는 구현해야 하는 요구사항에 집중하기로 페어와 얘기 후 결정했다. 체스 게임을 해보기는 했으나 많이 접해보지 못하여 도메인에 대한 이해도가 낮았기에 페어와 직접 게임을 하며 도메인을 이해해 보기..
블랙잭 블랙잭은 카지노 게임 중 하나로 트럼프 카드를 뽑아 21에 가까이 만들면 이기는 게임이다. 플레이어 간 대결을 하는 것이 아닌 각 플레이어는 딜러와 대결을 하게 된다. 딜러와 플레이어는 처음에 각 2장의 카드를 받고 게임을 시작한다. 플레이어의 카드는 모두 공개되며, 딜러의 카드는 한 장만 공개된다. 플레이어는 카드를 확인 후 더 뽑을지 결정할 수 있고 가지고 있는 카드 숫자의 합이 21을 넘는 경우 버스트로 딜러가 이기게 된다. 트럼프 카드에는 A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K의 수가 존재하는데 2~10은 나타내는 수가 점수가 되고 J, Q, K는 10점을 의미한다. A는 상황에 따라 1 또는 11 중 선택할 수 있다. 처음 받은 카드 2장 점수의 합이 21인..
사다리 타기 미션 레벨 1의 두 번째 미션은 위와 같이 사다리 타기를 구현하는 것입니다. 결정이 필요한 상황에서 무작위로 결정하고자 할 때 사다리 타기를 많이 사용하는데 저 또한 많이 사용해 보았기에 도메인을 이해하는데 큰 어려움이 없었습니다. 이해하고 있는 사타리 타기를 바탕으로 요구사항을 정리해 보았습니다. 플레이어 이름을 설정할 수 있습니다. 이름은 최대 5글자인 영문자로 중복될 수 없습니다. 2명 이상, 10명 이하로 구성됩니다. 사다리 2개 이상, 10개 이하의 라인으로 구성됩니다. 라인의 각 지점에서 지정된 방향으로 움직입니다. 움직이고 아래 라인으로 내려갑니다 당첨 항목 공백이 될 수 없고 5글자 이하로 작성합니다. 개수는 플레이어 수와 동일합니다. 사다리 설계 도메인 관계도 이전 미션과 마..
최종 합격 3개월가량의 우아한테크코스 5기 선발 과정이 끝났다. 결과 발표 전날부터 살면서 이렇게까지 긴장했던 순간이 있을 정도로 긴장이 많이 됐고, 결과를 예측할 수 없었기에 너무 떨렸다. 시간이 느리다는 것을 처음 느꼈고, 3시에 결과를 확인하였는데 최종적으로 합격이라는 결과를 확인할 수 있었다. 올해 목표 중 하나가 `우아한테크코스의 크루의 일원이 되어 좋은 동료들과 성장할 기회를 잡는 것`이었는데, 이뤄내서 너무 기쁘다. 3개월간 열정적으로 준비했고, 간절했고, 성장했고, 반성까지 할 수 있었다. 기회가 주어진 만큼 10개월간 몰입하여 다음 목표를 향해 달려 나가고자 한다. 합격이라는 설렘을 가지고 준비 과정에 대해 정리해보고자 한다. 과정 선발 과정이 긴 편에 속하는데 너무 몰입해서 그런지 시간..
요구 사항 분석 4주차 미션은 오징어 게임에서 나왔던 다리 건너기를 구현하는 것입니다. 입력한 길이의 다리가 생성되는데 위 칸과 아래 칸 중 이동할 수 있는 칸은 무작위로 정해집니다. 한 스텝당 위 칸과 아래 칸 중 선택하게 되는데 이동할 수 있는 칸은 1칸밖에 없기에 이동할 수 없는 칸을 선택하게 되면 게임을 재시작하거나 종료하게 됩니다. 다리 끝에 도달하면 성공하게 되는데 오징어 게임은 기회가 한 번뿐이지만 이 게임은 기회가 무제한이라는 점! 3주차와 마찬가지로 실행 흐름부터 정리하고 구현해야 할 기능에 대해 생각해 보았습니다. 크게 보았을 때 입력, 출력, 다리, 다리 생성, 다리 이동, 게임 재시작의 키워드를 확인할 수 있었고 키워드를 바탕으로 기능을 정리하였습니다. 구현한 기능은 아래와 같습니다..