[๋ฝ๋ฝ๋ฝ ๊ฐœ๋ฐœ์ผ์ง€]


1. ๊ฐœ๋ฐœ ์‹œ์ž‘

2. ๋ชฌ์Šคํ„ฐ์™€ ๊ธฐ์ดˆ ์ƒํ˜ธ์ž‘์šฉ

3. ์˜คํ†  ํƒ€์ผ๋ง ๋งŒ๋“ค๊ธฐ

4. ์ƒ์† ๊ตฌ์กฐ์™€ ๋ชฌ์Šคํ„ฐ

5. ๋ฒ„ํŠผ๊ณผ ๋ฌธ ์ƒํ˜ธ์ž‘์šฉ




a66f34ab0f0eb275b2ff5d79ce9f343391982bf22b8e971fecba58df

์บ์ฃผ์–ผ ํ”Œ๋žซํฌ๋จธ ๊ฒŒ์ž„์˜ ๊ธฐ๋ณธ ์˜ค๋ธŒ์ ํŠธ์ธ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์—ด๋ฆฌ๋Š” ๋ฌธ์„ ๋งŒ๋“ค์—ˆ๋‹ค.




a66f34ab0f0eb275b2ff5d79ce917673800605f50a46b90d33d6ff61194e

๊ฐ ๋ฒ„ํŠผ๊ณผ ๋ฌธ์€ ์ƒ‰์ƒ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด, ๋™์ผํ•œ ์ƒ‰์ƒ๋ผ๋ฆฌ๋งŒ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค.



a17d34aa121fb3758e333e4d58c12a3ac0b05014f820580b384c

๊ฒŒ์ž„ ์‹œ์ž‘ ๋ฃธ์—์„œ ์ „์—ญ ๋ณ€์ˆ˜๋กœ ์ƒ‰์ƒ ๊ตฌ๋ถ„์šฉ ๋ฐฐ์—ด์„ ํ•˜๋‚˜ ์„ ์–ธํ•ด์ค€๋‹ค.

array_create(x, y)๋Š” y ๊ฐ’์„ ๊ฐ€์ง„ x ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๋Š” ๊ธฐ๋ณธ ํ•จ์ˆ˜๋‹ค.




3eb4d768f5dc3f8650bbd58b36837d69f1

a16024ad162e69e87eb1d19528d5270375982e13c221

์ด์ œ ๋ฌธ๊ณผ ๋ฒ„ํŠผ์šฉ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์ž



์œ„ ์ฝ”๋“œ๋Š” ์ƒ‰์ƒ ์‹ ํ˜ธ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์˜ค๋ธŒ์ ํŠธ๋“ค์˜ create ํ•จ์ˆ˜๋กœ

๊ฐ ์‹ ํ˜ธ๊ฐ’๋งˆ๋‹ค ๊ณ ์œ ํ•œ ์ƒ‰์ƒ์„ ์ง€์ •ํ•ด์ฃผ๊ณ , ํ•„์š”ํ•œ ๋ณ€์ˆ˜๋“ค์„ ์„ ์–ธํ•ด์ค€๋‹ค.



sig -> ์‹ ํ˜ธ๊ฐ’ [๋ฃธ์— ๋ฐฐ์น˜๋œ ๋ฒ„ํŠผ, ๋ฌธ ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ๊ฐ€์ง€๊ธฐ ์‰ฝ๋„๋ก Variable Definitions๋กœ ์„ ์–ธ]

sig_color -> ์‹ ํ˜ธ๊ฐ’์— ์ง€์ •๋œ ์ƒ‰์ƒ

sig_index -> ์ „์—ญ๋ณ€์ˆ˜ global.sig[x]์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด, ์ด๋ฒคํŠธ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ๋ฐœ๋™ํ•˜๊ธฐ ์œ„ํ•œ ์ฑ„ํฌ์šฉ ๋ณ€์ˆ˜



์—ฌ๊ธฐ์„œ var [๋ณ€์ˆ˜๋ช…]์€ ํ•ด๋‹น ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ๊ตฌ๋ฌธ ๋‚ด๋ถ€[ํ•จ์ˆ˜, if๋ฌธ for๋ฌธ ๋“ฑ๋“ฑ]์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ผํšŒ์šฉ ๋ณ€์ˆ˜์•ผ.

