Skip to content

Latest commit

Β 

History

History
60 lines (49 loc) Β· 3.38 KB

step1.md

File metadata and controls

60 lines (49 loc) Β· 3.38 KB

[Step1] 볼링 점수판 (그리기)

κΈ°λŠ₯ μš”κ΅¬ 사항

  • μ΅œμ’… λͺ©ν‘œλŠ” 볼링 점수λ₯Ό κ³„μ‚°ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ κ΅¬ν˜„ν•œλ‹€. 1단계 λͺ©ν‘œλŠ” 점수 계산을 μ œμ™Έν•œ 볼링 κ²Œμž„ μ μˆ˜νŒμ„ κ΅¬ν˜„ν•˜λŠ” 것이닀.
  • 각 ν”„λ ˆμž„μ΄ 슀트라이크이면 "X", μŠ€νŽ˜μ–΄μ΄λ©΄ "9 | /", 미슀이면 "8 | 1", κ³Ό 같이 좜λ ₯ν•˜λ„λ‘ κ΅¬ν˜„ν•œλ‹€.
    • 슀트라이크(strike) : ν”„λ ˆμž„μ˜ 첫번째 νˆ¬κ΅¬μ—μ„œ λͺ¨λ“  ν•€(10개)을 μ“°λŸ¬νŠΈλ¦° μƒνƒœ
    • μŠ€νŽ˜μ–΄(spare) : ν”„λ ˆμž„μ˜ λ‘λ²ˆμž¬ νˆ¬κ΅¬μ—μ„œ λͺ¨λ“  ν•€(10개)을 μ“°λŸ¬νŠΈλ¦° μƒνƒœ
    • 미슀(miss) : ν”„λ ˆμž„μ˜ λ‘λ²ˆμž¬ νˆ¬κ΅¬μ—μ„œλ„ λͺ¨λ“  핀이 μ“°λŸ¬μ§€μ§€ μ•Šμ€ μƒνƒœ
    • κ±°ν„°(gutter) : 핀을 ν•˜λ‚˜λ„ μ“°λŸ¬νŠΈλ¦¬μ§€ λͺ»ν•œ μƒνƒœ. κ±°ν„°λŠ” "-"둜 ν‘œμ‹œ
  • 10 ν”„λ ˆμž„μ€ μŠ€νŠΈλΌμ΄ν¬μ΄κ±°λ‚˜ μŠ€νŽ˜μ–΄μ΄λ©΄ ν•œ λ²ˆμ„ 더 νˆ¬κ΅¬ν•  수 μžˆλ‹€.

ν”„λ‘œκ·Έλž˜λ° μš”κ΅¬ 사항

  • 객체지ν–₯ μƒν™œ 체쑰 원칙 을 μ§€ν‚€λ©΄μ„œ ν”„λ‘œκ·Έλž˜λ°ν•œλ‹€.
    • κ·œμΉ™ 1: ν•œ λ©”μ„œλ“œμ— 였직 ν•œ λ‹¨κ³„μ˜ λ“€μ—¬μ“°κΈ°λ§Œ ν•œλ‹€.
    • κ·œμΉ™ 2: else μ˜ˆμ•½μ–΄λ₯Ό 쓰지 μ•ŠλŠ”λ‹€.
    • κ·œμΉ™ 3: λͺ¨λ“  μ›μ‹œκ°’κ³Ό λ¬Έμžμ—΄μ„ 포μž₯ν•œλ‹€.
    • κ·œμΉ™ 4: ν•œ 쀄에 점을 ν•˜λ‚˜λ§Œ μ°λŠ”λ‹€.
    • κ·œμΉ™ 5: 쀄여쓰지 μ•ŠλŠ”λ‹€(μΆ•μ•½ κΈˆμ§€).
    • κ·œμΉ™ 6: λͺ¨λ“  μ—”ν‹°ν‹°λ₯Ό μž‘κ²Œ μœ μ§€ν•œλ‹€.
    • κ·œμΉ™ 7: 3개 μ΄μƒμ˜ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λ₯Ό 가진 클래슀λ₯Ό 쓰지 μ•ŠλŠ”λ‹€.
    • κ·œμΉ™ 8: 일급 μ½œλ ‰μ…˜μ„ μ“΄λ‹€.
    • κ·œμΉ™ 9: κ²Œν„°/μ„Έν„°/ν”„λ‘œνΌν‹°λ₯Ό 쓰지 μ•ŠλŠ”λ‹€.

κ΅¬ν˜„ μ‹œμž‘ 방법

  • 볼링 κ²Œμž„μ˜ 점수 계산 방식 μ•„λŠ” μ‚¬λžŒμ€ λ°”λ‘œ κ΅¬ν˜„μ„ μ‹œμž‘ν•œλ‹€.
  • 점수 계산 방식을 λͺ¨λ₯΄λŠ” μ‚¬λžŒμ€ κ΅¬κΈ€μ—μ„œ "볼링 점수 계산법"κ³Ό 같은 ν‚€μ›Œλ“œλ‘œ 검색해 볼링 κ²Œμž„μ˜ 점수 계산 방식을 ν•™μŠ΅ν•œ ν›„ κ΅¬ν˜„μ„ μ‹œμž‘ν•œλ‹€.

좜λ ₯ κ²°κ³Ό

ν”Œλ ˆμ΄μ–΄ 이름은(3 english letters)?: PJS
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |      |      |      |      |      |      |      |      |      |      |

1ν”„λ ˆμž„ 투ꡬ : 10
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |      |      |      |      |      |      |      |      |      |

2ν”„λ ˆμž„ 투ꡬ : 8
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |  8   |      |      |      |      |      |      |      |      |

2ν”„λ ˆμž„ 투ꡬ : 2
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |  8|/ |      |      |      |      |      |      |      |      |

3ν”„λ ˆμž„ 투ꡬ :  7
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |  8|/ |  7   |      |      |      |      |      |      |      |

3ν”„λ ˆμž„ 투ꡬ :  : 0
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |  8|/ |  7|- |      |      |      |      |      |      |      |

...

힌트

  • 객체 λ‹¨μœ„λ₯Ό κ°€μž₯ μž‘μ€ λ‹¨μœ„κΉŒμ§€ κ·Ήλ‹¨μ μœΌλ‘œ λΆ„λ¦¬ν•˜λŠ” μ‹œλ„λ₯Ό ν•΄λ³Έλ‹€.
  • 1 ~ 9 ν”„λ ˆμž„μ„ NormalFrame, 10 ν”„λ ˆμž„μ„ FinalFrameκ³Ό 같은 ꡬ쑰둜 κ΅¬ν˜„ν•œ ν›„ Frame을 μΆ”κ°€ν•΄ 쀑볡을 μ œκ±°ν•΄ λ³Έλ‹€.
  • λ‹€μŒ Frame을 ν˜„μž¬ Frame μ™ΈλΆ€μ—μ„œ μƒμ„±ν•˜κΈ° 보닀 ν˜„μž¬ Frameμ—μ„œ λ‹€μŒ Frame을 μƒμ„±ν•˜λŠ” λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•΄ 보고, μ–΄λŠ κ΅¬ν˜„μ΄ 더 쒋은지 κ²€ν† ν•΄ λ³Έλ‹€.