์ด์ ๊ฒ์๋ฌผ์์ ์ ๋ฆฌํ ์ผ๊ตฌ ๊ฒ์ ๋ง๋ค๊ธฐ Lv1~2์ ์ด์ด์
Lv3~6 ํ์ด ๊ณผ์ ์ ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค. ๐
Lv1~2 ๊ฒ์๋ฌผ์ ์๋ ๋งํฌ๋ก Go!
3์ฃผ์ฐจ_Swift ๋ฌธ๋ฒ ์ข ํฉ๋ฐ ์ฌํ_๊ฐ์ธ๊ณผ์ _์ผ๊ตฌ๊ฒ์๋ง๋ค๊ธฐ(Lv1~2)
์ซ์ ์ผ๊ตฌ ๊ฒ์ ๋ง๋ค๊ธฐ ์ด๋ฒ ๊ณผ์ ๋ ํ์ ๊ตฌํ ๊ธฐ๋ฅ Lv1~2 ์ ํ ๊ตฌํ ๊ธฐ๋ฅ Lv3~6์ผ๋ก ๋๋์ด์ ธ ์์๋ค. Lv1์ ๋๋ค ์ซ์ ๋ฝ๊ธฐ Lv2๋ ๋๋ค์ผ๋ก ๋ฝํ ์ซ์์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ(readLine() ํจ์ ์ฌ์ฉ)์ ๋น
yegenie-coding.tistory.com
Lv3
โ ๋๋ค ์ซ์ ๊ธฐ์กด 1~9 ๋ฒ์๋ฅผ 0~9๋ก ๋ณ๊ฒฝํ๊ธฐ
โก ๋๋ค ์ซ์ ๊ฐ์ฅ ์์๋ฆฌ ์ซ์๊ฐ 0์ด ๋์ค์ง ์๋๋ก ๋ง๋ค๊ธฐ
์ฐ์ ๋๋ค ํจ์ ์ ๋ฒ์๋ฅผ '0...9'๋ก ๋ณ๊ฒฝํด์ฃผ์๋ค.
๊ทธ๋ฆฌ๊ณ if-else๋ฌธ์์ else์ ๋ฃ์ด์ฃผ์๋ค. (์ฒซ ๋ฒ์งธ ์ซ์์์๋ 0์ด ๋์ค๋ฉด ์๋๊ธฐ ๋๋ฌธ์)
๊ทธ๋ฐ ๋ค์ randomNums์ ๊ฐฏ์๊ฐ 0๊ณผ ๊ฐ๋ค๋ฉด, ๋๋ค ์ซ์๋ฅผ 1~9๊น์ง ๋ฝ๊ณ randomNums์ ๋ฃ์ด์ฃผ์๋ค.
์ด๋ ๊ฒ ํ๋ฉด ์ฒซ ๋ฒ์งธ ์ซ์๋ 1~9๊น์ง ๋๋ค์ผ๋ก ๋ฝํ๊ณ ,
๋ ๋ฒ์งธ, ์ธ ๋ฒ์งธ ์ซ์๋ 0~9๊น์ง ๋ฝํ๊ฒ ๋๋ค.
์ด 3๊ฐ์ ์ซ์๊ฐ ๋ฝํ๊ฒ ๋๋ฉด, randomNums.count < 3 ์ ์กฐ๊ฑด์ด false๊ฐ ๋์ด while๋ฌธ์ด ๋๋๊ฒ ๋๊ณ ,
randomNums์ ๋ฐฐ์ด๋ก ๋ฆฌํด๋ฐ๋๋ก ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๋๋ค ์ซ์๋ฅผ ๋ฝ๋ while๋ฌธ์
Int ๋ฐฐ์ด๋ก ๋ฆฌํด ๋ฐ๋ makeRandomNums๋ผ๋ ํจ์๋ฅผ ๋ง๋ค์ด ์์ ๋ฃ์ด์ฃผ์๋ค.
Lv4
ex) ํ์ํฉ๋๋ค! ์ํ์๋ ์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.
1. ๊ฒ์ ์์ 2. ๊ฒ์ ๊ธฐ๋ก ๋ณด๊ธฐ 3. ๊ฒ์ ์ข
๋ฃ
โ ์์ ๊ฐ์ ํ๋ก๊ทธ๋จ ์๋ด ๋ฌธ๊ตฌ ๋์ฐ๊ธฐ
โก 1๋ฒ์ ์
๋ ฅํ๊ฒ ๋๋ฉด, ํ์๊ตฌํ์์ ๋ง๋ ๊ฒ์ ์คํ๋๋๋ก ํ๊ธฐ
โข ์ ๋ต์ ๋ง์ถฐ ๊ฒ์์ด ์ข
๋ฃ๋ ๊ฒฝ์ฐ ์ ์๋ด ๋ฌธ๊ตฌ๋ฅผ ๋ค์ ๋ณด์ฌ์ฃผ๊ธฐ
์ฐ์ startGame()์ด๋ผ๋ ํจ์๋ฅผ ๋ง๋ค์ด์ ์์ Lv1~2์์ ๋ง๋ ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ์๋ค.
๋ค์ print๋ก ์คํํ๋ฉด ๋์ฌ ์๋ด ๋ฌธ๊ตฌ๋ฅผ ๋ง๋ค์ด์คฌ๋ค.
์ต์
์๋ด ๋ฌธ๊ตฌ(1. ๊ฒ์์์ 2. ๊ฒ์๊ธฐ๋ก๋ณด๊ธฐ 3. ๊ฒ์์ข
๋ฃ) ๋ํ print๋ก ๋ง๋ค์ด์คฌ๋ค.
์ฌ์ฉ์๊ฐ 1๋ฒ์ ๋๋ฅด๋ฉด, ๊ฒ์์ด ์คํ๋๋๋ก ๋ง๋ค์ด์ผํ๋ฏ๋ก(=์
๋ ฅ๊ฐ์ ๋ฐ์์ผ ํจ)
Lv1~2์์ ๊ฒ์ ์์์ ์ฌ์ฉํ๋ readLine() ์ฝ๋๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ ๋ฃ์ด์ฃผ๊ณ ,
์ฌ์ฉ์ ์
๋ ฅ๊ฐ์ Int๋ก ๋ณํํ์ฌ clickedNum์ ๋ฃ์ด์ฃผ์๋ค.
๊ทธ๋ฆฌ๊ณ if ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ 1์ ์
๋ ฅํ์ ๋,
์์ ๋ง๋ startGame() ํจ์๊ฐ ์คํ๋๋๋ก ํด์ฃผ์๋ค.
์ ๋ต์ ๋ง์ถ๋ฉด ์ต์
์๋ด ๋ฌธ๊ตฌ๊ฐ ๋ค์ ๋์ค๊ฒ ํ๊ธฐ ์ํด์ while๋ฌธ ๊ณ์ ๋ ์ ์๋๋ก
var gameOver = false๋ฅผ ์ค์ ํด๋๊ณ ,
while๋ฌธ์ gameOver == false์ธ ๊ฒฝ์ฐ๋ผ๊ณ ์กฐ๊ฑด์ ๋๊ณ ,
์์ ๋ง๋ ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ์๋ค.
(๋ง์ง๋ง Lv6์์ 3(๊ฒ์ ์ข
๋ฃ)๋ฅผ ์
๋ ฅํ์ ๋, while๋ฌธ์ด ๋๋๊ณ ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋ ์ ์๋๋ก
gameOver = true๋ฅผ ๋ฃ์ด์ค ์์ )
Lv5
ex) 1๋ฒ์งธ ๊ฒ์ : ์๋ ํ์ - 14๋ฒ
2๋ฒ์งธ ๊ฒ์: ์๋ ํ์ - 11๋ฒ
โ 2(๊ฒ์ ๊ธฐ๋ก ๋ณด๊ธฐ)๋ฅผ ์
๋ ฅํ ๊ฒฝ์ฐ, ์์ ๊ฐ์ด ๊ฒ์ ์๋ ํ์ ๋ณด์ฌ์ฃผ๊ธฐ
startGame() ํจ์ ์ ์ฝ๋์์
๋ฐ์ isRunning = answerNums != inputNums
(→ isRunning = ์ ๋ต๊ณผ ์
๋ ฅ๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ false)
๋ผ๋ ์กฐ๊ฑด์ ๋๊ณ ์์๋, isRunning while๋ฌธ ์์
count += 1์ ๋ฃ์๋ค.
( → strike, ball, ์ ๋ต์ ์ฒดํฌํ๋ ํจ์์ธ chkStrikeAndBall()ํจ์๊ฐ ์คํ๋๋ ํ์๋ฅผ ์ธ๊ธฐ ์ํด์)
๊ทธ๋ฆฌ๊ณ ๋ฐฉ๊ธ์ ํ๋ ๊ฒ์์์ ์ ๋ต์ ๋ง์ถ๊ธฐ ์ํด ์๋ํ ํ์๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์
myGameResults๋ผ๋ ๋ฐฐ์ด์ ๋ด๋ ๋ณ์๋ฅผ ๋ง๋ค๊ณ ,
append๋ฅผ ์ฌ์ฉํด์ ๊ทธ ๋ณ์์ ์๋ํ ํ์(count)๋ฅผ ์ถ๊ฐํด์คฌ๋ค.
๊ทธ๋ฐ ๋ค์ myGameResults์ ๊ฐฏ์ - 1 ๊น์ง for๋ฌธ์ผ๋ก ๋๋ ธ๋ค. (index๋ 0๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ → ..<)
๊ทธ๋ฆฌ๊ณ tryCount์ ๋ง์ง๋ง ์๋ ํ์์ธ myGameResults๋ฅผ ๋ฃ์ด์
์ ์ฝ๋์ฒ๋ผ print๋ฅผ ํ์ฉํด์ ์ฌ์ฉ์๊ฐ 2(๊ฒ์ ๊ธฐ๋ก ๋ณด๊ธฐ)๋ฅผ ์
๋ ฅํ์ ๋,
ํด๋น ๋ฌธ๊ตฌ๊ฐ ์ถ๋ ฅ๋ ์ ์๊ฒ ๋ง๋ค์ด์คฌ๋ค.
(i + 1 ์ธ ์ด์ ๋ index 0๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ '0๋ฒ์งธ ๊ฒ์' ์ถ๋ ฅ๋๊ธฐ ๋๋ฌธ์.
๋ฌธ์ ์์ '1๋ฒ์งธ ๊ฒ์'๋ถํฐ ์ถ๋ ฅ๋๊ฒ ๋ง๋ค๋ผ ํ์ผ๋, i + 1)
๊ทธ๋ฆฌ๊ณ ๊ธฐ๋ก์ ๋ณด๋ ์ฝ๋๋ฅผ ๋ด์ seeResult() ํจ์๋ฅผ ์์ฑํ์ฌ, ๊ทธ ์์ ์ฝ๋๋ฅผ ๋ฃ์ด์คฌ๋ค.
Lv6
โ 3(๊ฒ์ ์ข
๋ฃ)๋ฅผ ์
๋ ฅํ ๊ฒฝ์ฐ, ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋๋๋ก ํ๊ธฐ
โก ํ๋ก๊ทธ๋จ ์ข
๋ฃ ์, ์ด์ ์ ๊ฒ์ ๊ธฐ๋ก์ด ์ด๊ธฐํ ๋๋๋ก ๋ง๋ค๊ธฐ
โข 1, 2, 3 ์ด์ธ์ ์
๋ ฅ๊ฐ์ ๋ํ ์ค๋ฅ ๋ฉ์์ง ๋ง๋ค๊ธฐ
๊ฒ์ ์ข
๋ฃ ํจ์ exitGame()์ ๋ง๋ค์ด
3(๊ฒ์ ์ข
๋ฃ)์ ์
๋ ฅํ ๊ฒฝ์ฐ์ ์คํํ ํจ์ exitGame()๋ฅผ ๋ง๋ค์ด์
๋์ด์ค ๋ฌธ๊ตฌ๋ฅผ print()ํจ์๋ก ๋ฃ์ด์ฃผ๊ณ ,
๋์ ํ์๋ฅผ ๋ฐฐ์ด๋ก ๋ด๊ณ ์๋ ๋ณ์ myGameResults๋ฅผ ๋น ๊ฐ์ผ๋ก ์ค์ ํด์ฃผ๊ณ ,
์์ while gameOver == false { ~~ } ๊ฐ true์ฌ์ ๊ณ์ ๋๊ณ ์๋ ํ๋ก๊ทธ๋จ์
gameOver = true ๋ฃ์ด์ฃผ์ด ์กฐ๊ฑด์ false๋ก ๋ง๋ค์ด์ while๋ฌธ์ ์ข
๋ฃ์ํฌ ์ ์๋๋ก ๋ง๋ค์ด์คฌ๋ค.
๊ทธ๋ฆฌ๊ณ 1~3์ ์ ์ธํ ๋ค๋ฅธ ์ซ์๋ฅผ ์
๋ ฅํ ๊ฒฝ์ฐ
์ค๋ฅ ๋ฉ์ธ์ง๊ฐ ๋ฐ ์ ์๋๋ก wrongInput() ํจ์๋ ๋ง๋ค์ด์คฌ๋ค.
๋ง์ง๋ง์ผ๋ก 1(๊ฒ์ ์์)์ ์
๋ ฅํ์ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก
2, 3, ์ด์ธ์ ๊ฒฝ์ฐ๋ฅผ if ์กฐ๊ฑด๋ฌธ์ ์ถ๊ฐํด์ฃผ๋ฉด ๋!!
์ผ๊ตฌ ๊ฒ์ ๋ง๋ค๊ธฐ Lv1~6 ์ฝ๋๋
github์ ์ฌ๋ ค๋จ์ผ๋,
์ ์ฒด์ ์ธ ์ฝ๋๊ฐ ๊ถ๊ธํ์ ๋ถ๋ค์ ์๋ ๋งํฌ๋ก ๊ณ ๊ณ !
https://github.com/yeggrrr/MyPlaygrounds
GitHub - yeggrrr/MyPlaygrounds
Contribute to yeggrrr/MyPlaygrounds development by creating an account on GitHub.
github.com
'iOS ์ฑ ๊ฐ๋ฐ ์ข ํฉ๋ฐ > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
4์ฃผ์ฐจ_iOS ์ฑ ๊ฐ๋ฐ ์ ๋ฌธ_1~2์ผ์ฐจ_๋ค์ํ UIView ์ปดํฌ๋ํธ (0) | 2024.03.19 |
---|---|
swift_์ผ๊ตฌ ๊ฒ์ ๋ง๋ค๊ธฐ_ํด์ค ๊ฐ์ ํ๊ธฐ (0) | 2024.03.17 |
3์ฃผ์ฐจ_Swift ๋ฌธ๋ฒ ์ข ํฉ๋ฐ ์ฌํ_๊ฐ์ธ๊ณผ์ _์ผ๊ตฌ๊ฒ์๋ง๋ค๊ธฐ(Lv1~2) (2) | 2024.03.15 |
3์ฃผ์ฐจ_Swift ๋ฌธ๋ฒ์ข ํฉ๋ฐ ์ฌํ_(2์ผ์ฐจ)_ํด๋ก์ & ๊ณ ์ฐจํจ์ (4) | 2024.03.12 |
3์ฃผ์ฐจ_Swift ๋ฌธ๋ฒ์ข ํฉ๋ฐ ์ฌํ_(1์ผ์ฐจ) (0) | 2024.03.11 |