์ฃผ์ ์ฌํญ
โซ ํด๋์ค๋ .h ํ์ผ๊ณผ .cpp ํ์ผ์ ๋๋ ์ ๊ตฌํํด์ผ ํฉ๋๋ค.
โซ ๋ฌธ์ ์ ๋ฐ๋ก ๋ช
์๋์ด ์์ง ์์๋ ํด๋์ค์ ์์ฑ์ (constructor), ์๋ฉธ์ (destructor)๋
ํ์์ ์ผ๋ก ๊ตฌํ๋์ด์ผ ํฉ๋๋ค.
โซ ๋ฌธ๋ฒ ์ฌ์ฉ์ ์ ์ฝ์ ์์ต๋๋ค.
โซ ๋ฌธ์ ์ ๊ตฌํ ์๊ตฌ ์ฌํญ์ ๊ผผ๊ผผํ ์ฝ์ด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
๊ฐ์ ์ฌํญ
โซ ์ ์ถ ๊ธฐํ ๋ค์ ๋ (6์ 12์ผ) ์ ์ถ ์ 20% ๊ฐ์ , ์ดํ ๋ค (6์ 13์ผ) ์ ์ถ ์ 40% ๊ฐ์
โผ ์ด ์ดํ์ ์ ์ถํ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌ
โซ ์ปดํ์ผ์ด ๋์ง ์์ผ๋ฉด 0์ ์ฒ๋ฆฌ
โซ ์ ์ถ ๋ฐฉ๋ฒ ์๋ฐ ์ ๊ฐ์
์ ์ถ ๋ฐฉ๋ฒ
โซ ๊ฐ์ด ์ ๊ณต๋ Qt Creator ์ค์น ๋ฐฉ๋ฒ์ ์ฐธ๊ณ ํด ์ฃผ์ญ์์ค. ํด๋น ์ค์น ๋ฐฉ๋ฒ๋๋ก ์ค์น๋ Qt
Creator ์์์ ์ปดํ์ผ ๋ฐ ์ฑ์ ์ด ์งํ๋ ๊ฒ์
๋๋ค.
โซ Qt Creator์ ํ๋ก์ ํธ ํด๋๋ฅผ ๊ทธ๋๋ก ์์ถํ์ฌ ์ ์ถํด ์ฃผ์ญ์์ค. ํ๋ก์ ํธ ํด๋ ๋ด๋ถ
์ .pro ํ์ผ์ด ๋ฐ๋์ ํฌํจ๋์ด ์์ด์ผ ํฉ๋๋ค.
โซ Qt Creator์ ํ๋ก์ ํธ ํด๋์ ๋ ํฌํธ๋ฅผ ๊ฐ์ด ์์ถํ์ฌ โํ๋ฒ.zipโ์ ํํ๋ก ์ ์ถํด ์ฃผ์ญ
์์ค. ์์ถ๋ ๋ ํฌํธ์ ์ด๋ฆ ์ญ์ โํ๋ฒ.pdfโ์ ํํ๋ก ์ค์ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
๊ณตํต ์ฑ์ ๊ธฐ์ค
1. ํ๋ก๊ทธ๋จ ๊ธฐ๋ฅ
โซ ํ๋ก๊ทธ๋จ์ด ์๊ตฌ ์ฌํญ์ ๋ชจ๋ ๋ง์กฑํ๋ฉด์ ์ฌ๋ฐ๋ฅด๊ฒ ์คํ๋๋๊ฐ?
2. ํ๋ก๊ทธ๋จ ์ค๊ณ ๋ฐ ๊ตฌํ
โซ ์๊ตฌ ์ฌํญ์ ๋ง์กฑํ๊ธฐ ์ํ ๋ณ์ ๋ฐ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ๊ฐ ์ ๋์๋๊ฐ?
โซ ๋ฌธ์ ์์ ์ ์๋ ์ธ๋ถ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ์๋๊ฐ?
โซ ์ค๊ณ๋ ๋ด์ฉ์ด ์๊ตฌ๋ ์ธ์ด๋ฅผ ์ด์ฉํ์ฌ ์ ์ ํ ๊ตฌํ๋์๋๊ฐ?
3. ํ๋ก๊ทธ๋จ ๊ฐ๋
์ฑ
โซ ํ๋ก๊ทธ๋จ์ด ์ฝ๊ธฐ ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์์ฑ๋์๋๊ฐ?
โซ ๋ณ์๋ช
์ด ๋ฌด์์ ์๋ฏธํ๋์ง ์ดํดํ๊ธฐ ์ฌ์ด๊ฐ?
โซ ํ๋ก๊ทธ๋จ์ ์์ค ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ฝ๋๋ก ์ฃผ์์ ์ ๋ถ์๋๊ฐ?
4. ๋ณด๊ณ ์ ๊ตฌ์ฑ ๋ฐ ๋ด์ฉ, ์์
โซ ๋ณด๊ณ ์๋ ์ ์ ํ ๋ด์ฉ์ผ๋ก ์ดํดํ๊ธฐ ์ฝ๊ณ ๋ณด๊ธฐ ์ข๊ฒ ์ ์์ฑ๋์๋๊ฐ?
โซ ๋ณด๊ณ ์์ ์์์ ์ ๋ฐ๋๋๊ฐ?
๋ค๋ฅธ ์ฌ๋์ ํ๋ก๊ทธ๋จ ํน์ ์ธํฐ๋ท์ ์๋ ํ๋ก๊ทธ๋จ์ ๋ณต์ฌ(copy)ํ๊ฑฐ๋ ๊ฐ๋จํ
์์ ํด์ ์ ์ถํ๋ฉด ํ์ ์ ๋ฌด์กฐ๊ฑด โFโ๊ฐ ๋ฉ๋๋ค. ์ด๋ฌํ ๋ถ์ ํ์๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ํ
๊ณผ์์ ์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ ์ถ๊ฐ์ ์ธ ๋ถ์ด์ต์ด ์์ ์ ์์ต๋๋ค.
2048 Puzzle Game
1. ๊ณผ์ ๊ฐ์
์ด๋ฒ ๊ณผ์ ์์๋ C++ GUI ๊ฐ๋ฐ ํ๋ ์์ํฌ์ธ Qt framework๋ฅผ ์ด์ฉํ์ฌ 2048 ํผ์ฆ ๊ฒ์์ ์
์ํด ๋ณธ๋ค. Qt Creator ๊ฐ๋ฐ ํ๊ฒฝ์ ํตํด 2048 ํผ์ฆ๊ฒ์์ ์ ์ํ์ฌ GUI ์ ์ ๊ฒฝํ์ ์๋ ๊ฒ์
๋ชฉํ๋ก ํ๋ค.
2. ๊ณผ์ ์ค๋ช
2.1 ์ฃผ์ ์ฌํญ
๊ตฌํ ์๊ตฌ ์ฌํญ์ ์ค๋ช
ํ๊ธฐ์ ์์, ์ด๋ฒ ๊ณผ์ ๋ฅผ ๊ตฌํํจ์ ์์ด์ ๋ฐ๋์ ์ง์ผ์ผ ํ ์ฌํญ๋ค์
๋ช
์ํ๋ค.
โซ GUI ๊ตฌํ ์ฝ๋์ ๊ฒ์ ๋ด๋ถ ๋ก์ง ๊ตฌํ ์ฝ๋๋ ๋ฐ๋์ ๋ถ๋ฆฌํ์ฌ ๊ตฌํํ๋ค. ์ด๋ ๊ฒ์ ๋ด
๋ถ ๋ก์ง ๊ตฌํ ์ฝ๋์ GUI ๊ตฌํ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ ๊ฐ ๊ฐ์ฒด๋ค์ ๋
๋ฆฝ์ฑ์ ๋์ด๊ณ ๊ตฌํ
์ ํธ์์ฑ์ ๋์ด๊ธฐ ์ํจ์ด๋ค. ๊ฐ์ฅ ์์ ํด๋์ .pro ํ์ผ๊ณผ main.cpp ํจ์๊ฐ ์์นํ๋
๋ก ํ๊ณ GUI ๊ตฌํ ์ฝ๋๋ ui ํด๋์ ์์นํ๋๋ก, ๊ฒ์ ๋ด๋ถ ๋ก์ง ๊ตฌํ ์ฝ๋๋ game ํด
๋์ ์์นํ๋๋ก ํ๋ค.
โซ Designer UI (.ui ํ์ผ)๋ฅผ ํตํ GUI ๊ตฌํ์ ๊ธ์งํ๋ค. GUI ๊ตฌํ์ ํ์ํ ์ธ๋ถ ๊ตฌํ ์ฌํญ
๋ค (๋ธ๋ก์ ํฌ๊ธฐ, ๊ฒ์ํ์ ํฌ๊ธฐ ๋ฑ)์ ๋ฌธ์ ์์ ์ฃผ์ด์ง๋ฏ๋ก ์ด๋ฅผ ๊ฐ์ง๊ณ ์ฝ๋๋ฅผ ํตํด
GUI๋ฅผ ๊ตฌํํ๋๋ก ํ๋ค.
2.2 ๊ฒ์ ์งํ
์ด๋ฒ ์น์
์์๋ ๊ณผ์ ์ ๊ฒ์์ด ์งํ๋๋ ๊ณผ์ ์ ์์ ํ๋ค. ์ธ๋ถ์ ์ธ ๊ตฌํ ์๊ตฌ ์ฌํญ์ ๋ค์
์น์
์์ ์์ ํ๋ค. ๊ตฌํ ์ด์ ์ https://www.mathsisfun.com/games/2048.html ์์ ๊ฒ์์ ํด๋ณด
๋ฉฐ ๊ฒ์์ ์ ๋ฐ์ ์ธ ํ๋ฆ์ ํ์
ํ๋ ๊ฒ์ ์ถ์ฒํ๋ค.
2.2.1 ๊ฒ์ ์์
ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋๋คํ ๊ฒ์ํ์ด ๋ํ๋๋ค.
๊ทธ๋ฆผ 1. ํ๋ก๊ทธ๋จ ์์ ์ ๋ํ๋๋ ํ๋ฉด
4 x 4 ๊ฒฉ์ ํํ์ ๊ฒ์ํ ๋ด๋ถ ๋๋คํ 2๊ตฐ๋ฐ์ ์ซ์ 2 ๋ธ๋ก์ด ๋ฑ์ฅํ๋ ๊ฒ์ผ๋ก ๊ฒ์์ด ์์๋
๋ค. ์ ์ฒด ๋ ์ด์์์ ๋ค์ ๋ค ๊ฐ์ ์์๋ค๋ก ๊ตฌ์ฑ๋๋ค.
1. ๊ฒ์ํ: 4 x 4 ๊ฒฉ์ ํํ์ ๊ณต๊ฐ์ผ๋ก, ํผ์ฆ ๊ฒ์์ ๋ธ๋ก๋ค์ด ํฉ์ณ์ง๊ณ ์ด๋ํ๋ ๊ณต๊ฐ์ด๋ค.
2. ์ ์: ํ์ฌ ๊ฒ์ํ์ ์ ์๊ฐ ํ์๋๋ ๊ณต๊ฐ์ด๋ค. ์ ์๋ฅผ ๊ณ์ฐํ๋ ๊ณต์์ ์ถํ์ ์ค๋ช
ํ
๋ค.
3. ๊ฒ์ ์ข
๋ฃ ๋ฒํผ: ๊ฒ์์ ์ค๊ฐ์ ์ข
๋ฃํ ์ ์๋ ๋ฒํผ์ด๋ค. ํด๋น ๋ฒํผ์ ๋๋ฅผ ๊ฒฝ์ฐ ์ ๋ง๋ก
๊ฒ์์ ์ข
๋ฃํ ๊ฒ์ธ์ง ๋ฌป๋ ํ์ธ์ฐฝ์ด ์ถ๋ ฅ๋๋ค. โYesโ ๋ฒํผ์ ๋๋ฅผ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ
๋๋ฉฐ โNoโ ๋ฒํผ์ ๋๋ฅด๊ฑฐ๋ ํ์ธ์ฐฝ์ ๋ซ์ ๊ฒฝ์ฐ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์๋๋ค.
4. ๊ฒ์ํ ๋๋๋ฆฌ๊ธฐ ๋ฒํผ: ํด๋น ๋ฒํผ์ ๋๋ฅผ ๊ฒฝ์ฐ ๊ฒ์ํ์ด ์ด์ ์ ์ํ๋ก ๋๋์๊ฐ๋ค. ํ
๊ฒ์ ๋น ๋๋๋ฆฌ๊ธฐ ๊ธฐํ๋ 3๋ฒ ์ฃผ์ด์ง๋ค.
1 2
3
4
๊ทธ๋ฆผ 2. ๊ฒ์ ์ข
๋ฃ ๋ฒํผ์ ๋๋ฅผ ๊ฒฝ์ฐ ๋ํ๋๋ ํ์ธ์ฐฝ
๊ทธ๋ฆผ 2๋ ๊ฒ์ ์ข
๋ฃ ๋ฒํผ์ ๋๋ ์ ๋ ๋์ค๋ ํ์ธ์ฐฝ์ด๋ค. Yes๋ฅผ ๋๋ฅผ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ด ๊ทธ๋๋ก
์ข
๋ฃ๋๋ฉฐ, No๋ฅผ ๋๋ฅผ ๊ฒฝ์ฐ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์๊ณ ๊ฒ์์ผ๋ก ๋๋์๊ฐ๋ค.
2.2.2 ๊ฒ์ ์กฐ์ ๋ฐ ๋ธ๋ก ์ด๋
๊ฒ์ํ์์์ ์กฐ์์ ํค๋ณด๋ ๋ฐฉํฅํค๋ก ์ด๋ฃจ์ด์ง๋ค. ์ฌ์ฉ์๊ฐ ๋๋ฅธ ๋ฐฉํฅํค์ ๋ํ ๋ฐฉํฅ์ผ๋ก ๋ธ
๋ก๋ค์ด ์ด๋ํ๋ฉฐ (์๋ฅผ ๋ค์ด, ์ผ์ชฝ ๋ฐฉํฅํค๋ฅผ ๋๋ ์ ๋ ์ผ์ชฝ์ผ๋ก์ ์ด๋์ด ๊ฐ๋ฅํ๋ค๋ฉด ๋ธ๋ก๋ค์ด
์ผ์ชฝ์ผ๋ก ์ด๋), ๋ฐฉํฅํค๋ฅผ ๋๋ ์ ๋ ํด๋น ๋ฐฉํฅ์ผ๋ก์ ์ด๋์ด ๋ถ๊ฐ๋ฅํ๋ฉด ๊ทธ ์
๋ ฅ์ ๋ฌด์ํ๋ค. ๋ฐฉ
ํฅํค ์ด์ธ์ ์
๋ ฅ์ ๋ฌด์ํ๋๋ก ๊ตฌํํ๋ค.
๋ฐฉํฅํค๋ฅผ ๋๋ ์ ๋ ๋ธ๋ก๋ค์ด ์ด๋ํ๋ ๊ท์น์ ์์ธํ ์์๋ณด์.
1. ์
๋ ฅ๋ ๋ฐฉํฅ์ ๋ํด ๋น ๊ณต๊ฐ์ด ์กด์ฌํ๋ฉด ํด๋น ๋ธ๋ก์ ๊ทธ ๋ฐฉํฅ์ผ๋ก ์ต๋ํ ์ด๋ํ๋ค.
2. ๋ธ๋ก์ด ์ด๋ํ๋ฉด์ ๋ค๋ฅธ ๊ฐ์ ๊ฐ๋ ๋ธ๋ก๊ณผ ๋ง๋ฟ์ ๊ฒฝ์ฐ ๋ ๋ธ๋ก์ ํฉ์ณ์ง์ง ์๋๋ค.
3. ๋ธ๋ก์ด ์ด๋ํ๋ฉด์ ๊ฐ์ ๊ฐ์ ๊ฐ๋ ๋ธ๋ก๊ณผ ๋ง๋ฟ์ ๊ฒฝ์ฐ ๋ ๋ธ๋ก์ ํฉ์ณ์ง๋ค. ๋ํ, ๋ธ
๋ก๋ค์ ํฉ์ณ์ง ๋ ํ ๋ฒ์ ์ต๋ ๋ ๊ฐ๊น์ง๋ง ๊ทธ ๋ณํฉ์ ๊ด์ฌํ ์ ์๋ค.
์ฐ์ , ์
๋ ฅ๋ ๋ฐฉํฅ์ ๋ํด ๋น ๊ณต๊ฐ์ด ์กด์ฌํ๋ฉด ๋ธ๋ก๋ค์ ๊ทธ ๋ฐฉํฅ์ผ๋ก ์ต๋ํ ์ด๋ํ๋ค. ๊ทธ๋ฆผ 3
์ ์ฐธ๊ณ ํ๋๋ก ํ๋ค.๊ทธ๋ฆผ 3. (์ข) ์ด๋ํ๊ธฐ ์ ๊ฒ์ํ, (์ฐ) ์ผ์ชฝ ๋ฐฉํฅํค๋ฅผ ๋๋ฌ์ ๋ธ๋ก๋ค์ด ์ด๋ํ ๊ฒ์ํ. 3ํ 3์ด์
๋ธ๋ก์ ์ด๋ ํ ์๋ก ์์ฑ๋ ๋ธ๋ก์ด๋ค.
๋ธ๋ก์ด ์ด๋ํ๋ฉด์ ๋ค๋ฅธ ๊ฐ์ ๊ฐ๋ ๋ธ๋ก๊ณผ ๋ง๋ฟ์ ๊ฒฝ์ฐ ๋ ๋ธ๋ก์ ํฉ์ณ์ง์ง ์๊ณ ์ถฉ๋ํ๋ค. ๊ทธ
๋ฆผ 4๋ฅผ ์ฐธ๊ณ ํ๋๋ก ํ๋ค.๊ทธ๋ฆผ 4. (์ข) ์ด๋ํ๊ธฐ ์ ๊ฒ์ํ, (์ฐ) ์์ชฝ ๋ฐฉํฅํค๋ฅผ ๋๋ฌ์ ๋ธ๋ก๋ค์ด ์ด๋ํ ๊ฒ์ํ. (์ฐ)์ 4ํ
2์ด ๋ธ๋ก์ ์ด๋ ํ ์๋ก ์์ฑ๋ ๋ธ๋ก์ด๋ค.
๋ธ๋ก์ด ์ด๋ํ๋ฉด์ ๊ฐ์ ๊ฐ์ ๊ฐ๋ ๋ธ๋ก๊ณผ ๋ง๋ฟ์ ๊ฒฝ์ฐ ๋ ๋ธ๋ก์ ํฉ์ณ์ง๋ค. ๊ทธ๋ฆผ 5๋ฅผ ๋ณด๋ฉด 1
ํ 1์ด์ ๋ธ๋ก๊ณผ 2ํ 1์ด์ ๋ธ๋ก์ด ์๋๋ก ์ด๋ํ๋ฉด์ ํฉ์ณ์ง ๊ฒ์ ํ์ธํ ์ ์๋ค. ๋ํ, ๋ธ๋ก๋ค
์ด ํฉ์ณ์ง ๋ ํ๋์ ๋ณํฉ์ ๋ํด ์ต๋ ๋ ๊ฐ๊น์ง๋ง ๊ด์ฌํ ์ ์๋ค. ๊ทธ๋ฆผ 5๋ฅผ ๋ณด๋ฉด 2-2-4 ๋ธ๋ก
์ด 1์ด์ ๋์ฌ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ฌ๊ธฐ์ 2-2-4๊ฐ ํฉ์ณ์ ธ์ 8์ด ๋์ค๋ ๊ฒ์ด ์๋๋ผ 4-4๊ฐ
๋๋ ๊ฒ์ ์ ์ ์๋ค.๊ทธ๋ฆผ 5. (์ข) ์ด๋ํ๊ธฐ ์ ๊ฒ์ํ, (์ฐ) ์๋์ชฝ ๋ฐฉํฅํค๋ฅผ ๋๋ฌ์ ๋ธ๋ก๋ค์ด ์ด๋ํ ๊ฒ์ํ. 1ํ 1์ด
์ ๋ธ๋ก์ ์ด๋ ํ ์๋ก ์์ฑ๋ ๋ธ๋ก์ด๋ค.
๋ํ, 2-2-2๊ฐ ๊ฐ๋ก๋ก ์ฐ๋ฌ์ ์์ ๋ ์ผ์ชฝ์ผ๋ก ์ด๋ํ ๊ฒฝ์ฐ ํฉ์ณ์ ธ์ 4-2๊ฐ ๋๋ฉฐ, ์ค๋ฅธ์ชฝ์ผ๋ก
์ด๋ํ ๊ฒฝ์ฐ ํฉ์ณ์ ธ์ 2-4๊ฐ ๋๋ค. 2-2-2๊ฐ ์ธ๋ก๋ก ์ฐ๋ฌ์ ์์ ๋๋ ๋ง์ฐฌ๊ฐ์ง๋ก, ์์ชฝ์ผ๋ก ์ด๋
ํ ๊ฒฝ์ฐ ์์์๋ถํฐ 4-2๊ฐ ๋๋ฉฐ ์๋์ชฝ์ผ๋ก ์ด๋ํ ๊ฒฝ์ฐ ์์์๋ถํฐ 2-4๊ฐ ๋๋ค.
2.2.3 ์ ์ ๊ณ์ฐ
๋ธ๋ก๋ค์ด ํฉ์ณ์ง ๋ ๊ฒ์ํ์ ์ ์๊ฐ ์ฌ๋ผ๊ฐ๋ค. ํฉ์ณ์ ธ์ ์์ฑ๋ ๋ธ๋ก์ ๊ฐ๋งํผ ์ ์๊ฐ ์ฌ๋ผ๊ฐ
๋๋ก ๊ตฌํํ๋ค. ์๋ฅผ ๋ค์ด, 8 ๋ธ๋ก๊ณผ 8 ๋ธ๋ก์ ํฉ์ณ์ 16 ๋ธ๋ก์ ๋ง๋ค์๋ค๋ฉด ์ ์๋ 16์ด ์ฌ๋ผ๊ฐ
๋ค. ํ ๋ฒ์ ์ด๋์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ๋ณํฉ์ด ๋ฐ์ํ๋ค๋ฉด ๋ชจ๋ ๋ณํฉ์ ๋ํด ์ ์๊ฐ ์ฌ๋ผ๊ฐ๋๋ก ํด์ผ
ํ๋ค.
2.2.4 ์๋ก์ด ๋ธ๋ก ์์ฑ
๊ฒ์ํ์์ ๋ธ๋ก๋ค์ ์ด๋ํ ๋ค์๋ ๋๋คํ ๋น ๊ณต๊ฐ์ ์๋ก์ด ๋ธ๋ก์ด ํ๋ ์์ฑ๋๋ค. ์์ฑ๋๋
์๋ก์ด ๋ธ๋ก์ ์ ํด์ง ํ๋ฅ ์ ๋ฐ๋ผ 2 ๋๋ 4์ ๊ฐ์ ๊ฐ์ง๋ค. ์ด๋ฒ ๊ณผ์ ๋ฅผ ๊ตฌํํ ๋๋ 20% ํ๋ฅ
๋ก 4์ ๊ฐ์ ๊ฐ๋ ๋ธ๋ก์ด ์์ฑ๋๋๋ก, 80% ํ๋ฅ ๋ก 2์ ๊ฐ์ ๊ฐ๋ ๋ธ๋ก์ด ์์ฑ๋๋๋ก ๊ตฌํํ๋ค.
2.2.5 ๋๋๋ฆฌ๊ธฐ ๋ฒํผ (Restore)
๋๋๋ฆฌ๊ธฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ๊ฒ์ํ์ด ์ด์ ์ ์ํ๋ก ๋๋์๊ฐ๋ค. ๋ฒํผ์ ๋๋ฅด๋ฉด ์ ๋ง ๋๋๋ฆด ๊ฒ์ธ
์ง ๋ฌป๋ ๋ฉ์์ง์ ํจ๊ป ํ์ฌ ๋จ์ ๋๋๋ฆฌ๊ธฐ ๊ธฐํ๋ฅผ ์๋ ค์ฃผ๋ ์ฐฝ์ด ์ถ๋ ฅ๋๋ค (๊ทธ๋ฆผ 6).
๊ทธ๋ฆผ 6. ๊ฒ์ ์งํ ์ค Restore ๋ฒํผ์ ๋๋ ์ ๋ ์ถ๋ ฅ๋๋ ๋ฉ์์ง ์ฐฝ
์ด ์ํ์์ Yes๋ฅผ ๋๋ฅผ ๊ฒฝ์ฐ ์ด์ ์ํ๋ก ๋๋์๊ฐ๋ฉฐ ์ฑ๊ณต์ ์ผ๋ก ๋๋๋ ค์ก๋ค๋ ๋ฉ์์ง๋ฅผ ์ถ
๋ ฅํ๋ค (๊ทธ๋ฆผ 7). No๋ฅผ ๋๋ฅผ ๊ฒฝ์ฐ ์๋ฌด ์ผ๋ ๋ฒ์ด์ง์ง ์๋๋ค.
๊ทธ๋ฆผ 7. ๊ทธ๋ฆผ 6์์ Yes ๋ฒํผ์ ๋๋ฌ ๊ฒ์ํ์ ๋๋๋ฆฐ ๋ชจ์ต
๋๋๋ฆฌ๊ธฐ ๋ฒํผ์ ๊ตฌํํ๊ธฐ ์ํด์๋ ์ด์ ๊ฒ์ํ ์ํ๋ฅผ ๋ฒํผ์ ์ ์ฅํด์ผ ํ๋ค. ๋ฒํผ์ ์ ์ฅ๋
๋ ๊ฒ์ํ์ 1๊ฐ๋ก ์ ํํ๋ค. ๋ค์ ๋งํ์๋ฉด, ๋๋๋ฆฌ๊ธฐ ๋ฒํผ์ ์ฌ์ฉํ์ฌ ๋ฒํผ์ ์ ์ฅ๋ ๊ฒ์ํ ์
ํ๋ก ๋๋๋ ธ์ ๊ฒฝ์ฐ ๋ ์ด์ ๋ฒํผ์๋ ์๋ฌด ๊ฒ๋ ๋จ์์์ง ์์ ๊ฒ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋๋๋ฆฌ๊ธฐ
๋ฒํผ์ ๋ ๋ฒ ์ฐ์์ผ๋ก ์ฌ์ฉํ ์๋ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒ์์ด ์์ํ ์๊ฐ์๋ ๋ฒํผ์๋ ์๋ฌด ๊ฒ๋
์ ์ฅ๋์ด ์์ง ์์ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ๋๋๋ฆฌ๊ธฐ ๋ฒํผ์ ๋ ๋ฒ ์ฐ์์ผ๋ก ์ฌ์ฉํ๊ฑฐ๋ ๊ฒ์์ด ์์๋
์๊ฐ์ ๋๋๋ฆฌ๊ธฐ ๋ฒํผ์ ๋๋ฌ์ ๋ฒํผ์ ์๋ฌด ๊ฒ๋ ์์ ๊ฒฝ์ฐ์๋ ๊ทธ๋ฆผ 8๊ณผ ๊ฐ์ ์๋ฌ ์ฐฝ์ ์ถ๋ ฅ
ํ๋ค. ์๋ฌ ์ฐฝ์์ OK ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ค์ ๊ฒ์์ด ์ฌ๊ฐ๋๋ค.
๊ทธ๋ฆผ 8. ๋ฒํผ์ ์๋ฌด ๊ฒ๋ ์ ์ฅ๋์ด ์์ง ์์ ์ํ์์ Restore ๋ฒํผ์ ๋๋ ์ ๋
๋ํ, ๋ ์ด์ ๋๋๋ฆฌ๊ธฐ ๊ธฐํ๊ฐ ๋จ์์์ง ์์ ์ํ์์ Restore ๋ฒํผ์ ๋๋ฅด๋ฉด ๊ทธ๋ฆผ 9์ ๊ฐ์
์๋ฌ ๋ฉ์์ง ์ฐฝ์ ์ถ๋ ฅํ๋ค.
๊ทธ๋ฆผ 9. ๋๋๋ฆฌ๊ธฐ ๊ธฐํ๊ฐ ๋จ์ง ์์ ์ํ์์ Restore ๋ฒํผ์ ๋๋ ์ ๋ ์ถ๋ ฅ๋๋ ๋ฉ์์ง ์ฐฝ
2.2.6 ๊ฒ์ ์น๋ฆฌ
๊ฒ์์ ์งํํ์ฌ 2048 ๋ธ๋ก์ ๋ง๋ค๋ฉด ์ ์ ๊ฐ ์น๋ฆฌํ๋ค. ์กฐ๊ต๋ ๊ฒ์์ ํ๋ฉด์ 2048์ ๋ง๋ค์ง
๋ชปํ๊ธฐ์ 2048์ด ๋ง๋ค์ด์ ธ์ ๊ฒ์์ด ์น๋ฆฌํ๋ ์์๋ฅผ ๋ณด์ฌ์ฃผ์ง๋ ๋ชปํ๋ค. ๊ทธ ๋์ ์ฝ๋๋ฅผ ์ด์ง
๋ณ๊ฒฝํ์ฌ 32๊ฐ ์์ฑ๋์์ ๋ ๊ฒ์์ด ์ข
๋ฃ๋๋๋ก ์ฝ๋๋ฅผ ๋ฐ๊ฟ๋์๋ค. ๋ณด์ฌ์ฃผ๋ ์์์์๋ 32 ๋ธ
๋ก์ ๋ง๋ค์ด์ ๊ฒ์์ด ๋๋์ง๋ง ์ค์ ๊ตฌํ์์๋ 2048 ๋ธ๋ก์ด ๋ง๋ค์ด์ก์ ๋ ์น๋ฆฌ ์กฐ๊ฑด์ด ๋ฌ์ฑ
๋๋๋ก ๊ตฌํํ๋ค. ๊ทธ๋ฆผ 10์ ๋ณด๋ฉด ์์๋ก ์ค์ ๋ ์น๋ฆฌ ์กฐ๊ฑด์ธ 32 ๋ธ๋ก์ด ๋ง๋ค์ด์ ธ ์๋ค. ๊ทธ๋ฆผ 10
๊ณผ ๊ฐ์ด ์น๋ฆฌ ์กฐ๊ฑด์ ํด๋นํ๋ ๋ธ๋ก์ด ์์ฑ๋๋ฉด 1์ด ๋ค์ โCongratulations!โ ๋ฉ์์ง์ ํจ๊ป ํด
๋ฆฌ์ด ์์ ์ ์ ์๋ฅผ ์ถ๋ ฅํ๋ ๋ฉ์์ง ๋ฐ์ค๋ฅผ ์ถ๋ ฅํ๋ค.
๊ทธ๋ฆผ 10. ์น๋ฆฌ ์กฐ๊ฑด์ด ๋ฌ์ฑ๋์์ ๋ ์ถ๋ ฅ๋๋ ๋ฉ์์ง ์ฐฝ
2.2.7 ๊ฒ์ ํจ๋ฐฐ
๊ทธ ์ด๋ค ๋ฐฉํฅ์ผ๋ก๋ ๋ธ๋ก๋ค์ด ์ด๋ํ ์ ์๋ ์ํ๊ฐ ๋๋ฉด ๊ฒ์์์ ํจ๋ฐฐํ๋ค.
๊ทธ๋ฆผ 11. ๋ธ๋ก๋ค์ด ์ด๋ค ๋ฐฉํฅ์ผ๋ก๋ ์ด๋ํ ์ ์๋ ์ํ. ์ด ์ํ์ ๋๋ฌํ ๊ฒ๋ง์ผ๋ก๋ ์๋ฌด ์ผ
๋ ๋ฒ์ด์ง์ง ์๋๋ค.
๊ทธ๋ฆผ 11์ ๋ณด๋ฉด ๋ ์ด์ ์ด๋ค ๋ฐฉํฅ์ผ๋ก๋ ์ด๋ํ ์ ์๋ ์ํ๊ฐ ๋ ๊ฒ์ ์ ์ ์๋ค. ์ด ์ํ
์ ๋๋ฌํ์ ๋๋ ๊ฒ์ ํจ๋ฐฐ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋์ง ์์ง๋ง, ์ด ์ํ์์ ์๋ฌด ๋ฐฉํฅํค๋ฅผ ๋๋ฅด๋ฉด ๊ทธ๋ฆผ
12์ ๊ฐ์ด โYou loseโฆโ ๋ฉ์์ง์ ํจ๊ป ํจ๋ฐฐ ์์ ์ ์ ์๋ฅผ ์ถ๋ ฅํ๋ ๋ฉ์์ง ๋ฐ์ค๋ฅผ ์ถ๋ ฅํ๋ค.
๊ทธ๋ฆผ 12. ๊ทธ๋ฆผ 11์ ์ํ์์ ๋ฐฉํฅํค๋ฅผ ๋๋ ์ ๋ ์ถ๋ ฅ๋๋ ๋ฉ์์ง ์ฐฝ
2.3 GUI ๊ตฌํ ์ธ๋ถ ์ฌํญ
2.3.1 ํ๋ก๊ทธ๋จ ๋ ์ด์์
โซ ํ๋ก๊ทธ๋จ ์คํ ์ฐฝ
โผ ํฌ๊ธฐ ์ค์ : ๊ฐ๋ก 1300, ์ธ๋ก 1000 (resize ํ์ฉ)
โซ ๊ฒ์ ํ
โผ QGridLayout์ผ๋ก ๊ตฌํ
โผ ํ๋ก๊ทธ๋จ ์ฐฝ ์ผ์ชฝ์ ์์น
โผ ํฌ๊ธฐ ์ค์ ๋ฐ๋ก ํ ํ์ ์์ (05/23 15์ 10๋ถ ์์ )
โซ ์ ์ ํ์ ๋ ์ด์์
โผ QLabel๋ก ๊ตฌํ
โผ ํ๋ก๊ทธ๋จ ์ฐฝ ์ค๋ฅธ์ชฝ ์๋จ์ ์์น
โผ ๊ธ์ ํฌ๊ธฐ ์ ํ ์์
โซ ๊ฒ์ ์ข
๋ฃ ๋ฒํผ ๋ฐ ๋๋๋ฆฌ๊ธฐ ๋ฒํผ
โผ QPushButton์ผ๋ก ๊ตฌํ
โผ ํ๋ก๊ทธ๋จ ์ฐฝ ์ค๋ฅธ์ชฝ ํ๋จ์ ์์น
โผ ๋ฒํผ ํฌ๊ธฐ: ๊ฐ๋ก 300, ์ธ๋ก 200
โผ ํฐํธ ํฌ๊ธฐ: 20pt
โผ ๋ฒํผ์ ์กด์ฌํ๋ ๋ฌธ๊ตฌ: ์ข
๋ฃ ๋ฒํผ (Exit), ๋๋๋ฆฌ๊ธฐ ๋ฒํผ (Restore)
2.3.2 ๋ธ๋ก
โซ ๋ธ๋ก์ ํฌ๊ธฐ: ๊ฐ๋ก 250, ์ธ๋ก 250
โซ ๋ธ๋ก ์ฌ์ด์ ๊ฐ๊ฒฉ: 10 (void QGridLayout::setSpacing(int spacing);) (05/23 15์ 10๋ถ ์
์ )
โซ QLabel ํด๋์ค๋ฅผ ์์๋ฐ์ ๊ตฌํ
โซ setStyleSheet๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ก ์คํ์ผ ์ค์ (Widget์ ์คํ์ผ์ CSS๋ก ์ค์ ํด ์ฃผ๋
๋ฉ์๋)
โผ setStyleSheet(โQLabel { background: rgb(rrr, ggg, bbb); color: black; border-style:
solid; font: 70pt; font: bold; }โ); (05/23 15์ 10๋ถ ์์ )
โผ ๋น์ด ์๋ ๋ธ๋ก: rgb(255, 255, 255)
โผ 2 ๋ธ๋ก: rgb(187, 173, 160)
โผ 4 ๋ธ๋ก: rgb(237, 224, 200)
โผ 8 ๋ธ๋ก: rgb(242, 177, 121)
โผ 16 ๋ธ๋ก: rgb(245, 149, 99)
โผ 32 ๋ธ๋ก: rgb(246, 126, 95)
โผ 64 ๋ธ๋ก: rgb(246, 94, 59)
โผ 128 ๋ธ๋ก: rgb(237, 207, 114)
โผ 256 ๋ธ๋ก: rgb(237, 204, 97)
โผ 512 ๋ธ๋ก: rgb(237, 200, 80)
โผ 1024 ๋ธ๋ก: rgb(237, 197, 63)
โผ 2048 ๋ธ๋ก: rgb(237, 194, 46)
2.3.3 ๋ฉ์์ง ์ฐฝ
โซ ๋ฉ์์ง ์ฐฝ์ ๋์ธ ๋๋ QMessageBox๋ฅผ ํ์ฉํ ๊ฒ
โซ ๋ฌธ์ ์ ๋ฉ์์ง ๋ด์ฉ์ด ์ ํํ๊ฒ ๋ช
์๋์ด ์๋ ๊ฒ์ ์ ์ธํ๊ณ ๋ ๋ฉ์์ง ์ฐฝ์ ํ์๋
๋ ๋ฌธ๊ตฌ๋ ์์ ๋กญ๊ฒ ์ค์ ๊ฐ๋ฅํจ. ํด๋น ์ํฉ์ ๋ง๋ ๋ป์ ์ ํ ์๋ง ์์ผ๋ฉด OK
2.4 ํ์ ๊ตฌํ ํ์ผ ๋ฐ ํด๋์ค
์ด๋ฒ ์น์
์์๋ ์ด๋ฒ ๊ณผ์ ์์ ํ์์ ์ผ๋ก ๊ตฌํ๋์ด์ผ ํ๋ ํ์ผ ๋ฐ ํด๋์ค๋ฅผ ์ค๋ช
ํ๋ค. ์ด๋ฒ
์น์
์์ ๊ตฌํ์ ์๊ตฌํ๋ ํด๋์ค๋ค์ ๋ฐ๋์ ๊ตฌํ๋์ด์ผ ํ๋ฉฐ, ์ด์ธ์ ์ถ๊ฐ์ ์ธ ํด๋์ค๋ ํ์ผ
์ ์์ ๋กญ๊ฒ ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค. ๋ณด๊ณ ์๋ฅผ ์์ฑํ ๋ ๋ณธ์ธ์ด ์ถ๊ฐ๋ก ๊ตฌํํ ํด๋์ค๋ ํ์ผ์ด ์์ผ
๋ฉด ํด๋น ํด๋์ค ๋ฐ ํ์ผ์ ์ถ๊ฐํ ์ด์ ๋ฅผ ์์ ํด์ผ ํ๋ค. GUI ๊ตฌํ ์ฝ๋์ ๊ฒ์ ๋ด๋ถ ๋ก์ง ๊ตฌํ
์ฝ๋๋ฅผ ๋ถ๋ฆฌํ์ง ์๋ ๊ฒ์ ๊ฐ์ ์ฌํญ์ด๋ค.
2.4.1 class Block
๊ฒ์ ๋ด๋ถ ๋ก์ง ๊ตฌํ์ ์ฌ์ฉ๋๋ Block ํด๋์ค๊ฐ ๊ตฌํ๋์ด ์์ด์ผ ํ๋ค. Block ํด๋์ค๋ ๊ฐ ๋ธ
๋ก์ด ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ๊ด๋ฆฌํ๋ค.
2.4.2 class Board
๊ฒ์ ๋ด๋ถ ๋ก์ง ๊ตฌํ์ ์ฌ์ฉ๋๋ Board ํด๋์ค๊ฐ ๊ตฌํ๋์ด ์์ด์ผ ํ๋ค. Board ํด๋์ค๋ Block
๋ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ ๊ฒ์ํ์ ๊ด๋ฆฌํ๋ฉฐ, ๊ฒ์ํ์ด ์ด๋ํ๋ ๋ก์ง ๋ํ ์ด ํด๋์ค์ ๊ตฌํ๋์ด ์
์ด์ผ ํ๋ค.
2.4.3 class Game
๊ฒ์์ ์ ๋ฐ์ ์ผ๋ก ๊ด๋ฆฌํ๋ Game ํด๋์ค๊ฐ ๊ตฌํ๋์ด ์์ด์ผ ํ๋ค. ๊ฒ์์ ์ฌ์ฉ๋๋ Board ํด
๋์ค๋ฅผ ๋ฉค๋ฒ ๋ณ์๋ก ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ฉฐ, ๊ฒ์์ ์ข
๋ฃ ์ฌ๋ถ๋ฅผ ํ๋จํ๋ ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ค.
2.4.4 class BlockUi
Block์ GUI ์์ ๋ํ๋ด๊ธฐ ์ํ BlockUi ํด๋์ค๊ฐ ๊ตฌํ๋์ด ์์ด์ผ ํ๋ค. BlockUi๋ QLabel ํด
๋์ค๋ฅผ ์์๋ฐ๋๋ก ํ์ฌ ๊ตฌํํ๋ค.
2.4.5 class GameUi
์ ์ฒด ๋ ์ด์์์ ๊ด๋ฆฌํ๋ GameUi ํด๋์ค๊ฐ ๊ตฌํ๋์ด ์์ด์ผ ํ๋ค. QWidget์ ์์๋ฐ๋๋ก ํ
์ฌ ๊ตฌํํ๋ค.
2.5 ๊ฒ์ ์งํ ์ํฉ ์ ์ฅ
์ฑ์ ์ ํธ์์ฑ์ ์ํด ๊ฒ์์ด ์งํ๋๋ ์ํฉ์ โprogress.txtโ ํ์ผ์ ์ ์ฅํ๋๋ก ํ๋ค.
1. ๊ฒ์ ์์ ์ ๋ธ๋ก์ด ์์ฑ๋๋ ์์น x1ํ y1์ด, x2ํ y2์ด: INITIAL x1 y1 x2 y2
A. 1ํ 1์ด๊ณผ 3ํ 2์ด์ ์์ฑ๋์์ ๊ฒฝ์ฐ โ INITIAL 1 1 3 2
2. ์์ชฝ/์๋์ชฝ/์ค๋ฅธ์ชฝ/์ผ์ชฝ์ ๋๋ฅผ ๊ฒฝ์ฐ: UP/DOWN/RIGHT/LEFT
3. ์ด๋ ํ n ๋ธ๋ก์ด ์์ฑ๋๋ ์์น xํ y์ด: GENERATE x y n
A. ์ด๋ ํ 4 ๋ธ๋ก์ด 2ํ 1์ด์ ์์ฑ๋์์ ๊ฒฝ์ฐ โ GENERATE 2 1 4
4. xํ y์ด์์ n ๋ธ๋ก์ผ๋ก์ ๋ณํฉ์ด ๋ฐ์ํ ๊ฒฝ์ฐ: MERGE x y n
A. 2๊ฐ์ 4 ๋ธ๋ก์ด 2ํ 2์ด์์ 8 ๋ธ๋ก์ผ๋ก ํฉ์ณ์ง ๊ฒฝ์ฐ โ MERGE 2 2 8
5. ๋๋๋ฆฌ๊ธฐ ๋ฒํผ์ ๋๋ฅด๊ณ ๊ธฐํ๊ฐ n๋ฒ ๋จ์ ๊ฒฝ์ฐ: RESTORE n
A. ๊ธฐํ๊ฐ 2๋ฒ ๋จ์ ์ํ์์ ๋๋๋ฆฌ๊ธฐ๋ฅผ ๋๋ฅผ ๊ฒฝ์ฐ โ RESTORE 1
6. ์ด๋ ํ ์ ์: SCORE n
A. ์ด๋ ํ์ ์ ์๊ฐ 72์ ์ผ ๊ฒฝ์ฐ: SCORE 72
์์) ์ข์๋จ->์ฐ์๋จ->์ขํ๋จ->์ฐํ๋จ ์์๋ก ์์ง์INITIAL 2 4 3 1
LEFT
GENERATE 1 1 2
SCORE 0
DOWN
MERGE 4 1 4
GENERATE 3 2 2
SCORE 4
LEFT
MERGE 3 1 4
GENERATE 2 3 2
SCORE 8
์ฒ์ ๋ธ๋ก์ด ์์ฑ๋๋ ๊ฒ์ ๊ธฐ๋กํ ๋๋ ์ซ์๊ฐ ์์ ํ์์ ์์ฑ๋ ์์น๋ฅผ ์ฐ์ ์ ์ผ๋ก ๊ธฐ๋กํ
๊ณ , ํ์ด ๊ฐ์ ๊ฒฝ์ฐ ์ซ์๊ฐ ์์ ์ด์์ ์์ฑ๋ ์์น๋ฅผ ์ฐ์ ์ ์ผ๋ก ๊ธฐ๋กํ๋ค. ์๋ฅผ ๋ค์ด, ๊ทธ๋ฆผ๊ณผ
๊ฐ์ด 3ํ 1์ด๊ณผ 2ํ 4์ด์์ ์ฒซ ๋ธ๋ก๋ค์ด ์์ฑ๋์์ ๊ฒฝ์ฐ 2ํ 4์ด์ด ํ์ ์ซ์๊ฐ ์์ผ๋ฏ๋ก
INITIAL 2 4 3 1๋ก ๊ธฐ๋กํ๋ค.
๋ณํฉ์ด ์ฌ๋ฌ ๋ฒ ๋ฐ์ํ์์ ๊ฒฝ์ฐ ์ซ์๊ฐ ์์ ํ์์ ๋ฐ์ํ ๋ณํฉ์ ์ฐ์ ์ ์ผ๋ก ๊ธฐ๋กํ๊ณ , ํ
์ด ๊ฐ์ ๊ฒฝ์ฐ ์ซ์๊ฐ ์์ ์ด์์ ๋ฐ์ํ ๋ณํฉ์ ์ฐ์ ์ ์ผ๋ก ๊ธฐ๋กํ๋ค. ์๋ฅผ ๋ค์ด, 2ํ 3์ด์์
๋ณํฉ์ด ๋ฐ์ํ๊ณ 2ํ 2์ด์์ ๋ณํฉ์ด ๋ฐ์ํ์ ๊ฒฝ์ฐ
MERGE 2 2 n
MERGE 2 3 nโ
์ ์์๋ก ๊ธฐ๋ก๋๋ค.
ํ๋์ ์ด๋์ ๋ํ ๊ธฐ๋ก ์์๋ ์ด๋ -> ๋ณํฉ -> ์์ฑ -> ์ ์๋ก ์ ํ๋ค. ์๋ฅผ ๋ค์ด ์ผ์ชฝ์ผ๋ก
์ด๋ํ ๊ฒฝ์ฐ
LEFT
MERGE โฆ (๋ฐ์ํ ๋ณํฉ ์์๋๋ก ์ญ ๊ธฐ๋ก)
GENERATE โฆ (์ด๋ ํ ์์ฑ๋ ์์น ๊ธฐ๋ก)
SCORE โฆ (์ ์ ๊ธฐ๋ก)
๋ฐฉํฅํค๋ฅผ ์
๋ ฅํ์์ง๋ง ํด๋น ๋ฐฉํฅ์ผ๋ก์ ์ด๋์ด ๋ถ๊ฐ๋ฅ ํ์ ๊ฒฝ์ฐ์๋ ๋ฐฉํฅ๋ง ๊ธฐ๋กํ๋ค. ์๋ฅผ
๋ค์ด ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ ์์๋๋ก ๋๋ ๋๋ฐ ์ผ์ชฝ์ผ๋ก์ ์ด๋์ด ๋ถ๊ฐ๋ฅํ ์ํฉ์ด์๋ค๊ณ ํด๋ณด์. ๊ทธ
๋ด ๋๋
LEFT
RIGHT
MERGE โฆ
GENERATEโฆ
SCORE โฆ
๋ก ๊ธฐ๋กํ๋ฉด ๋๋ค.
์ ์์ ๋ณํ๊ฐ ๋ฐ์ํ์ง ์์๋ ์ด๋ ํ์๋ ์ ์๋ฅผ ๊ธฐ๋กํด์ผ ํ๋ค. ์ ์๋ฅผ ๊ธฐ๋กํ์ง ์์๋
๋๋ ์ํฉ์ ํด๋น ๋ฐฉํฅ์ผ๋ก์ ์ด๋์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ๋ฐ์๋ ์๋ค.
LEFT
GENERATE โฆ
SCORE n
RIGHT
GENERATE โฆ
SCORE n (MERGE๊ฐ ๋ฐ์ํ์ง ์์์ ์ ์ ๋ณํ๊ฐ ์์ด๋ ๊ธฐ๋กํด์ผ ํจ)
RIGHT (์ด๋์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ ์ ๊ธฐ๋ก X)
UP
MERGE โฆ
GENERATE โฆ
SCORE nโ
โโโโโโโโโโโโโ05/27 13์ 55๋ถ ๋ด์ฉ ์ถ๊ฐ โโโโโโโโโโโโโ
Qt Creator๋ฅผ ํฌํจํ ๋๋ค์์ IDE๋ ํ๋ก๊ทธ๋จ ๋น๋๋ฅผ ์์ค ์ฝ๋๊ฐ ์์นํ ํด๋๊ฐ ์๋ ๋ค๋ฅธ ํด
๋์์ ์งํํ๋ค.
YOUR_PROJECT๋ผ๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ ํ๋ก๊ทธ๋จ์ ๋น๋ํ๋ ๊ฒฝ์ฐ๋ฅผ Qt Creator์์ ์ดํด๋ณด์.
root
โ YOUR_PROJECT
โ build-YOUR_PROJECT-Desktop_Qt_6_5_0_MinGW_64_bit-Debug
โ debug
์์ ๊ฐ์ ํด๋ ๊ตฌ์กฐ๊ฐ ๋ง๋ค์ด์ง๊ณ debug ํด๋ ๋ด์ ํ์ผ ์
์ถ๋ ฅ์ด ์งํ๋๋ค.
๋ฐ๋ผ์, ์ ์ถ์ ์งํํ ๋ build-โฆ ํด๋๋ ๊ฐ์ด ์์ถํ์ฌ ์ ์ถํ๋๋ก ํ๋ค.
TIPS
1. Qt ๊ณต์ ๋ฌธ์ (https://doc.qt.io/)์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ๋ฒ์ ๋ํ ์ ๋ฆฌ๊ฐ ์ ๋์ด ์์ผ๋ฏ๋ก
ํด๋น ์ฌ์ดํธ๋ฅผ ํตํด ์ ๋ณด๋ฅผ ์ป๋ ๊ฒ์ ์ถ์ฒํ๋ค.
2. ํ์ผ ์ถ๊ฐ๋ ํ์ผ ์ญ์ ๋ฅผ ํ๊ณ ์ปดํ์ผ ์๋ฌ๋ฅผ ๊ฒช๋๋ค๋ฉด Clean & Build๋ฅผ ํด๋ณด์. Clean์
ํจ์ผ๋ก์จ ์ด์ ์ ํ๋ก์ ํธ๋ฅผ ๋น๋ฉํ ๋ ์์ฑ๋์๋ object ํ์ผ์ด๋ ๋ฐ์ด๋๋ฆฌ ํ์ผ๋ค์
์ญ์ ํ ์ ์๋ค. Clean์ ํ๊ณ Build๋ฅผ ํ๊ฒ ๋๋ฉด cleanํ ์ํ์์ ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋น
๋ํ๊ฒ ๋๋ฏ๋ก ๋ณ๊ฒฝ๋ ์ํ๋ก๋ถํฐ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ๋น๋ํ ์ ์๊ฒ ๋๋ค.
3. .pro ํ์ผ์ Qt build system์ธ qmake์ ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค. ํ๋ก์ ํธ๋ฅผ ์ ๋๋ก ๋น๋ํ
๊ธฐ ์ํด์๋ .pro ํ์ผ์ ๋ณธ์ธ์ด ์ฌ์ฉํ๋ .cpp ํ์ผ๋ค๊ณผ .h ํ์ผ๋ค์ ๋ช
์ํด์ผ ํ๋ค. ์
๋ฅผ ๋ค์ด, ๋ณธ์ธ์ด game/mycode.cpp์ game/mycode.h๋ฅผ ์ถ๊ฐํ๋ค๋ฉด .pro ํ์ผ์
SOURCES์ HEADERS์ ์ถ๊ฐ๋ ํ์ผ๋ค์ ์ ์ด์ค์ผ ์ปดํ์ผ์ด ์งํ๋๋ค.
4. ๋ ์ด์์์ ๋ฒํผ์ ์ถ๊ฐํ๊ณ ํค๋ณด๋ ๋ฐฉํฅํค๋ฅผ ๋๋ฅด๋ฉด ๊ฒ์ํ์ ๋ธ๋ก๋ค์ด ์์ง์ด์ง ์์
์ ์๋ค. ์ด๋ ๋ฒํผ์ ์ถ๊ฐํ์ ๋ ํค๋ณด๋์ focus๊ฐ ๋ฒํผ ์ชฝ์ผ๋ก ์ค์ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ด
๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ QWidget ํด๋์ค์ focus policy ๊ด๋ จ ๋ฌธ์๋ฅผ ์ฝ์ด๋ณด๋ ๊ฒ์ ์ถ์ฒ
ํ๋ค.
Assignment, CSED232, object, Oriented, Programming, solved
[SOLVED] Csed232 object oriented programming assignment 5 โ gui programming
$25
File Name: Csed232_object_oriented_programming_assignment_5_โ_gui_programming.zip
File Size: 640.56 KB
Only logged in customers who have purchased this product may leave a review.
Reviews
There are no reviews yet.