๊ฒŒ์ž„๋ฉ”์ด์ปค์—์„œ ์ผ๋ฐ˜์ ์ธ ์ง€์—ญ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ๋‹จ์œ„๊ฐ€ ์•„๋‹ˆ๋ผ ์˜ค๋ธŒ์ ํŠธ ๋‹จ์œ„๋กœ ์ €์žฅ๋ผ์„œ [๋‹ค๋ฅธ ํ•จ์ˆ˜์—์„œ ์„ ์–ธํ•œ ์ง€์—ญ๋ณ€์ˆ˜๋„ ์˜ค๋ธŒ์ ํŠธ๋งŒ ๊ฐ™์œผ๋ฉด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•จ]


ํ•จ์ˆ˜๊ฐ„์— ๋ณ€์ˆ˜๋ช… ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ํ•ด๋‹น ํ•จ์ˆ˜์—์„œ๋งŒ ์ด์šฉํ•  ๋ณ€์ˆ˜๋Š” var [๋ณ€์ˆ˜๋ช…]์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.




a14004ad3716b54cb6ee98a518d604030e9100bb3b792b2d

a16024ad162e6ae87eb1d19528d52703e6ce0d5b4d

๋‹ค์Œ์€ ์˜ค๋ธŒ์ ํŠธ๋“ค์˜ Draw ์ด๋ฒคํŠธ ์ฝ”๋“œ

์œ„์—์„œ ์„ ์–ธํ•œ sig_color๋กœ draw ์ƒ‰์ƒ์„ ์ง€์ •ํ•œ ํ›„, ์‚ฌ๊ฐํ˜• ๊ทธ๋ฆฌ๊ธฐ๋กœ ์‹ ํ˜ธ ์ƒ‰์ƒ ํ‘œ์‹œ ๋ถ€๋ถ„์„ ๊ทธ๋ ค์ค€๋‹ค.


a6710868f5dc3f8650bbd58b3680736f60

๋ฌธ๊ณผ ๋ฒ„ํŠผ ์Šคํ”„๋ผ์ดํŠธ๋Š” ์ƒ‰์ƒ ํ‘œ์‹œ ๋ถ€๋ถ„์„ ํˆฌ๋ช…ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ , ์œ„ Draw ์ด๋ฒคํŠธ๋กœ ์ƒ‰์ƒ์ด ์ถœ๋ ฅ๋˜๋„๋ก ํ–ˆ๋‹ค.


draw_self๋Š” ์˜ค๋ธŒ์ ํŠธ ๋ณธ์ธ์˜ ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๊ทธ๋ฆฌ๋Š” ํ•จ์ˆ˜๋กœ, Draw ์ด๋ฒคํŠธ๋ฅผ ์ž‘์„ฑํ•œ ํ›„, ์˜ค๋ธŒ์ ํŠธ ์ž์‹ ์˜ ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋ ค๋ฉด ๋„ฃ์–ด์ค˜์•ผ ํ•œ๋‹ค.

Draw ์ด๋ฒคํŠธ๊ฐ€ ๋น„์–ด์žˆ์„ ๋• ๋ณธ์ธ์˜ ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅํ•˜์ง€๋งŒ, Draw ์ด๋ฒคํŠธ์— ๋ฌด์–ธ๊ฐ€๋ฅผ ์ ์–ด๋†“์œผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณธ์ธ ์Šคํ”„๋ผ์ดํŠธ ์ถœ๋ ฅ์ด ์ƒ๋žต๋˜๊ธฐ ๋•Œ๋ฌธ




a14004ad3716b54cb6ec98a518d6040302f6a959247f5874

a16024ad162e6be87eb1d19528d527032b68e41708

๋ฒ„ํŠผ์˜ ์ถฉ๋Œ ์ด๋ฒคํŠธ, ์ถฉ๋Œ ๋Œ€์ƒ์€ ์ง€๋‚œ ์ผ์ง€์—์„œ ๋งŒ๋“ค์—ˆ๋˜ ๋ฌผ๋ฆฌ ์ฒ˜๋ฆฌ์šฉ ๋ถ€๋ชจ ์˜ค๋ธŒ์ ํŠธ


์ถฉ๋Œ ์ด๋ฒคํŠธ์—์„œ other ํ‚ค์›Œ๋“œ๋Š” ์ถฉ๋Œํ•œ ์ƒ๋Œ€ ์˜ค๋ธŒ์ ํŠธ์˜ id๋ฅผ ๊ฐ€๋ฅดํ‚จ๋‹ค.


