, , , , ,

[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

5/5 - (1 vote)

์ฃผ์˜ ์‚ฌํ•ญ
โšซ ํด๋ž˜์Šค๋Š” .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 ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ์ฝ์–ด๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœ
ํ•œ๋‹ค.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] Csed232 object oriented programming assignment 5 โ€“ gui programming
$25