GithubHelp home page GithubHelp logo

ios-number-baseball's Introduction

숫자야구 프로젝트 저장소

프로젝트 기간 2022/08/16 ~ 2022/08/19
팀원: @애종 @LJ / 리뷰어: @바드

목차

프로젝트 소개

1~9까지 수 중 3개의 랜덤 숫자를 뽑아놓고, 사용자의 입력값을 받아 숫자, 순서의 일치여부를 판단해 승리여부를 결정하는 숫자 야구 게임.

개발환경 및 라이브러리

swift xcode

순서도

Step1

Step2


코딩 컨벤션

  • 변수명 정할 때 단어 축약하지 않기
  • 상수로 선언해줄 수 있는 부분은 최대한 상수로 구현
  • 전역변수는 최대한 지양
  • 타입 명시는 통일
  • 함수 내부는 함수명과 함수의 목적에 맞게 구현

[STEP 0]

배운개념

  • git commit 명령어, commit양식, git 사용방법

[STEP 1]

고민한 점

  • 볼과 스트라이크를 비교하는 과정을 어떻게 설계할까 고민했습니다. 3가지의 경우의 수로 나누어 어떤것부터 제외해 나갈까 고민한 후 최종적으로 ‘순서에 상관없이 숫자를 포함하는 경우’ 를 먼저 guard로 묶은 후 순서의 일치 여부에 따라 볼과 스트라이크를 구분했습니다.
  • 실행문과 함수의 배치 -> 변수/상수 선언, 실행문 먼저, 함수는 실행되는 순으로
  • guard else{} statement 에 return을 입력했을 때 함수가 조기 종료되었습니다. 저희가 의도한 것은 반복문 내부의 else{} 에 진입하면 해당 반복을 중단하고 다음 반복으로 진행시키는 것이었기 때문에, 공식문서에 따라 continue로 변경했습니다.
  • 무작위 숫자 3개 저장타입을 SetArray중 고민하였습니다. -> 둘 다 사용하였습니다. 첫번째 검증조건인 중복제거에서는 Set를, 위치비교에서는 Array를 사용하였습니다.

배운개념

  • LGTM(Looks Good To Me😉)
  • 마크다운 작성법

🔗 참고 링크

ios-number-baseball's People

Contributors

lj-7-77 avatar jonghancha avatar yagom avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.