์œ„ ์ฝ”๋“œ์˜ ๊ฒฝ์šฐ, ๋ฌผ๋ฆฌ ๋ถ€๋ชจ์™€ ์ถฉ๋Œํ•œ ์ƒํ™ฉ์—์„œ

์ถฉ๋Œํ•œ ์ƒ๋Œ€์˜ x ์ค‘์‹ฌ์ขŒํ‘œ๊ฐ€ ๋ฒ„ํŠผ์˜ ์ขŒ์šฐ ์ถฉ๋Œ ๋ ๋‚ด๋ถ€์— ์žˆ์„ ๊ฒฝ์šฐ

[bbox_left, bbox_right, bbox_top, bbox_bottom ๋“ฑ์˜ ํ‚ค์›Œ๋“œ๋Š” ์ถฉ๋Œ ํŒ์ • ๋งจ ๋ ๋ถ€๋ถ„์„ ์˜๋ฏธ, ์ด ๊ฒฝ์šฐ๋Š” ๋ฒ„ํŠผ์„ "ํ™•์‹คํžˆ" ๋ฐŸ์€ ๊ฒฝ์šฐ๋งŒ ๋ฐœ๋™ํ•˜๋„๋ก ๋„ฃ์—ˆ์Œ]

sig_index ๊ฐ’์„ true๋กœ ๋งŒ๋“ค๊ณ , ์ƒ๋Œ€ ์˜ค๋ธŒ์ ํŠธ์˜ y๊ฐ’์„ ์ ์ ˆํ•˜๊ฒŒ ๊ณ ์ •์‹œํ‚ค๋Š” ์ฝ”๋“œ๋‹ค




a14004ad3716b54cb6eb98a518d6040376cc92a40f6421d0

a16024ad162e6ce87eb1d19528d5270311c1812e3e

๋‹ค์Œ์€ ๋ฒ„ํŠผ์˜ Begin Step ์ด๋ฒคํŠธ


์ง€๋‚œ๋ฒˆ์— ์“ด Step ์ด๋ฒคํŠธ๊ฐ€ ํ”„๋ ˆ์ž„ ๋‹น ํ•œ ๋ฒˆ ๋ฐœ๋™์ด์—ˆ๋Š”๋ฐ,

Begin Step๋„ ๋™์ผํ•˜์ง€๋งŒ, ์ผ๋ฐ˜ Step ์ด๋ฒคํŠธ๋ณด๋‹ค ๋ฌด์กฐ๊ฑด ๋จผ์ € ๋ฐœ๋™๋˜๋Š” ์ด๋ฒคํŠธ์•ผ

๋ฌด์กฐ๊ฑด ๋จผ์ € ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์ข‹์€ ๊ณณ์ด์ง€


sig_index๊ฐ€ true์ผ ๊ฒฝ์šฐ [๋ฒ„ํŠผ์ด ๋ˆŒ๋ฆฐ ๊ฒฝ์šฐ] global.sig ๋ฐฐ์—ด์˜ sig๋ฒˆ ๊ฐ’์„ true๋กœ ๋ณ€๊ฒฝ

image_index = 1์€, ๋ฒ„ํŠผ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ˆœ์„œ๋ฅผ 1๋ฒˆ [0๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘์ด๋‹ˆ 2๋ฒˆ์งธ]๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์œผ๋กœ,

0๋ฒˆ์ด ์ผ๋ฐ˜ ๋ฒ„ํŠผ, 1๋ฒˆ์ด ๋ˆŒ๋ฆฐ ๋ฒ„ํŠผ์ด ์ง€์ •๋˜์–ด์žˆ์–ด





a14004ad3716b54cb6ea98a518d6040306653e08a8994ca4

a16024ad162e6de87eb1d19528d52703453146bca7

์ด์ œ ๋ฌธ์˜ ์ผ๋ฐ˜ Step ์ด๋ฒคํŠธ์—์„œ ์ง€์ •๋œ ์‹ ํ˜ธ๊ฐ’์ด true, false์ผ ๋•Œ ๋ฐœ๋™ํ•  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ


alarm[n] = x ๋Š” ์ด๋ฒคํŠธ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ฝ”๋“œ๋กœ, n๋ฒˆ์งธ ์•Œ๋žŒ ์ด๋ฒคํŠธ๋ฅผ xํ”„๋ ˆ์ž„ ์ดํ›„ ๋ฐœ๋™




a14004ad3716b54cb6e998a518d60403c6cb29397ac36acf

a16024ad162e6ee87eb1d19528d527034ce25a789d

alarm์— ์“ด ๋‚ด์šฉ์€ ๋ณ„๊ฑฐ ์—†์ด, ๋ฌธ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋„˜๊ฒจ์„œ ์—ด๋ฆฐ ๋ฌธ ์Šคํ”„๋ผ์ดํŠธ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ์ฝ”๋“œ๋‹ค.




a14004ad3716b54cb6e898a518d60403bb17bc730fafe533

a16024ad162e6fe87eb1d19528d5270321f239c0ee

๊ฒŒ์ž„ ๊ด€๋ฆฌ์šฉ ์˜ค๋ธŒ์ ํŠธ์˜ End Step ์ด๋ฒคํŠธ์— ์‹ ํ˜ธ ์ดˆ๊ธฐํ™” ์ฝ”๋“œ ์ž‘์„ฑ


End Step์€ Begin Step๊ณผ ๋น„์Šทํ•˜๊ฒŒ, ์ผ๋ฐ˜ Step ์ด๋ฒคํŠธ๋ณด๋‹ค ๋ฌด์กฐ๊ฑด ์ดํ›„์— ๋ฐœ๋™ํ•˜๋Š” ์ด๋ฒคํŠธ๋‹ค.




06bcdb27eae639aa658084e544827464a4fef891e08fb4a438c123541aa98319e9ea46776cf8507d601ecef8

๋ฌธ๊ณผ ๋ฒ„ํŠผ์— sig ๊ฐ’๋งˆ๋‹ค ์ง€์ •๋œ ์ƒ‰์ƒ์ด ์ •์ƒ ์ถœ๋ ฅ๋˜๊ณ , ๋ฒ„ํŠผ์ด ํ”Œ๋ ˆ์ด์–ด๋Š” ๋ฌผ๋ก  ๋ชจ๋“  ๋ฌผ๋ฆฌ ์˜ค๋ธŒ์ ํŠธ์™€ ์ƒํ˜ธ์ž‘์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. [์˜์ƒ์—” ์•ˆ ๋‚˜์˜ค์ง€๋งŒ ๋ชน๋„ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ์Œ]

๋ฌธ๊ณผ ๋ฒ„ํŠผ์€ ๋™์ผํ•œ sig ๊ฐ’ ์‚ฌ์ด์—์„œ๋งŒ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค. [๋ถ‰์€ ๋ฌธ์ด ๋…ธ๋ž€ ๋ฒ„ํŠผ์œผ๋กœ ์—ด๋ฆฌ์ง€ ์•Š์Œ]




๋ฌธ๊ณผ ๋ฒ„ํŠผ์„ ์ข…์† ๊ด€๊ณ„๋กœ ๋„ฃ์€ ๊ฒŒ ์•„๋‹ˆ๋ผ ์ƒ‰์ƒ ์‹ ํ˜ธ๋กœ ๋ฌถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ฒ„ํŠผ ํ•˜๋‚˜๋กœ ๋ฌธ์„ ์—ฌ๋Ÿฟ ์—ด ์ˆ˜๋„ ์žˆ๊ณ ,

๋ฌธ ์ด์™ธ์—๋„ ์ƒ‰์ƒ ์‹ ํ˜ธ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์š”์†Œ๋“ค์„ ๋” ๋งŒ๋“ค์–ด์„œ ๋„ฃ์„ ๊ณ„ํš์ด๋‹ค.




23

๊ฒŒ์ž„๋ฉ”์ด์ปค๊ฐ€ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์‹คํ–‰์ด๋ผ, ์‹ค์ œ๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋ณ„ ๊ฑฐ ์—†๋Š”๋ฐ

์ผ์ง€์˜ ์ฝ”๋“œ๋“ค์€ ๋ญ, ์ด๋ฒคํŠธ๋งˆ๋‹ค ๋‚˜๋ˆ ์„œ ์ž‘์„ฑํ•ด์•ผ ํ•ด์„œ ๊ฐ€๋…์„ฑ์ด ์˜ ๋ฉ”๋กฑ์ด๋‹ค.