๋ณธ ๋„๊ตฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๋ณธ ๋„๊ตฌ์˜ ์ฝ”๋“œ์—๋Š” 1๊ฐœ์˜ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Scratch ์น˜ํŠธ์‹œํŠธ

Scratch 3 ๋ธ”๋กํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์น˜ํŠธ์‹œํŠธ: ๋ณ€์ˆ˜, ๋ฆฌ์ŠคํŠธ, ๋ณต์ œ๋ณธ, ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ์™€ 9๊ฐ€์ง€ ๋ธ”๋ก ๋ถ„๋ฅ˜๋ฅผ ๋‹ค๋ฃจ๋ฉฐ, ์ดˆ๋ณด์ž๊ฐ€ ๊ฒŒ์ž„, ์• ๋‹ˆ๋ฉ”์ด์…˜, ์ด์•ผ๊ธฐ ์ œ์ž‘์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์„ ๋ง๋ผํ•ฉ๋‹ˆ๋‹ค.

S3

Scratch Scratch 3.0 (online editor)

Scratch 3 (๋ธ”๋ก ๊ธฐ๋ฐ˜) ยท ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ยท ์‹œ๊ฐํ™” ยท ๋‹จ์ผ ์Šค๋ ˆ๋“œ ํ˜‘์—… ยท ๋™์  (์•ฝํ˜• ๋ณ€์ˆ˜)

์ถ”์ฒœ ํ•™์Šต ๊ฒฝ๋กœ

๋จผ์ € ์ฒซ ํ”„๋กœ๊ทธ๋žจ์„ ์กฐ๋ฆฝํ•˜์„ธ์š”: ์ดˆ๋ก์ƒ‰ ๊นƒ๋ฐœ๋กœ ์‹œ์ž‘ + ๋งํ•˜๊ธฐ ๋ธ”๋ก โ†’ ๋ณ€์ˆ˜์™€ ๋ฆฌ์ŠคํŠธ, ํ๋ฆ„ ์ œ์–ด(์กฐ๊ฑด / ๋ฐ˜๋ณต) ์ตํžˆ๊ธฐ โ†’ ํƒ์ง€ ๋ธ”๋ก์œผ๋กœ ํ‚ค๋ณด๋“œ์™€ ๋งˆ์šฐ์Šค๋ฅผ ์ฝ๊ณ , ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋กœ ์Šคํ”„๋ผ์ดํŠธ๋ผ๋ฆฌ ๋Œ€ํ™”ํ•˜๊ธฐ โ†’ ์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋ก์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๋ณต์ œ๋ณธ์œผ๋กœ ๋‹ค์ค‘ ์Šคํ”„๋ผ์ดํŠธ ๋งŒ๋“ค๊ธฐ โ†’ ๋งˆ์ง€๋ง‰์œผ๋กœ FAQ ์ฑ•ํ„ฐ์—์„œ ํ”ํ•œ ์‹ค์ˆ˜๋ฅผ ํ”ผํ•˜๊ณ , ํƒ€์ด๋จธ๋กœ ์‹œ๊ฐ„์„ ์žฌ๋ฉฐ ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜์— ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๋Š” ๋ฒ•์„ ์ตํžˆ์„ธ์š”.

1.Hello World ์™€ ์‹œ์ž‘์ 

์ดˆ๋ก ๊นƒ๋ฐœ์—์„œ ์‹œ์ž‘ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ๊ทธ๋žจ: ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ๋งํ•˜๊ณ , ๋ชจ์–‘๊ณผ ๋ฐฐ๊ฒฝ์„ ๋ฐ”๊พธ๋ฉฐ, ์•„ํ™‰ ๊ฐ€์ง€ ๋ธ”๋ก ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

์ตœ์†Œ ํ”„๋กœ๊ทธ๋žจ

์ดˆ๋ก ๊นƒ๋ฐœ์„ ๋ˆŒ๋Ÿฌ ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ๋งํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ ๋ชจ๋“  Scratch ํ”„๋กœ์ ํŠธ์˜ ์ถœ๋ฐœ์ ์ž…๋‹ˆ๋‹ค. ์ตœ์†Œ ํ”„๋กœ๊ทธ๋žจ์€ ์ด๋ฒคํŠธ์™€ ํ˜•ํƒœ ๋ธ”๋ก ๋‘ ๊ฐ€์ง€ ๋ฒ”์ฃผ๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

1
2
when green flag clicked
say (Hello, world!) for (2) seconds

์ดˆ๋ก ๊นƒ๋ฐœ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ

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

1
2
3
4
5
when green flag clicked
forever
move (10) steps
if on edge, bounce
end

์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ๋งํ•˜๊ธฐ

๋งํ•˜๊ธฐ์™€ ์ƒ๊ฐํ•˜๊ธฐ ๋ธ”๋ก์€ ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ๋งํ’์„  ์•ˆ์— ๊ธ€์ž๋ฅผ ํ‘œ์‹œํ•˜๊ฒŒ ํ•˜๋ฉฐ, ๊ฐ€์žฅ ์ง๊ด€์ ์ธ ์ถœ๋ ฅ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ดˆ๋ฅผ ์ง€์ •ํ•˜๋ฉด ๊ทธ๋งŒํผ ๋จธ๋ฌด๋ฅธ ๋’ค ์‚ฌ๋ผ์ง€๊ณ , ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ณ„์† ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

1
2
3
4
when green flag clicked
say (ไฝ ๅฅฝ๏ผŒๆˆ‘ๆ˜ฏๅฐ็Œซ๏ผ) for (2) seconds
think (ๆŽฅไธ‹ๆฅ่ฆๅšไป€ไนˆๅ‘ขโ€ฆ) for (2) seconds
say (็‚นๅ‡ปๆˆ‘ๅผ€ๅง‹๏ผ)

๋ชจ์–‘ ๋ฐ”๊พธ๊ธฐ

๊ฐ ์Šคํ”„๋ผ์ดํŠธ๋Š” ์—ฌ๋Ÿฌ ๋ชจ์–‘์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ชจ์–‘์„ ๋ฐ”๊พธ๋ฉด ๊ฑท๊ธฐ๋‚˜ ๋ˆˆ ๊นœ๋นก์ด๊ธฐ ๊ฐ™์€ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ชจ์–‘ ๋ธ”๋ก์€ ์ˆœ์„œ๋Œ€๋กœ ์ˆœํ™˜ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
when green flag clicked
forever
next costume
wait (0.2) seconds
end

๋ฐฐ๊ฒฝ ๋ฐ”๊พธ๊ธฐ

๋ฌด๋Œ€ ๋ฐฐ๊ฒฝ์€ ์žฅ๋ฉด๊ณผ ๊ฐ™์œผ๋ฉฐ, ์ด์•ผ๊ธฐ์— ๋”ฐ๋ผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "๋ฐฐ๊ฒฝ์ด ~๋กœ ๋ฐ”๋€Œ์—ˆ์„ ๋•Œ" ๋ธ”๋ก๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ๊ฒฝ๋งˆ๋‹ค ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
when green flag clicked
switch backdrop to (ๆฃฎๆž—)
wait (3) seconds
switch backdrop to (ๅŸŽๅ ก)

์•„ํ™‰ ๊ฐ€์ง€ ๋ธ”๋ก ์นดํ…Œ๊ณ ๋ฆฌ

๋ธ”๋ก์€ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ์•„ํ™‰ ๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๋ฉฐ, ์ƒ‰์ƒ์ด ๋ชจ๋‘ ๋‹ค๋ฆ…๋‹ˆ๋‹ค: ๋™์ž‘ ํŒŒ๋ž‘, ํ˜•ํƒœ ๋ณด๋ผ, ์†Œ๋ฆฌ ๋ถ„ํ™, ์ด๋ฒคํŠธ ๋…ธ๋ž‘, ์ œ์–ด ์ฃผํ™ฉ, ๊ฐ์ง€ ์ฒญ๋ก, ์—ฐ์‚ฐ ์ดˆ๋ก, ๋ณ€์ˆ˜ ์ฃผํ™ฉ, ๋‚ด ๋ธ”๋ก.

1
2
3
4
5
// ์ด๋ฒคํŠธ(๋…ธ๋ž‘) ์ œ์–ด(์ฃผํ™ฉ) ๋™์ž‘(ํŒŒ๋ž‘) ํ˜•ํƒœ(๋ณด๋ผ) ์†Œ๋ฆฌ(ํ•‘ํฌ)
// ๊ฐ์ง€(์ฒญ๋ก) ์—ฐ์‚ฐ(์ดˆ๋ก) ๋ณ€์ˆ˜(์ฃผํ™ฉ) ๋‚ด ๋ธ”๋ก(๋ณด๋ผ)
// ์™ผ์ชฝ ํŒจ๋„์—์„œ ๋ธ”๋ก์„ ์ค‘์•™ ์Šคํฌ๋ฆฝํŠธ ์˜์—ญ์œผ๋กœ ๋“œ๋ž˜๊ทธํ•ด์„œ ์กฐ๋ฆฝ
when green flag clicked
say (ๆฌข่ฟŽๆฅๅˆฐ Scratch๏ผ)

์Šคํฌ๋ฆฝํŠธ๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ

๊ฐ™์€ ์Šคํฌ๋ฆฝํŠธ๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ ๋ธ”๋ก ๋‹จ์œ„๋กœ ์‹คํ–‰๋˜๋ฉฐ, ์•ž ๋ธ”๋ก์ด ๋๋‚˜์•ผ ๋‹ค์Œ ๋ธ”๋ก์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ˆœ์„œ๊ฐ€ ๋™์ž‘์˜ ์„ ํ›„๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
when green flag clicked
move (100) steps
turn right (90) degrees
move (100) steps
// ๋จผ์ € ์ง์ง„, ๋‹ค์Œ์— ์šฐํšŒ์ „, ๋‹ค์‹œ ์ง์ง„

์ €์žฅ๊ณผ ๊ณต์œ 

๋กœ๊ทธ์ธํ•˜๋ฉด ํ”„๋กœ์ ํŠธ๊ฐ€ ํด๋ผ์šฐ๋“œ์— ์ž๋™์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. "ํŒŒ์ผ" ๋ฉ”๋‰ด์—์„œ ์ปดํ“จํ„ฐ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๊ณ , ์˜ค๋ฅธ์ชฝ ์œ„ "๊ณต์œ "๋ฅผ ๋ˆ„๋ฅด๋ฉด ์›น์‚ฌ์ดํŠธ์— ๊ฒŒ์‹œ๋˜์–ด ๋ˆ„๊ตฌ๋‚˜ ์˜จ๋ผ์ธ์œผ๋กœ ์ฆ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
// ํŒŒ์ผ ๋ฉ”๋‰ด์—์„œใ€Œ์ปดํ“จํ„ฐ์— ์ €์žฅใ€๋˜๋Š”ใ€Œ์ปดํ“จํ„ฐ์—์„œ ์—…๋กœ๋“œใ€
// ๋กœ๊ทธ์ธํ•˜๋ฉด ํ”„๋กœ์ ํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ํด๋ผ์šฐ๋“œ์— ์ €์žฅ๋จ
// ์˜ค๋ฅธ์ชฝ ์œ„ใ€Œ๊ณต์œ ใ€๋ฅผ ๋ˆ„๋ฅด๋ฉด Scratch ์‚ฌ์ดํŠธ์— ๊ณต๊ฐœ ๊ฐ€๋Šฅ
// ๋‚จ์ด ๋‚ด ์ž‘ํ’ˆ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฑด ์˜จ๋ผ์ธ ์‹คํ–‰์ด๋ผ ๋‹ค์šด๋กœ๋“œ ๋ถˆํ•„์š”

2.๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜

๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ, ๊ฐ’ ์„ค์ •๊ณผ ๋ณ€๊ฒฝ, ํ‘œ์‹œ ๋ฐ ์ˆจ๊ธฐ๊ธฐ, ๊ทธ๋ฆฌ๊ณ  ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜์™€ ๋กœ์ปฌ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ

"๋ณ€์ˆ˜" ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ "๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ"๋ฅผ ํด๋ฆญํ•˜๊ณ  ์ด๋ฆ„(์˜ˆ: ์ ์ˆ˜)์„ ์ž…๋ ฅํ•˜์„ธ์š”. ๋ณ€์ˆ˜๋Š” ์ƒ์ž์™€ ๊ฐ™์•„์„œ ์ˆซ์ž, ๋ฌธ์ž์—ด, ๋ถˆ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
// ๋ณ€์ˆ˜ ์นดํ…Œ๊ณ ๋ฆฌ > ๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ > ์ด๋ฆ„ ์ž…๋ ฅ๏ผš์ ์ˆ˜
set [ๅˆ†ๆ•ฐ v] to (0)
set [ๅง“ๅ v] to (ๅฐ็Œซ)
set [่ƒœๅˆฉ v] to (false)

์„ค์ •๊ณผ ๋ณ€๊ฒฝ

ใ€Œ์ •ํ•˜๊ธฐใ€๋Š” ๋ณ€์ˆ˜๋ฅผ ํŠน์ • ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๊ณ , ใ€Œ๋ฐ”๊พธ๊ธฐใ€๋Š” ํ˜„์žฌ ๊ฐ’์— ๋”ํ•˜๊ฑฐ๋‚˜ ๋บ๋‹ˆ๋‹ค. ์ ์ˆ˜์™€ ์ƒ๋ช…๋ ฅ์€ ๋ชจ๋‘ ใ€Œ๋ฐ”๊พธ๊ธฐใ€ ๋ธ”๋ก์œผ๋กœ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
set [ๅˆ†ๆ•ฐ v] to (0)
change [ๅˆ†ๆ•ฐ v] by (10) // ์ ์ˆ˜๋Š” 10์ด ๋จ
change [ๅˆ†ๆ•ฐ v] by (-5) // ์ ์ˆ˜๋Š” 5๊ฐ€ ๋จ
set [ๅˆ†ๆ•ฐ v] to (100) // ์ง์ ‘ 100์œผ๋กœ ์„ค์ •

ํ‘œ์‹œ์™€ ์ˆจ๊ธฐ๊ธฐ

๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌด๋Œ€ ์™ผ์ชฝ ์œ„์— ํ‘œ์‹œ๋˜๋ฉฐ ์œ„์น˜๋ฅผ ๋“œ๋ž˜๊ทธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๊ธฐ ์‹ซ์€ ๋ณ€์ˆ˜๋Š” ์ˆจ๊ธฐ๊ธฐ ๋ธ”๋ก์œผ๋กœ ๊ฐ€๋ ค ํ™”๋ฉด์„ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”.

1
2
3
4
set [ๅˆ†ๆ•ฐ v] to (0)
show variable [ๅˆ†ๆ•ฐ v]
wait (2) seconds
hide variable [ๅˆ†ๆ•ฐ v]

๋ฆฌ์ŠคํŠธ ๋ณ€์ˆ˜

๋ฆฌ์ŠคํŠธ๋Š” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜๋กœ, ์ผ๋ ฌ๋กœ ๋Š˜์–ด์„  ์ƒ์ž์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์š”์†Œ๋ฅผ ์ถ”๊ฐ€, ์‚ญ์ œํ•˜๊ณ  ํŠน์ • ์œ„์น˜์˜ ๊ฐ’์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
add (่‹นๆžœ) to [ๆฐดๆžœ v]
add (้ฆ™่•‰) to [ๆฐดๆžœ v]
add (่ฅฟ็“œ) to [ๆฐดๆžœ v]
// ๆฐดๆžœ = [่‹นๆžœ, ้ฆ™่•‰, ่ฅฟ็“œ]
item (2) of [ๆฐดๆžœ v] // ้ฆ™่•‰
length of [ๆฐดๆžœ v] // 3

์ƒ์ˆ˜์™€ ๊ณ ์ •๊ฐ’

๋ธ”๋ก์— ์ง์ ‘ ์ž…๋ ฅํ•œ ์ˆซ์ž๋‚˜ ๋ฌธ์ž์—ด์ด ๋ฐ”๋กœ ์ƒ์ˆ˜์ด๋ฉฐ, ์‹คํ–‰ ์ค‘์— ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ’์ด ๋ฐ”๋€Œ์–ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์—๋งŒ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

1
2
3
4
move (10) steps // 10์€ ์ƒ์ˆ˜
wait (1) seconds // 1์€ ์ƒ์ˆ˜
say (ๅ›บๅฎšๆ็คบๆ–‡ๅญ—) // ๋ฌธ์ž์—ด ์ƒ์ˆ˜
set [้€Ÿๅบฆ v] to (10) // ์ƒ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅ

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์— ์ €์žฅํ•˜๋ฉฐ, ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฐ ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์ˆœ์œ„ํ‘œ์— ์ ํ•ฉํ•˜์ง€๋งŒ ์ˆซ์ž๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
// ๋ณ€์ˆ˜ ๋งŒ๋“ค ๋•Œใ€Œํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜ใ€์ฒดํฌ๏ผˆ๋กœ๊ทธ์ธ ํ•„์š”, ์ˆซ์ž๋งŒ๏ผ‰
set [ๆœ€้ซ˜ๅˆ† v] to (ๅˆ†ๆ•ฐ)
if <(ๅˆ†ๆ•ฐ) > (ๆœ€้ซ˜ๅˆ†)> then
set [ๆœ€้ซ˜ๅˆ† v] to (ๅˆ†ๆ•ฐ)
end

๋กœ์ปฌ ๋ณ€์ˆ˜

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณ€์ˆ˜๋Š” ํ”„๋กœ์ ํŠธ ์ „์ฒด์—์„œ ๊ณต์œ ๋˜์ง€๋งŒ, ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค ๋•Œ "์ด ์Šคํ”„๋ผ์ดํŠธ๋งŒ ์‚ฌ์šฉ"์„ ์„ ํƒํ•˜๋ฉด ๊ทธ ์Šคํ”„๋ผ์ดํŠธ๋งŒ์˜ ๋ณ€์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์€ ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ์‚ฌ๋ณธ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

1
2
3
// ๋ณ€์ˆ˜ ๋งŒ๋“ค ๋•Œใ€Œ์ด ์Šคํ”„๋ผ์ดํŠธ๋งŒใ€์„ ํƒ
when green flag clicked
set [็งๆœ‰ๅ€ผ v] to (0)

์Šฌ๋ผ์ด๋” ๋ณ€์ˆ˜

๋ฌด๋Œ€ ์œ„์˜ ๋ณ€์ˆ˜ ํ‘œ์‹œ๊ธฐ๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๋ฉด ์Šฌ๋ผ์ด๋”๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋งˆ์šฐ์Šค๋กœ ๋“œ๋ž˜๊ทธํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด ๋ณผ๋ฅจ์ด๋‚˜ ์†๋„ ๊ฐ™์€ ์กฐ์ ˆ ๊ฐ€๋Šฅํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
// ๋ณ€์ˆ˜ ๋ชจ๋‹ˆํ„ฐ ์šฐํด๋ฆญ > ์Šฌ๋ผ์ด๋”
// ๋ฒ”์œ„๏ผˆ์ตœ์†Ÿ๊ฐ’/์ตœ๋Œ“๊ฐ’๏ผ‰๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋“œ๋ž˜๊ทธ
set [้Ÿณ้‡ v] to (slider value)
set volume to (้Ÿณ้‡) %

3.๋ฐ์ดํ„ฐ ํ˜•์‹

Scratch์˜ ๋ฐ์ดํ„ฐ๋Š” ์ˆซ์ž, ๋ฌธ์ž์—ด, ๋ถˆ ๊ฐ’ ์„ธ ๊ฐ€์ง€ ํ˜•์‹์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ, ๋ณ€์ˆ˜๋Š” ์ž๋™์œผ๋กœ ํ˜•์‹์„ ์ถ”๋ก ํ•ฉ๋‹ˆ๋‹ค.

์ˆซ์ž

์ˆซ์ž๋Š” ๋ธ”๋ก์˜ ํฐ์ƒ‰ ๋™๊ทธ๋ž€ ๊ตฌ๋ฉ์— ์ง์ ‘ ์ž…๋ ฅํ•˜๋ฉฐ, ์–‘์ˆ˜, ์Œ์ˆ˜, ์†Œ์ˆ˜ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์น™์—ฐ์‚ฐ ๋ธ”๋ก์€ ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
set [ๅˆ†ๆ•ฐ v] to (100)
set [ๆญฅ้•ฟ v] to (0.5)
(10) + (5) // 15
(7) * (8) // 56
((ๅˆ†ๆ•ฐ) / (2)) // 50

๋ฌธ์ž์—ด

๋ฌธ์ž์—ด์€ ํฐ์ƒ‰ ๋™๊ทธ๋ž€ ๊ตฌ๋ฉ์ด๋‚˜ ํƒ€์› ๊ตฌ๋ฉ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๋งํ•˜๊ธฐ, ์ƒ๊ฐํ•˜๊ธฐ, ๋ฆฌ์ŠคํŠธ์˜ ๋‚ด์šฉ์€ ๋ชจ๋‘ ๋ฌธ์ž์—ด์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
set [ๅๅญ— v] to (ๅฐ็Œซ)
say (ไฝ ๅฅฝ๏ผŒๆˆ‘็š„ๅๅญ—ๆ˜ฏๅฐ็Œซ)
join (่‹นๆžœ) (้ฆ™่•‰) // ่‹นๆžœ้ฆ™่•‰

๋ถˆ ๊ฐ’

๋น„๊ต์™€ ๋…ผ๋ฆฌ ๋ธ”๋ก์€ ์ฐธ(true) ๋˜๋Š” ๊ฑฐ์ง“(false)์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์œก๊ฐํ˜• ๊ตฌ๋ฉ์—๋งŒ ๋“ค์–ด๊ฐ€์„œ ํŒ๋‹จ ์กฐ๊ฑด์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

1
2
3
4
<(ๅˆ†ๆ•ฐ) > (99)> // true ๋˜๋Š” false
<(ๅˆ†ๆ•ฐ) = (100)>
<<(a) > (0)> and <(b) > (0)>> // ๋‘˜ ๋‹ค ์ฐธ์ด์–ด์•ผ ์ฐธ
<not <(ๅˆ†ๆ•ฐ) < (0)>>

๋ฆฌ์ŠคํŠธ ์š”์†Œ

๋ฆฌ์ŠคํŠธ ์š”์†Œ๋Š” ์ˆซ์ž์ผ ์ˆ˜๋„ ๋ฌธ์ž์—ด์ผ ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ์ฝ์„ ๋•Œ ๋ฒˆํ˜ธ๋กœ n๋ฒˆ์งธ ํ•ญ๋ชฉ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์š”์†Œ ํ˜•์‹์ด ๊ณ ์ •๋˜์–ด ์žˆ์ง€ ์•Š์•„ ์„ž์–ด ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
add (100) to [ๆ•ฐๆฎ v]
add (ๅฐ็Œซ) to [ๆ•ฐๆฎ v]
item (1) of [ๆ•ฐๆฎ v] // 100
item (2) of [ๆ•ฐๆฎ v] // ๅฐ็Œซ

์ž๋™ ํ˜•์‹ ์ถ”๋ก 

Scratch๋Š” ํƒ€์ž… ์„ ์–ธ์„ ๊ฐ•์ œํ•˜์ง€ ์•Š์•„์„œ ๋ณ€์ˆ˜๋Š” ์ €์žฅํ•œ ๊ฐ’ ๊ทธ๋Œ€๋กœ๊ฐ€ ๋˜๋ฉฐ, ์–ธ์ œ๋“  ๋‹ค๋ฅธ ํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ” ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ์‚ฐํ•  ๋•Œ ์ˆซ์ž์™€ ๋ฌธ์ž๋Š” ์ž๋™์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

1
2
3
set [x v] to (10) // ์ˆซ์ž
set [x v] to (ๆ–‡ๅญ—) // ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ
set [x v] to (<(1) > (0)>) // ๋ถˆ๋ฆฌ์–ธ

์ž…๋ ฅ ํ˜•์‹

๋ฌป๊ณ  ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ๋ธ”๋ก์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋‹ต๋ณ€ ๋ธ”๋ก์ด ๋ฐ›๋Š” ๊ฐ’์€ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ์ˆซ์ž๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์—ฐ์‚ฐ ๋ธ”๋ก์„ ์‚ฌ์šฉํ•ด ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
ask (ไฝ ็š„ๅนด้พ„ๆ˜ฏๅ‡ ๅฒ๏ผŸ) and wait
set [ๅนด้พ„ v] to (answer)
if <(ๅนด้พ„) > (6)> then
say (ๅฏไปฅ็Žฉๆ›ดๅคๆ‚็š„ๆธธๆˆ)
end

์ถœ๋ ฅ ํ˜•์‹

๋งํ•˜๊ธฐ, ์ƒ๊ฐํ•˜๊ธฐ ๋ธ”๋ก์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์ด๋Š” ๊ธ€์ž๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์—ฐ์‚ฐ ๊ฒฐ๊ณผ, ๋ฆฌ์ŠคํŠธ ์š”์†Œ๋ฅผ ์ถœ๋ ฅ ๋ธ”๋ก์— ์ง์ ‘ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
say (join (ๅพ—ๅˆ†๏ผš) (ๅˆ†ๆ•ฐ))
say (join (item (1) of [ๆŽ’ๅ v]) ( ่Žทๅพ—ไบ†็ฌฌไธ€ๅ))
set volume to (้Ÿณ้‡) %

์ˆซ์ž์™€ ๋ฌธ์ž์—ด ๋ณ€ํ™˜

round๋Š” ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ์ •์ˆ˜๋กœ ๋งŒ๋“ค๊ณ , mod๋Š” ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ˆซ์ž๊ฐ€ ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ์— ์ฐธ์—ฌํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
round (3.7) // 4
round (3.2) // 3
((10) mod (3)) // 1
// ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด์— ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋ฉด ์ž๋™ ๋ณ€ํ™˜๋จ
say (join (ๅˆ†ๆ•ฐ๏ผš) (ๅˆ†ๆ•ฐ))

4.๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ์ €์žฅ

๋ณ€์ˆ˜์™€ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ๋ณต์ œ๋ณธ, ๋ฐฉ์†ก, ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์Šคํ”„๋ผ์ดํŠธ ์‚ฌ์ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

๋ณ€์ˆ˜ ์ €์žฅ

๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ์˜ "์ง‘"์ž…๋‹ˆ๋‹ค. ๋จผ์ € ๊ฐ’์„ ์„ค์ •ํ•œ ๋‹ค์Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋ผ๋ฆฌ ๊ฐ™์€ ๋ณ€์ˆ˜๋ฅผ ์ฝ๊ณ  ์จ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜์ง€๋งŒ, ์ฝ๋Š” ์‹œ์ ์„ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
when green flag clicked
set [้‡‘ๅธ v] to (0)
when this sprite clicked
change [้‡‘ๅธ v] by (1)

๋ฆฌ์ŠคํŠธ์— ์—ฌ๋Ÿฌ ๊ฐ’ ์ €์žฅ

๋ฆฌ์ŠคํŠธ๋Š” ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉฐ, ๋ฐฐ์—ด๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฒˆํ˜ธ๋กœ ์ฝ๊ณ  ์“ฐ๋ฉฐ, ํ•œ ํŒ์˜ ๋ชจ๋“  ์ ์ˆ˜, ์  ์ขŒํ‘œ ๋“ฑ์„ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
delete (all) of [ๅพ—ๅˆ† v]
repeat (5)
add (pick random (0) to (100)) to [ๅพ—ๅˆ† v]
end
item (1) of [ๅพ—ๅˆ† v]

๋ณต์ œ๋ณธ์ด ๋ฐ์ดํ„ฐ ๋ณด์œ 

๋ณต์ œ๋ณธ์€ ์Šคํ”„๋ผ์ดํŠธ์˜ ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ์™€ ๋ณ€์ˆ˜๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ณต์ œ๋ณธ์˜ "์ด ์Šคํ”„๋ผ์ดํŠธ๋งŒ ์‚ฌ์šฉ" ๋ณ€์ˆ˜๋Š” ๋…๋ฆฝ์ ์ด๋ฉฐ, ๋ฒˆํ˜ธ๋กœ ์„œ๋กœ๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
when green flag clicked
create clone of (ๆˆ‘่‡ชๅทฑ)
create clone of (ๆˆ‘่‡ชๅทฑ)
when I start as a clone
go to x: (pick random (-200) to (200)) y: (pick random (-150) to (150))

๊ฐœ์ธ ๋ณ€์ˆ˜

"์ด ์Šคํ”„๋ผ์ดํŠธ๋งŒ ์‚ฌ์šฉ"์„ ์„ ํƒํ•œ ๋ณ€์ˆ˜๋Š” ๊ฐ ๋ณต์ œ๋ณธ์— ํ•˜๋‚˜์”ฉ ์žˆ์–ด, ํ•˜๋‚˜๋ฅผ ๋ฐ”๊ฟ”๋„ ๋‹ค๋ฅธ ๋ณต์ œ๋ณธ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉฐ, ๋ณต์ œ๋ณธ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
when green flag clicked
set [็ผ–ๅท v] to (0)
repeat (3)
change [็ผ–ๅท v] by (1)
create clone of (ๆˆ‘่‡ชๅทฑ)
end
when I start as a clone
say (join (ๆˆ‘ๆ˜ฏๅ…‹้š†ไฝ“) (็ผ–ๅท))

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋Š” ์ˆซ์ž๋ฅผ ์„œ๋ฒ„์— ๋™๊ธฐํ™”ํ•˜๋ฉฐ, ๋ชจ๋“  ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์ˆœ์œ„ํ‘œ, ์˜จ๋ผ์ธ ๋Œ€์ „์— ์ ํ•ฉํ•˜์ง€๋งŒ ๊ฐ’์€ ์ˆซ์ž๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

1
2
3
// ๋ณ€์ˆ˜ ๋งŒ๋“ค ๋•Œใ€Œํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜ใ€์ฒดํฌ
when green flag clicked
set [ๅœจ็บฟไบบๆ•ฐ v] to (0)

๋ฐฉ์†ก์œผ๋กœ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ

๋ฐฉ์†ก ์ž์ฒด๋Š” "๋ฉ”์‹œ์ง€ ์ด๋ฆ„"๋งŒ ์ „๋‹ฌํ•˜๋ฏ€๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋ ค๋ฉด ๊ฐ’์„ ์ „์—ญ ๋ณ€์ˆ˜์— ์“ด ๋‹ค์Œ ๋ฐฉ์†กํ•˜๊ณ , ์ˆ˜์‹  ์ธก์€ ๊ทธ ๋ณ€์ˆ˜๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
when green flag clicked
set [ๅพ—ๅˆ† v] to (100)
broadcast (ๆธธๆˆ็ป“ๆŸ)
when I receive (ๆธธๆˆ็ป“ๆŸ)
say (join (ๆœ€็ปˆๅพ—ๅˆ†๏ผš) (ๅพ—ๅˆ†))

์ „์—ญ ๋ณ€์ˆ˜์™€ ๋กœ์ปฌ ๋ณ€์ˆ˜

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณ€์ˆ˜๋Š” ์ „์—ญ์ ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์Šคํ”„๋ผ์ดํŠธ์˜ ์Šคํฌ๋ฆฝํŠธ๋“  ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "์ด ์Šคํ”„๋ผ์ดํŠธ๋งŒ ์‚ฌ์šฉ"์„ ์„ ํƒํ•˜๋ฉด ๊ทธ ๋ณ€์ˆ˜๋Š” ํ•ด๋‹น ์Šคํ”„๋ผ์ดํŠธ ๋˜๋Š” ํŠน์ • ๋ณต์ œ๋ณธ์—๋งŒ ์†ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
// ์ „์—ญ ๋ณ€์ˆ˜๏ผš๋ชจ๋“  ์Šคํ”„๋ผ์ดํŠธ์—์„œ ๊ณต์œ 
set [ๆ€ปๅˆ† v] to (100)
// ์ง€์—ญ ๋ณ€์ˆ˜๏ผš์ด ์Šคํ”„๋ผ์ดํŠธ์—์„œ๋งŒ ๋ณด์ž„
set [่‡ช่บซ้€Ÿๅบฆ v] to (5)

๋ฐ์ดํ„ฐ ์˜์†์„ฑ

๋ณ€์ˆ˜๋Š” ํ”„๋กœ์ ํŠธ ์‹คํ–‰ ์ค‘์—๋งŒ ์กด์žฌํ•˜๋ฉฐ, ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜๊ฑฐ๋‚˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ซ์œผ๋ฉด ๋น„์›Œ์ง‘๋‹ˆ๋‹ค. ์˜ค๋ž˜ ๋ณด๊ด€ํ•˜๋ ค๋ฉด ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋ฅผ ์“ฐ๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ฆฌํ•ด ๋‚ด๋ณด๋‚ด์„ธ์š”.

1
2
3
4
5
6
// ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๏ผš๋กœ๊ทธ์ธ ํ›„ ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด ์˜ค๋ž˜ ์œ ์ง€
// ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ๏ผš๋ฆฌ์ŠคํŠธ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด ๋ฉ”๋ชจ์žฅ์— ๋ณต์‚ฌ
ask (่ฆ่ฝฝๅ…ฅไน‹ๅ‰็š„่ฎฐๅฝ•ๅ—๏ผŸ) and wait
if <(answer) = (ๆ˜ฏ)> then
say (่ฏปๅ–ไบ‘ๅ˜้‡ๆœ€้ซ˜ๅˆ†)
end

5.ํ๋ฆ„ ์ œ์–ด

์กฐ๊ฑด ํŒ๋‹จ๊ณผ ๋ฐ˜๋ณต์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ๋ฐ˜๋ณต, ~๊นŒ์ง€ ๋ฐ˜๋ณต, ๊ธฐ๋‹ค๋ฆฌ๊ธฐ, ๋ฉˆ์ถ”๊ธฐ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๋งŒ์•ฝ ํŒ๋‹จ

"๋งŒ์•ฝ ~๋ผ๋ฉด"์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ๋งŒ ์•ˆ์ชฝ ๋ธ”๋ก์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด์€ ์œก๊ฐํ˜• ๊ตฌ๋ฉ์ด๋ฉฐ, ๋น„๊ต๋‚˜ ๋…ผ๋ฆฌ ๋ธ”๋ก์„ ๋„ฃ์Šต๋‹ˆ๋‹ค.

1
2
3
if <(ๅˆ†ๆ•ฐ) > (99)> then
say (ๆปกๅˆ†๏ผ)
end

๋งŒ์•ฝ-์•„๋‹ˆ๋ฉด

"๋งŒ์•ฝ ~๋ผ๋ฉด ~์•„๋‹ˆ๋ฉด"์€ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณ ๋ฆ…๋‹ˆ๋‹ค. ์กฐ๊ฑด์ด ์„ฑ๋ฆฝํ•˜๋ฉด ์•ž์ชฝ์„, ์•„๋‹ˆ๋ฉด ๋’ค์ชฝ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ŠนํŒจ๋‚˜ ์Šค์œ„์น˜ ์ƒํƒœ ๊ฐ™์€ ํŒ๋‹จ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
if <key (็ฉบๆ ผ v) pressed?> then
say (่ทณ)
else
say (่นฒไธ‹)
end

N๋ฒˆ ๋ฐ˜๋ณต

"N๋ฒˆ ๋ฐ˜๋ณต"์€ ์•ˆ์ชฝ ๋ธ”๋ก์„ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜๋ฉฐ, ์นธ์”ฉ ์ด๋™, ๊ฐ™์€ ๊ทธ๋ฆผ ๋ฐ˜๋ณต ๊ทธ๋ฆฌ๊ธฐ, ํšจ๊ณผ ์—ฌ๋Ÿฌ ๋ฒˆ ์žฌ์ƒ์— ์ž์ฃผ ์“ฐ์ž…๋‹ˆ๋‹ค.

1
2
3
4
repeat (10)
move (5) steps
end
// ์ด๋™ 10ํšŒ ร— 5๊ฑธ์Œ = ์ด 50๊ฑธ์Œ

๋ฌดํ•œ ๋ฐ˜๋ณต

"๋ฌดํ•œ ๋ฐ˜๋ณต"์€ ์˜์›ํžˆ ๋ฉˆ์ถ”์ง€ ์•Š์œผ๋ฉฐ, ๋ฉˆ์ถ”๊ธฐ ๋ธ”๋ก์ด๋‚˜ ์กฐ๊ฑด์œผ๋กœ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์Šคํ”„๋ผ์ดํŠธ ์ˆœ์ฐฐ, ๋ฐฐ๊ฒฝ ์Šคํฌ๋กค ๊ฐ™์€ ์ง€์†์  ๋™์ž‘์„ ๊ทธ ์•ˆ์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

1
2
3
4
forever
move (10) steps
if on edge, bounce
end

~๊นŒ์ง€ ๋ฐ˜๋ณต

"~๊นŒ์ง€ ๋ฐ˜๋ณต"์€ ๋จผ์ € ์‹คํ–‰ํ•˜๊ณ  ๋‚˜์„œ ํŒ๋‹จํ•˜๋ฉฐ, ์กฐ๊ฑด์ด ์„ฑ๋ฆฝํ•˜๋ฉด ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ฅผ ๋ˆ„๋ฅผ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ, ์ ์ˆ˜๊ฐ€ ๋ชฉํ‘œ์— ์ด๋ฅผ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ๋“ฑ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
repeat until <key (็ฉบๆ ผ v) pressed?>
wait (0.1) seconds
end
say (็ปˆไบŽๆŒ‰ไบ†็ฉบๆ ผ๏ผ)

๊ธฐ๋‹ค๋ฆฌ๊ธฐ

"1์ดˆ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ"๋Š” ํ˜„์žฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž ์‹œ ๋ฉˆ์ถ”๊ณ , "~๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ"๋Š” ์กฐ๊ฑด์ด ์„ฑ๋ฆฝํ•  ๋•Œ๊นŒ์ง€ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. ์ฃผ์˜: ๊ธฐ๋‹ค๋ฆฌ๊ธฐ๋Š” ํ˜„์žฌ ์Šคํฌ๋ฆฝํŠธ๋งŒ ๋ฉˆ์ถ”๋ฉฐ, ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ๋Š” ํ‰์†Œ์ฒ˜๋Ÿผ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
when green flag clicked
say (้ข„ๅค‡)
wait (1) seconds
say (ๅผ€ๅง‹๏ผ)
wait until <(่ฎกๆ—ถๅ™จ) > (10)>

์Šคํฌ๋ฆฝํŠธ ๋ฉˆ์ถ”๊ธฐ

"๋ชจ๋‘ ๋ฉˆ์ถ”๊ธฐ"๋Š” ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋๋‚ด๊ณ , "์ด ์Šคํฌ๋ฆฝํŠธ ๋ฉˆ์ถ”๊ธฐ"๋Š” ํ˜„์žฌ ์Šคํฌ๋ฆฝํŠธ๋งŒ ๋ฉˆ์ถ”๋ฉฐ, "์ด ์Šคํ”„๋ผ์ดํŠธ์˜ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ ๋ฉˆ์ถ”๊ธฐ"๋Š” ์ด ์Šคํฌ๋ฆฝํŠธ๋งŒ ๋‚จ๊น๋‹ˆ๋‹ค.

1
2
3
4
5
6
when green flag clicked
forever
if <(็”Ÿๅ‘ฝๅ€ผ) < (1)> then
stop (all)
end
end

์กฐํ•ฉ ๋…ผ๋ฆฌ

AND, OR, NOT์€ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ํ•˜๋‚˜์˜ ์กฐ๊ฑด์œผ๋กœ ๊ฒฐํ•ฉํ•œ๋‹ค. AND๋Š” ๋ชจ๋‘ ์ฐธ์ด์–ด์•ผ ํ•˜๊ณ , OR์€ ์ตœ์†Œ ํ•˜๋‚˜๊ฐ€ ์ฐธ์ด์–ด์•ผ ํ•˜๋ฉฐ, NOT์€ ๋ฐ˜์ „ํ•œ๋‹ค.

1
2
3
4
5
6
if <<key (w v) pressed?> or <key (ไธŠ v) pressed?>> then
change y by (10)
end
if <<(ๅˆ†ๆ•ฐ) > (0)> and <(ๅˆ†ๆ•ฐ) < (100)>> then
say (ๅˆ†ๆ•ฐๅœจ่Œƒๅ›ดๅ†…)
end

6.์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋ก (ํ•จ์ˆ˜)

์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋ก์€ ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ธ”๋ก์œผ๋กœ ๋ฌถ์–ด, ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๊ฑฐ๋‚˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์–ด ํ•จ์ˆ˜์™€ ๊ฐ™๋‹ค.

๋ธ”๋ก ๋งŒ๋“ค๊ธฐ

ใ€Œ์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋กใ€ ๋ถ„๋ฅ˜์—์„œ ใ€Œ์ƒˆ ๋ธ”๋ก ๋งŒ๋“ค๊ธฐใ€๋ฅผ ๋ˆŒ๋Ÿฌ ์ด๋ฆ„์„ ์ •ํ•˜๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด, ์Šคํฌ๋ฆฝํŠธ ์˜์—ญ์— define ๋ธ”๋ก์ด ๋‚˜ํƒ€๋‚œ๋‹ค. ์—ฌ๊ธฐ์— ๋กœ์ง์„ ์ž‘์„ฑํ•œ๋‹ค.

1
2
3
4
define ่ทณ่ทƒ
change y by (50)
wait (0.2) seconds
change y by (-50)

๋งค๊ฐœ๋ณ€์ˆ˜ ์‚ฌ์šฉ

๋งŒ๋“ค ๋•Œ ์ˆซ์ž ๋˜๋Š” ํ…์ŠคํŠธ ์ž…๋ ฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ , ํ˜ธ์ถœํ•  ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์„ ์ฑ„์›Œ ๋„ฃ๋Š”๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ง€์—ญ ๋ณ€์ˆ˜๋กœ ๋ธ”๋ก ๋‚ด๋ถ€์—์„œ๋งŒ ์œ ํšจํ•˜๋‹ค.

1
2
3
4
5
6
7
define ็”ปๆญฃๆ–นๅฝข (่พน้•ฟ)
repeat (4)
move (่พน้•ฟ) steps
turn right (90) degrees
end
็”ปๆญฃๆ–นๅฝข (50)
็”ปๆญฃๆ–นๅฝข (100)

๊ฐ’ ๋ฐ˜ํ™˜

์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋ก์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ˜ํ™˜๊ฐ’์ด ์—†๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ใ€Œ๋ฐ˜ํ™˜ใ€ํ•˜๋ ค๋ฉด ๋ณ€์ˆ˜์— ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•œ ๋’ค ํ˜ธ์ถœ ํ›„ ์ฝ๋„๋ก ํ•œ๋‹ค.

1
2
3
4
define ่ฎก็ฎ—ๅนณๆ–น (n)
set [ๅนณๆ–น v] to ((n) * (n))
่ฎก็ฎ—ๅนณๆ–น (7)
say (join (7 ็š„ๅนณๆ–นๆ˜ฏ) (ๅนณๆ–น))

์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋ก ํ˜ธ์ถœ

์ •์˜ํ•œ ๋’ค ํ•„์š”ํ•œ ๊ณณ์— ํ˜ธ์ถœ ๋ธ”๋ก์„ ์˜ฌ๋ ค ๋†“์œผ๋ฉด ์‹คํ–‰๋œ๋‹ค. ํ•œ ๋ฒˆ ํ˜ธ์ถœํ•˜๋ฉด ๋ธ”๋ก ๋‚ด๋ถ€ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•œ ๋ฒˆ ์‹คํ–‰๋œ๋‹ค.

1
2
3
4
5
define ๆ‰“ๆ‹›ๅ‘ผ (ๅๅญ—)
say (join (ไฝ ๅฅฝ๏ผŒ) (ๅๅญ—))
when green flag clicked
ๆ‰“ๆ‹›ๅ‘ผ (ๅฐ็Œซ)
ๆ‰“ๆ‹›ๅ‘ผ (ๅฐ็‹—)

์žฌ๊ท€

์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋ก์€ ์ž๊ธฐ ์ž์‹ ์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค (์žฌ๊ท€). Scratch์—๋Š” ์Šคํƒ ๊นŠ์ด ์ œํ•œ์ด ์žˆ์œผ๋ฏ€๋กœ ๋„ˆ๋ฌด ๊นŠ์€ ์žฌ๊ท€๋Š” ํ”ผํ•˜๊ณ  ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๋Š” ํŽธ์ด ์ข‹๋‹ค.

1
2
3
4
5
6
define ๆ•ฐๆ•ฐ (n)
if <(n) > (0)> then
say (n)
ๆ•ฐๆ•ฐ ((n) - (1))
end
ๆ•ฐๆ•ฐ (3)

ํ™”๋ฉด ์ƒˆ๋กœ ๊ณ ์นจ ์•ˆ ํ•จ

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

1
2
3
// define ๋ธ”๋ก ํŽธ์ง‘ >ใ€Œํ™”๋ฉด ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด ์‹คํ–‰ใ€์ฒดํฌ
define ๆ‰น้‡ๅค„็†
// ๋ฃจํ”„ ์•ˆ์˜ ๋Œ€๋Ÿ‰ ๊ณ„์‚ฐ์„ ํ•œ ํ”„๋ ˆ์ž„์”ฉ ๊ทธ๋ฆฌ์ง€ ์•Š์Œ

๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ง€์—ญ์„ฑ

์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋ก์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ธ”๋ก ๋‚ด๋ถ€์—์„œ๋งŒ ์œ ํšจํ•˜์ง€๋งŒ, ๋ธ”๋ก ๋‚ด๋ถ€์—์„œ ์ƒˆ๋กœ ๋งŒ๋“  ๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ „์—ญ์—์„œ ๋ณด์ด๋ฏ€๋กœ ์™ธ๋ถ€ ๊ฐ™์€ ์ด๋ฆ„ ๋ณ€์ˆ˜์™€ ์„œ๋กœ ๋ฎ์–ด์“ฐ์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•œ๋‹ค.

1
2
3
define ๅŠ ๅˆ† (amount)
change [ๅˆ†ๆ•ฐ v] by (amount) // ์ „์—ญ ๋ณ€์ˆ˜ ์ˆ˜์ •
ๅŠ ๅˆ† (10)

์žฌ์‚ฌ์šฉ๊ณผ ๋ถ„๋ฆฌ

์ผ๋ถ€ ๋กœ์ง์„ ์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋ก์œผ๋กœ ์ถ”์ถœํ•˜๋ฉด ์—ฌ๋Ÿฌ ์ด๋ฒคํŠธ์—์„œ ๋ฐ˜๋ณตํ•ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์–ด, ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•ด์ง€๊ณ  ๋””๋ฒ„๊น…๋„ ์‰ฌ์›Œ์ง„๋‹ค.

1
2
3
4
5
6
7
define ้‡ๆ–ฐๅผ€ๅง‹
set [ๅˆ†ๆ•ฐ v] to (0)
switch backdrop to (ๅผ€ๅง‹็•Œ้ข)
when green flag clicked
้‡ๆ–ฐๅผ€ๅง‹
when I receive (ๅคฑ่ดฅ)
้‡ๆ–ฐๅผ€ๅง‹

7.๋ฌธ์ž์—ด

์—ฐ๊ฒฐ, ๋ฌธ์ž ์ถ”์ถœ, ๊ธธ์ด, ํฌํ•จ ๋“ฑ ๋ฌธ์ž์—ด ์—ฐ์‚ฐ์„ ์ง€์›ํ•ด ๊ฐ„๋‹จํ•œ ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ…์ŠคํŠธ ์—ฐ๊ฒฐ

ใ€Œ(๋ฌธ์ž์—ด) (๋ฌธ์ž์—ด) ๊ฒฐํ•ฉใ€์€ ๋‘ ๋ฌธ์ž์—ด์„ ์•ž๋’ค๋กœ ์ด์–ด ๋ถ™์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ํ•˜๋‚˜๋กœ ๋งŒ๋“ค๊ณ , ์•ˆ๋‚ด ๋ฌธ๊ตฌ๋‚˜ ์ขŒํ‘œ ๋งŒ๋“ค๊ธฐ์— ์ž์ฃผ ์“ฐ์ธ๋‹ค.

1
2
3
join (ไฝ ๅฅฝ๏ผŒ) (ๅฐ็Œซ) // ไฝ ๅฅฝ๏ผŒๅฐ็Œซ
join (X=) (x position) // ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด์— ์—ฐ๊ฒฐ
say (join (ๅพ—ๅˆ†๏ผš) (ๅˆ†ๆ•ฐ))

๋ฌธ์ž ์ถ”์ถœ

ใ€ŒN๋ฒˆ์งธ ๊ธ€์žใ€๋Š” ๋ฌธ์ž์—ด์—์„œ ์ง€์ •ํ•œ ์œ„์น˜์˜ ๋ฌธ์ž๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ํ•œ๊ตญ์–ด๋„ ํ•œ ๊ธ€์ž์”ฉ ๊ณ„์‚ฐํ•˜๋ฉฐ ๊ณต๋ฐฑ๋„ ํ•œ ๋ฌธ์ž๋กœ ์„ผ๋‹ค.

1
2
3
letter (1) of (Scratch) // S
letter (2) of (Scratch) // c
length of (ไฝ ๅฅฝ) // 2

๋ฌธ์ž์—ด ๊ธธ์ด

ใ€Œ(๋ฌธ์ž์—ด)์˜ ๊ธธ์ดใ€๋Š” ๋ฌธ์ž ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ์˜์–ด, ๊ณต๋ฐฑ, ํ•œ๊ตญ์–ด ๋ชจ๋‘ ๊ฐ๊ฐ ํ•œ ๊ฐœ์”ฉ ์„ผ๋‹ค. ๋นˆ ๋ฌธ์ž์—ด ํŒ๋ณ„, ์ž…๋ ฅ ๊ธธ์ด ์ œํ•œ์— ์‚ฌ์šฉ๋œ๋‹ค.

1
2
3
4
5
length of (Scratch) // 7
length of (ไฝ ๅฅฝไธ–็•Œ) // 4
if <(length of (answer)) > (10)> then
say (ๅคช้•ฟไบ†๏ผ)
end

ํฌํ•จ ์—ฌ๋ถ€ ํ™•์ธ

ใ€Œ(๋ฌธ์ž์—ด)์— (๋ฌธ์ž์—ด) ํฌํ•จ ์—ฌ๋ถ€ใ€๋Š” ํ•œ ๋ฌธ์ž์—ด์— ๋‹ค๋ฅธ ๋ฌธ์ž์—ด์ด ๋“ค์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ํ‚ค์›Œ๋“œ ๊ฒ€์ถœ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

1
2
3
4
<(Scratch ็œŸๆœ‰่ถฃ) contains (ๆœ‰่ถฃ)?> // true
if <(answer) contains (็Œซ)> then
say (ไฝ ๅ–œๆฌข็Œซ)
end

์œ„์น˜ ์ฐพ๊ธฐ

ใ€ŒN๋ฒˆ์งธ ๊ธ€์žใ€์™€ ใ€Œ(๋ฌธ์ž์—ด)์˜ ๊ธธ์ดใ€๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ์†์œผ๋กœ ์ฐพ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•œ ์ž๋ฆฌ์”ฉ ๋น„๊ตํ•ด ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

1
2
3
4
5
6
7
set [ไฝ็ฝฎ v] to (0)
repeat (length of (ๆ–‡ๆœฌ))
change [ไฝ็ฝฎ v] by (1)
if <(letter (ไฝ็ฝฎ) of (ๆ–‡ๆœฌ)) = (็›ฎๆ ‡)> then
say (join (ๆ‰พๅˆฐไฝ็ฝฎ๏ผš) (ไฝ็ฝฎ))
end
end

๋ฆฌ์ŠคํŠธ๋กœ ๋ถ„๋ฆฌ

๋ฌธ์ž์—ด์„ ํ•œ ๊ธ€์ž์”ฉ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•ด ๊ธ€์ž ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•œ๋‹ค. ใ€Œ๋ฐ˜๋ณต ์‹คํ–‰ใ€๊ณผ ํ•จ๊ป˜ ์ˆœํšŒํ•œ๋‹ค.

1
2
3
4
5
6
delete (all) of [ๅญ—็ฌฆ่กจ v]
set [i v] to (1)
repeat (length of (ๆ–‡ๆœฌ))
add (letter (i) of (ๆ–‡ๆœฌ)) to [ๅญ—็ฌฆ่กจ v]
change [i v] by (1)
end

๋นˆ ๋ฌธ์ž์—ด ํŒ๋ณ„

ใ€Œ๊ธธ์ด = 0ใ€์ด๋ฉด ๋นˆ ๋ฌธ์ž์—ด์ด๋‹ค. ์ž…๋ ฅ ์นธ์„ ๋น„์›Œ ๋‘๋ฉด answer๋Š” ๋นˆ ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ ๋จผ์ € ํŒ๋ณ„ํ•œ ๋’ค ์‚ฌ์šฉํ•ด ์˜ค๋ฅ˜๋ฅผ ํ”ผํ•œ๋‹ค.

1
2
3
4
5
6
ask (่พ“ๅ…ฅไฝ ็š„ๅๅญ—) and wait
if <(length of (answer)) = (0)> then
say (ๅๅญ—ไธ่ƒฝไธบ็ฉบ)
else
say (join (ไฝ ๅฅฝ๏ผŒ) (answer))
end

๊ธด ํ…์ŠคํŠธ ์ด์–ด ๋ถ™์ด๊ธฐ

Scratch์˜ ํ…์ŠคํŠธ ๋ธ”๋ก์€ ํ•œ ์ค„ ์ž…๋ ฅ๋งŒ ๋ฐ›์œผ๋ฏ€๋กœ, ๊ธด ํ…์ŠคํŠธ๋Š” ์—ฌ๋Ÿฌ ใ€Œ๊ฒฐํ•ฉใ€ ๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆ  ์ด์–ด ๋ถ™์ธ๋‹ค. ์‰ผํ‘œ์™€ ๊ณต๋ฐฑ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋œ๋‹ค.

1
say (join (็ฌฌไธ€่กŒ๏ผŒ) (join (็ฌฌไบŒ่กŒ๏ผŒ) (็ฌฌไธ‰่กŒ)))

8.๋ฆฌ์ŠคํŠธ์™€ ์ž๋ฃŒ ๊ตฌ์กฐ

๋ฆฌ์ŠคํŠธ๋Š” Scratch์˜ ํ•ต์‹ฌ ์ž๋ฃŒ ๊ตฌ์กฐ๋กœ, ์ถ”๊ฐ€ยท์‚ญ์ œยท์ˆ˜์ •ยท์กฐํšŒ, ์ˆœํšŒ, 2์ฐจ์› ๋ชจ์‚ฌ๋ฅผ ์ง€์›ํ•œ๋‹ค.

๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ

ใ€Œ๋ณ€์ˆ˜ใ€ ๋ถ„๋ฅ˜์—์„œ ใ€Œ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐใ€๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์Šคํฌ๋ฆฝํŠธ ํŒจ๋„์— ๋‚˜ํƒ€๋‚œ๋‹ค. ๋ฌด๋Œ€์˜ ๋ฆฌ์ŠคํŠธ๋Š” ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ์ˆจ๊ธธ ์ˆ˜ ์žˆ๋‹ค.

1
2
3
// ๋ณ€์ˆ˜ ์นดํ…Œ๊ณ ๋ฆฌ > ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ > ์ด๋ฆ„ ์ž…๋ ฅ๏ผš๊ฐ€๋ฐฉ
add (่‹นๆžœ) to [่ƒŒๅŒ… v]
show list [่ƒŒๅŒ… v]

์ถ”๊ฐ€์™€ ์‚ญ์ œ

์ถ”๊ฐ€๋Š” ์ƒˆ ์›์†Œ๋ฅผ ๊ผฌ๋ฆฌ์— ๋„ฃ๊ณ , ์‚ญ์ œ๋Š” ์ง€์ •ํ•œ ๋ฒˆํ˜ธ ๋˜๋Š” ์ „์ฒด๋ฅผ ๋น„์šด๋‹ค. ์‚ญ์ œํ•˜๋ฉด ๋ฒˆํ˜ธ๊ฐ€ ์ž๋™์œผ๋กœ ์•ž๋‹น๊ฒจ์ง„๋‹ค.

1
2
3
4
5
add (่‹นๆžœ) to [่ƒŒๅŒ… v]
add (็›พ็‰Œ) to [่ƒŒๅŒ… v]
delete (1) of [่ƒŒๅŒ… v]
// ่ƒŒๅŒ… = [็›พ็‰Œ]
delete (all) of [่ƒŒๅŒ… v]

์›์†Œ ์ฝ๊ธฐ

ใ€ŒN๋ฒˆ์งธ ์›์†Œใ€๋Š” ๋ฒˆํ˜ธ๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ฉฐ ๋ฒˆํ˜ธ๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ๋ฒˆํ˜ธ๋Š” ์˜ค๋ฅ˜ ์—†์ด ๋นˆ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

1
2
3
4
5
add (้‡‘) to [ๅฎ็ฎฑ v]
add (้“ถ) to [ๅฎ็ฎฑ v]
item (1) of [ๅฎ็ฎฑ v] // ้‡‘
item (2) of [ๅฎ็ฎฑ v] // ้“ถ
item (5) of [ๅฎ็ฎฑ v] // ็ฉบ

์›์†Œ ๋ฐ”๊พธ๊ธฐ

ใ€ŒN๋ฒˆ์งธ ์›์†Œ๋ฅผ (๊ฐ’)์œผ๋กœ ๋ฐ”๊พธ๊ธฐใ€๋Š” ์ง€์ •ํ•œ ์œ„์น˜์˜ ๊ฐ’์„ ๋ฐ”๊พธ๋ฉฐ ๊ธธ์ด๋Š” ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํŠน์ • ์นธ์˜ ์•„์ดํ…œ์„ ๊ฐฑ์‹ ํ•  ๋•Œ ์ ํ•ฉํ•˜๋‹ค.

1
2
3
add (ๆ—ง่ฏๆฐด) to [่ƒŒๅŒ… v]
replace item (1) of [่ƒŒๅŒ… v] with (ๆ–ฐ่ฏๆฐด)
item (1) of [่ƒŒๅŒ… v] // ๆ–ฐ่ฏๆฐด

์›์†Œ ์‚ฝ์ž…

ใ€ŒN๋ฒˆ์งธ ์œ„์น˜์— (๊ฐ’) ์‚ฝ์ž…ํ•˜๊ธฐใ€๋Š” ์ƒˆ ์›์†Œ๋ฅผ ์ง€์ •ํ•œ ์œ„์น˜์— ๋„ฃ๊ณ , ๋’ค๋”ฐ๋ฅด๋Š” ์›์†Œ๋Š” ์ž๋™์œผ๋กœ ๋’ค๋กœ ๋ฐ€๋ฆฐ๋‹ค.

1
2
3
4
add (่‹นๆžœ) to [่ƒŒๅŒ… v]
add (ๆขจ) to [่ƒŒๅŒ… v]
insert (่ฅฟ็“œ) at (2) of [่ƒŒๅŒ… v]
// ่ƒŒๅŒ… = [่‹นๆžœ, ่ฅฟ็“œ, ๆขจ]

์›์†Œ ์ฐพ๊ธฐ

ใ€Œ๋ฆฌ์ŠคํŠธ์— (๊ฐ’) ํฌํ•จ ์—ฌ๋ถ€ใ€๋Š” ํŠน์ • ์›์†Œ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•ด ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋จผ์ € ํ™•์ธํ•˜๊ณ  ์‚ฌ์šฉํ•ด ๋นˆ ๊ฐ’์„ ์ฝ์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.

1
2
3
4
5
if <[่ƒŒๅŒ… v] contains (้’ฅๅŒ™)> then
say (ไฝ ๆœ‰ไธ€ๆŠŠ้’ฅๅŒ™)
else
say (ๆฒกๆœ‰้’ฅๅŒ™๏ผŒๅŽปๆ‰พๆ‰พๅง)
end

๋ฆฌ์ŠคํŠธ ์ˆœํšŒ

ใ€Œ~์ผ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ธฐใ€์— ๋ฒˆํ˜ธ ๋ณ€์ˆ˜๋ฅผ ๋”ํ•ด ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•œ ํ•ญ๋ชฉ์”ฉ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋ฐ˜๋ณต ์ˆœํšŒ๋ฅผ ํ‰๋‚ด ๋‚ด๋Š” ์ผ๋ฐ˜์ ์ธ ์ž‘์„ฑ๋ฒ•์ž…๋‹ˆ๋‹ค.

1
2
3
4
5
set [i v] to (1)
repeat until <(i) > (length of [่ƒŒๅŒ… v])>
say (item (i) of [่ƒŒๅŒ… v])
change [i v] by (1)
end

2์ฐจ์› ๋ฐ์ดํ„ฐ ๋ชจ์‚ฌ

๋ฆฌ์ŠคํŠธ๋Š” 1์ฐจ์›์ด๋ฏ€๋กœ ใ€Œ๋ฒˆํ˜ธ = ํ–‰ ร— ์—ด ์ˆ˜ + ์—ดใ€๋กœ 2์ฐจ์› ํ‘œ๋ฅผ ํ‰๋‚ด ๋‚ด ์ง€๋„๋‚˜ ์ฒด์ŠคํŒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

1
2
3
4
// 4ํ–‰ 3์—ด ๊ทธ๋ฆฌ๋“œ, ์นธ ๋ฒˆํ˜ธ 1-12
set [็ผ–ๅท v] to (((่กŒ) * (3)) + (ๅˆ—))
add (ๆ ผๅญๅ†…ๅฎน) to [ๅœฐๅ›พ v]
item (็ผ–ๅท) of [ๅœฐๅ›พ v]

9.ํ”„๋กœ์ ํŠธ์™€ ์ž์› ๊ด€๋ฆฌ

์Šคํ”„๋ผ์ดํŠธ ์ˆ˜, ๋ฆฌ์ŠคํŠธ ํฌ๊ธฐ, ํด๋ก ๋ณธ ํ•œ๋„๋ฅผ ๊ด€๋ฆฌํ•ด ํ”„๋กœ์ ํŠธ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ๋Š๊น€์„ ํ”ผํ•œ๋‹ค.

ํด๋ก ๋ณธ ํ•œ๋„

Scratch ํ”„๋กœ์ ํŠธ๋‹น ๋™์‹œ์— ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ก ๋ณธ์€ ์ตœ๋Œ€ 300๊ฐœ๋‹ค. ํ•œ๋„๋ฅผ ๋„˜์œผ๋ฉด ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํด๋ก ๋ณธ์ด ์ž๋™์œผ๋กœ ์‚ญ์ œ๋œ๋‹ค.

1
2
3
4
5
6
// ํด๋ก  ์ตœ๋Œ€ 300๊ฐœ, ๋ฌดํ•œ ํด๋ก  ํ”ผํ•˜๊ธฐ
when green flag clicked
set [่ฎกๆ•ฐ v] to (0)
repeat (10)
create clone of (ๆˆ‘่‡ชๅทฑ)
end

๋ฆฌ์ŠคํŠธ ํฌ๊ธฐ ์ œ์–ด

๋ฆฌ์ŠคํŠธ๊ฐ€ ๋ฌดํ•œํžˆ ์ปค์ง€๋ฉด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋А๋ ค์ง„๋‹ค. ๋‹ค ์“ด ๋ฐ์ดํ„ฐ๋Š” ์ฆ‰์‹œ ์ง€์šฐ๊ฑฐ๋‚˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ์ œํ•œํ•œ๋‹ค.

1
2
3
4
add (ๆ–ฐๆˆ็ปฉ) to [ๆˆ็ปฉ v]
if <(length of [ๆˆ็ปฉ v]) > (100)> then
delete (1) of [ๆˆ็ปฉ v]
end

์Šคํ”„๋ผ์ดํŠธ ์ˆ˜

์Šคํ”„๋ผ์ดํŠธ(๊ฐ์ฒด)๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋งค ํ”„๋ ˆ์ž„ ๊ณ„์‚ฐํ•  ์ผ์ด ๋Š˜์–ด๋‚œ๋‹ค. ๊ฐ™์€ ์ข…๋ฅ˜์˜ ๋Œ€์ƒ์€ ์—ฌ๋Ÿฌ ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๋ณต์ œํ•˜๊ธฐ๋ณด๋‹ค ํด๋ก ์„ ์šฐ์„  ์‚ฌ์šฉํ•œ๋‹ค.

1
2
3
4
5
// ์  50๋งˆ๋ฆฌ๏ผš์Šคํ”„๋ผ์ดํŠธ 1๊ฐœ + ํด๋ก  50๋ฒˆ์ด ์Šคํ”„๋ผ์ดํŠธ 50๊ฐœ๋ณด๋‹ค ๋น ๋ฆ„
when green flag clicked
repeat (50)
create clone of (ๆ•Œไบบ)
end

์‹ ํ˜ธ ํญ์ฃผ

๋งค ํ”„๋ ˆ์ž„ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๋Š” ๋“ฑ ์งง์€ ์‹œ๊ฐ„์— ๋งŽ์€ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๋ฉด ์ˆ˜์‹  ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ณ„์† ๋‹ค์‹œ ์‹œ์ž‘ํ•ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋А๋ ค์ง„๋‹ค. ์‹ ํ˜ธ๋Š” ์กฐ๊ฑด์ด ๋ฐ”๋€” ๋•Œ๋งŒ ๋ณด๋‚ธ๋‹ค.

1
2
3
4
5
// forever ์•ˆ์—์„œ ๋ฌด์ž‘์ • ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•˜์ง€ ์•Š์Œ
// ์œ„์น˜๊ฐ€ ๋ฐ”๋€Œ์—ˆ์„ ๋•Œ๋งŒ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•ด์„œ ๋ฉ”์‹œ์ง€ ํญ์ฃผ๋ฅผ ์ค„์ž„
if <not <(x position) = (ไธŠไธ€ๅธงx)>> then
broadcast (ไฝ็ฝฎ)
end

๋ณ€์ˆ˜ ์บ์‹œ

๋ฐ˜๋ณต ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ๋Š” ๋ณ€์ˆ˜์— ์ €์žฅํ•ด ๋งค๋ฒˆ ๋ณต์žกํ•œ ์—ฐ์‚ฐ์„ ํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๋ฒˆ ์“ฐ๋Š” ๊ฐ’์€ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด ์ €์žฅํ•ด ๋‘”๋‹ค.

1
2
3
4
5
// ํ•œ ๋ฒˆ ๊ณ„์‚ฐํ•ด ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์žฌ์‚ฌ์šฉ
set [่ท็ฆป v] to ((x position) - (็›ฎๆ ‡x))
if <(่ท็ฆป) < (50)> then
say (ๅฟซๅˆฐไบ†)
end

์Šคํ”„๋ผ์ดํŠธ ๋ชฉ๋ก ๊ด€๋ฆฌ

๋ฌด๋Œ€ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜์˜ ์Šคํ”„๋ผ์ดํŠธ ๋ชฉ๋ก์ด ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ํ‘œ์‹œํ•œ๋‹ค. ๋Œ์–ด๋‹น๊ฒจ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ๊ณ , ์šฐํด๋ฆญ์œผ๋กœ ๋ณต์‚ฌยท๋‚ด๋ณด๋‚ด๊ธฐยท์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

1
2
// ์Šคํ”„๋ผ์ดํŠธ ์ธ๋„ค์ผ ์šฐํด๋ฆญ > ๋ณต์ œ/๋‚ด๋ณด๋‚ด๊ธฐ/์‚ญ์ œ
// ๋ณต์ œ๋œ ์Šคํ”„๋ผ์ดํŠธ๋Š” ๊ฐ™์€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋ชจ์–‘ ๋ฐ”๊ฟ” ์ƒˆ ์บ๋ฆญํ„ฐ๋กœ

์„ฑ๋Šฅ ์ตœ์ ํ™”

๋งค ํ”„๋ ˆ์ž„ ๋‹ค์‹œ ๊ทธ๋ฆฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ , ๋Œ€๋Ÿ‰ ๋ฆฌ์ŠคํŠธ ์—ฐ์‚ฐ์„ ํ”ผํ•˜๋ฉฐ, ํด๋ก ๋ณธ๊ณผ ์ž…์ž ์ˆ˜๋ฅผ ์ œํ•œํ•˜๋ฉด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋” ๋งค๋„๋Ÿฝ๊ฒŒ ๋Œ์•„๊ฐ„๋‹ค.

1
2
3
4
5
6
7
// ๊นœ๋นก์ž„ ์ค„์ด๊ธฐ๏ผš๋จผ์ € ์Šคํ”„๋ผ์ดํŠธ ์ˆจ๊ธฐ๊ณ  ํ•œ๊บผ๋ฒˆ์— ์ด๋™
hide
repeat (20)
change x by (5)
end
show
// ๋Œ€๋Ÿ‰ ๊ณ„์‚ฐ์€ใ€Œํ™”๋ฉด ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด ์‹คํ–‰ใ€์˜ ๋‚ด ๋ธ”๋ก์— ๋„ฃ๊ธฐ

์˜์ƒ๊ณผ ์†Œ๋ฆฌ ์ž์›

๋ชจ๋“  ์˜์ƒ๊ณผ ์†Œ๋ฆฌ๋Š” ์ž์›์ด๋ฏ€๋กœ ๋งŽ์„์ˆ˜๋ก ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์ด ์ปค์ง€๊ณ  ๋กœ๋”ฉ์ด ๋А๋ ค์ง„๋‹ค. ์“ธ๋ชจ ์—†๋Š” ์ž์›์€ ์ง€์šฐ๊ณ , ๊ฐ€์ ธ์˜ค๊ธฐ ์ „์— ์ด๋ฏธ์ง€๋ฅผ ์••์ถ•ํ•œ๋‹ค.

1
2
// ์•ˆ ์“ฐ๋Š” ๋ชจ์–‘๊ณผ ์†Œ๋ฆฌ ์‚ญ์ œํ•ด์„œ .sb3 ํฌ๊ธฐ ์ค„์ด๊ธฐ
// ์ด๋ฏธ์ง€๋Š” ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์ „์— ์••์ถ•ํ•ด์„œ ๋กœ๋”ฉ ์‹œ๊ฐ„ ๋‹จ์ถ•

10.์Šคํ”„๋ผ์ดํŠธ ๊ณง ๊ฐ์ฒด

๋ชจ๋“  ์Šคํ”„๋ผ์ดํŠธ๋Š” ๊ฐ์ฒด์ด๋ฉฐ, ์ž๊ธฐ๋งŒ์˜ ๋ณ€์ˆ˜์™€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ–๊ณ  ํด๋ก ๋ณธ์ด ๊ณง ๋‹ค์ค‘ ์ธ์Šคํ„ด์Šค๋‹ค.

์Šคํ”„๋ผ์ดํŠธ ๊ณง ๊ฐ์ฒด

์Šคํ”„๋ผ์ดํŠธ๋Š” ์˜์ƒยท๋ณ€์ˆ˜ยท์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฌถ์–ด ๊ทธ ์ž์ฒด๋กœ ์ž‘์€ ๊ฐ์ฒด๋‹ค. ๋ฌด๋Œ€๋Š” ์ „์—ญ ์ปจํ…Œ์ด๋„ˆ์— ํ•ด๋‹นํ•œ๋‹ค.

1
2
3
4
// ์Šคํ”„๋ผ์ดํŠธใ€Œ๊ณ ์–‘์ดใ€๏ผš๋ณ€์ˆ˜ ์ด๋ฆ„ + ์Šคํฌ๋ฆฝํŠธ
when green flag clicked
set [ๅๅญ— v] to (ๅฐ็Œซ)
say (join (ไฝ ๅฅฝ๏ผŒ) (ๅๅญ—))

ํด๋ก ๋ณธ ๊ณง ์ธ์Šคํ„ด์Šค

ํด๋ก ๋ณธ์€ ์Šคํ”„๋ผ์ดํŠธ์˜ ๋ณต์ œ ์ธ์Šคํ„ด์Šค๋กœ, ์˜์ƒ๊ณผ ์ „์—ญ ์Šคํฌ๋ฆฝํŠธ๋Š” ๊ณต์œ ํ•˜์ง€๋งŒ ์ž๊ธฐ๋งŒ์˜ ์œ„์น˜ยทํฌ๊ธฐยท๊ฐœ์ธ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง„๋‹ค.

1
2
3
4
5
6
when green flag clicked
repeat (3)
create clone of (ๆˆ‘่‡ชๅทฑ)
end
when I start as a clone
go to x: (pick random (-200) to (200)) y: (0)

์‹ ํ˜ธ ๊ณง ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ

์‹ ํ˜ธ๋Š” ๋‹ค๋ฅธ ใ€Œ๊ฐ์ฒดใ€์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ๊ณผ ๊ฐ™๊ณ , ์ˆ˜์‹  ๋ธ”๋ก์ด ์ด๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ๋ฉ”์‹œ์ง€ ํ˜ธ์ถœ๊ณผ ๋น„์Šทํ•˜๋‹ค.

1
2
3
4
5
when this sprite clicked
broadcast (ๅ—ไผค)
when I receive (ๅ—ไผค)
say (ๅ•Š๏ผ)
change [็”Ÿๅ‘ฝ v] by (-1)

๊ฐœ์ธ ์†์„ฑ

ใ€Œ์ด ์Šคํ”„๋ผ์ดํŠธ์—๋งŒ ์‚ฌ์šฉใ€ ๋ณ€์ˆ˜๊ฐ€ ๊ณง ๊ฐ์ฒด์˜ ๊ฐœ์ธ ์†์„ฑ์ด๋ฉฐ, ํด๋ก ๋ณธ์€ ๊ฐ๊ฐ ๋…๋ฆฝ์ ์ด์–ด์„œ ์„œ๋กœ ๊ฐ„์„ญํ•˜์ง€ ์•Š๋Š”๋‹ค.

1
2
3
4
5
6
when green flag clicked
set [็ผ–ๅท v] to (1)
create clone of (ๆˆ‘่‡ชๅทฑ)
when I start as a clone
set [็ผ–ๅท v] to (2) // ์ด ํด๋ก ๋งŒ ๋ณ€๊ฒฝ
say (็ผ–ๅท)

ํด๋ก  ์žฌ์‚ฌ์šฉ

์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๋ณต์ œํ•˜๋ฉด ๊ฐ™์€ ใ€Œํ…œํ”Œ๋ฆฟใ€์„ ์–ป๊ณ , ์Šคํฌ๋ฆฝํŠธ๋‚˜ ๋ณ€์ˆ˜๋งŒ ๋ฐ”๊พธ๋ฉด ๋™์ž‘์ด ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋ฅผ ํŒŒ์ƒํ•  ์ˆ˜ ์žˆ์–ด ์ƒ์†๊ณผ ๋น„์Šทํ•˜๋‹ค.

1
2
3
4
5
6
7
// ์  ํ…œํ”Œ๋ฆฟ ํด๋ก  โ†’ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์†๋„ ์„ค์ •
when I start as a clone
set [้€Ÿๅบฆ v] to (pick random (1) to (5))
forever
move (้€Ÿๅบฆ) steps
if on edge, bounce
end

์ƒํƒœ์™€ ๋™์ž‘

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

1
2
3
4
5
6
7
8
9
if <(็Šถๆ€) = (ๅทก้€ป)> then
move (5) steps
if on edge, bounce
else
if <(็Šถๆ€) = (่ฟฝ่ธช)> then
point towards (็Žฉๅฎถ)
move (8) steps
end
end

์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ

์Šคํฌ๋ž˜์น˜๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค. ์ดˆ๋ก ๊นƒ๋ฐœ, ํ‚ค ์ž…๋ ฅ, ํด๋ฆญ, ๋ฉ”์‹œ์ง€ ๋ชจ๋‘ ํ•ด๋‹น ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰์‹œํ‚ต๋‹ˆ๋‹ค. ๋ฉ”์ธ ํ•จ์ˆ˜๊ฐ€ ์—†์œผ๋ฉฐ, ๋ชจ๋“  ๊ฒƒ์ด ์ด๋ฒคํŠธ์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
when green flag clicked
ๅฏๅŠจๆธธๆˆ
when this sprite clicked
ๆ’ญๆ”พ้Ÿณๆ•ˆ
when key (็ฉบๆ ผ v) pressed
่ทณ่ทƒ
when I receive (่ฟ‡ๅ…ณ)
่ฟ›ๅ…ฅไธ‹ไธ€ๅ…ณ

๋ฉ”์‹œ์ง€ ์ „๋‹ฌ

์Šคํ”„๋ผ์ดํŠธ๋ผ๋ฆฌ๋Š” ์„œ๋กœ์˜ ๋ณ€์ˆ˜์— ์ง์ ‘ ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ , ๋ฐฉ์†ก ๋ฉ”์‹œ์ง€์™€ ๊ณต์œ  ๋ณ€์ˆ˜ ์ฝ๊ธฐ๋กœ ํ˜‘๋ ฅํ•ด ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
// ํ”Œ๋ ˆ์ด์–ด ์ ์ˆ˜ โ†’ ์Šค์ฝ”์–ด๋ณด๋“œ ์Šคํ”„๋ผ์ดํŠธ๋กœ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ
when this sprite clicked
change [ๅˆ†ๆ•ฐ v] by (1)
broadcast (ๅŠ ๅˆ†ๅŠจ็”ป)
// ์Šค์ฝ”์–ด๋ณด๋“œ ์ชฝ์ด ์ˆ˜์‹ 
when I receive (ๅŠ ๅˆ†ๅŠจ็”ป)
set [ๆ˜พ็คบๅˆ†ๆ•ฐ v] to (ๅˆ†ๆ•ฐ)

11.๋””๋ฒ„๊น…๊ณผ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ

์Šคํฌ๋ž˜์น˜๋Š” ์˜ˆ์™ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์—†์œผ๋ฏ€๋กœ, ๋ณ€์ˆ˜ ๋ชจ๋‹ˆํ„ฐ๋ง, ๋งํ•˜๊ธฐ ๋ธ”๋ก, ๊ฒฝ๊ณ„ ๊ฒ€์‚ฌ๋กœ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์™ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์—†์Œ

์Šคํฌ๋ž˜์น˜๋Š” ์˜ˆ์™ธ๋ฅผ ๋˜์ง€์ง€ ์•Š์œผ๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์€ ์ž˜๋ชป๋œ ๋…ผ๋ฆฌ๋Œ€๋กœ ์กฐ์šฉํžˆ ์‹คํ–‰๋  ๋ฟ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ํ™•์ธํ•˜๊ณ  ์ ๊ทน์ ์œผ๋กœ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
// ์—๋Ÿฌ๊ฐ€ ๋‚˜์ง€ ์•Š๊ณ  ์ด์ƒํ•œ ๊ฒฐ๊ณผ๋งŒ ์–ป์Œ
// ๋ฆฌ์ŠคํŠธ ๋ฒ”์œ„ ๋ฐ– ์ฝ๊ธฐ๋Š” ๋นˆ ๊ฐ’์„ ๋ฐ˜ํ™˜, ๋น„๊ต๊ฐ€ ํ•ญ์ƒ ๊ฑฐ์ง“์ผ ์ˆ˜๋„
// ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ํ™•์ธํ•˜๋Š” ๊ฒŒ ์œ ์ผํ•œ ๋ฐฉ์–ด์„ 

๋ณ€์ˆ˜ ๋ชจ๋‹ˆํ„ฐ๋ง

๋ฌด๋Œ€์˜ ๋ณ€์ˆ˜ ํ‘œ์‹œ๊ธฐ๋ฅผ ์šฐํด๋ฆญํ•˜๋ฉด ์ผ๋ฐ˜ ์ฝ๊ธฐ, ํฐ ๊ธ€์”จ ์ฝ๊ธฐ, ์Šฌ๋ผ์ด๋”, ์ˆจ๊ธฐ๊ธฐ ๋“ฑ์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์–ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฐ’์„ ๊ด€์ฐฐํ•˜๊ธฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
// ๋ฌด๋Œ€์˜ ๋ณ€์ˆ˜ ๋ชจ๋‹ˆํ„ฐ ์šฐํด๋ฆญ๏ผš
// ์ผ๋ฐ˜ ํ‘œ์‹œ / ํฐ ๊ธ€์ž / ์Šฌ๋ผ์ด๋” / ์ˆจ๊ธฐ๊ธฐ
set [ๅˆ†ๆ•ฐ v] to (0)
change [ๅˆ†ๆ•ฐ v] by (1)

๋งํ•˜๊ธฐ ๋ธ”๋ก์œผ๋กœ ๋””๋ฒ„๊น…

์˜์‹ฌ์Šค๋Ÿฌ์šด ์œ„์น˜์— ใ€Œ(๋ณ€์ˆ˜) ๋ผ๊ณ  ๋งํ•˜๊ธฐใ€๋ฅผ ๋„ฃ์–ด ์ค‘๊ฐ„ ๊ฐ’์„ ์ถœ๋ ฅํ•ด ๋…ผ๋ฆฌ๋ฅผ ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค. ์ ๊ฒ€ ํ›„์—๋Š” ๋ฐ˜๋“œ์‹œ ์‚ญ์ œํ•˜์„ธ์š”.

1
2
3
define ่ฎก็ฎ—ๅพ—ๅˆ†
set [ๆ€ปๅˆ† v] to ((a) + (b))
say (ๆ€ปๅˆ†) // ์ž„์‹œ ๋””๋ฒ„๊ทธ ์ถœ๋ ฅ

๊ฒฝ๊ณ„ ๊ฒ€์‚ฌ

๋ฆฌ์ŠคํŠธ ์š”์†Œ๋ฅผ ์ฝ๊ธฐ ์ „์— ๋จผ์ € ์ธ๋ฑ์Šค๊ฐ€ ๋ฒ”์œ„ ์•ˆ์ธ์ง€ ํ™•์ธํ•ด ๋นˆ ๊ฐ’์„ ์ฝ์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ”์œ„๋Š” 1๋ถ€ํ„ฐ ๊ธธ์ด๊นŒ์ง€์ž…๋‹ˆ๋‹ค.

1
2
3
4
5
if <<(i) > (0)> and <(i) <= (length of [่ƒŒๅŒ… v])>> then
say (item (i) of [่ƒŒๅŒ… v])
else
say (ๅบๅท่ถŠ็•Œ)
end

๋นˆ ๊ฐ’ ๊ฒ€์‚ฌ

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

1
2
3
4
5
if <(length of [่ƒŒๅŒ… v]) = (0)> then
say (่ƒŒๅŒ…ๆ˜ฏ็ฉบ็š„)
else
say (item (1) of [่ƒŒๅŒ… v])
end

๋ฆฌ์ŠคํŠธ ๋ฒ”์œ„ ์ดˆ๊ณผ

๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์Šค๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฉฐ, ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๋ฉด ์ธ๋ฑ์Šค๊ฐ€ ์ž๋™์œผ๋กœ ๋‹น๊ฒจ์ง‘๋‹ˆ๋‹ค. ใ€Œ(๋ฆฌ์ŠคํŠธ) ๊ธธ์ดใ€๋ฅผ ์ƒํ•œ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋ฒ”์œ„๋ฅผ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
delete (1) of [่ƒŒๅŒ… v]
// ์‚ญ์ œ ํ›„ ์›๋ž˜ 2๋ฒˆ์งธ๊ฐ€ 1๋ฒˆ์งธ๊ฐ€ ๋จ
if <(i) > (length of [่ƒŒๅŒ… v])> then
set [i v] to (length of [่ƒŒๅŒ… v])
end

๋‹จ๊ณ„๋ณ„ ๋””๋ฒ„๊น…

ํฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์€ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ  ํ•œ ๋ถ€๋ถ„์”ฉ ํ…Œ์ŠคํŠธํ•˜๊ฑฐ๋‚˜, ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ๋ธ”๋ก์œผ๋กœ ์†๋„๋ฅผ ๋Šฆ์ถฐ ๊ฐ ๋‹จ๊ณ„์—์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ๊ด€์ฐฐํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
when green flag clicked
ๅˆๅง‹ๅŒ–
wait (0.5) seconds // ์ฒœ์ฒœํžˆ ๊ด€์ฐฐํ•˜๊ธฐ
่ฎก็ฎ—ๅพ—ๅˆ†
wait (0.5) seconds
ๆ˜พ็คบ็ป“ๆžœ

์ž์ฃผ ํ•˜๋Š” ์˜ค๋ฅ˜ ๋ชฉ๋ก

์˜ค๋ฅ˜๋Š” ๋ณดํ†ต ๋ณ€์ˆ˜๊ฐ€ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ์กฐ๊ฑด์ด ๋ฐ˜๋Œ€๋กœ ์“ฐ์˜€๊ฑฐ๋‚˜, ์ธ๋ฑ์Šค๊ฐ€ ๋ฒ”์œ„๋ฅผ ๋„˜๊ฑฐ๋‚˜, ๋ฐฉ์†ก์„ ์•„๋ฌด๋„ ๋ฐ›์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก๋Œ€๋กœ ํ•˜๋‚˜์”ฉ ์ ๊ฒ€ํ•˜์„ธ์š”.

1
2
3
4
5
// ๋ณ€์ˆ˜๊ฐ€ ๋Œ€์ž… ํ›„ ์‚ฌ์šฉ๋˜๋Š”์ง€ ํ™•์ธ
// ๋น„๊ต ๋ฐฉํ–ฅ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธ
// ๋ฆฌ์ŠคํŠธ ๋ฒˆํ˜ธ๊ฐ€ ๋ฒ”์œ„ ์•ˆ์ธ์ง€ ํ™•์ธ
// ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ์™€ ์ˆ˜์‹  ์ด๋ฆ„์ด ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธ
// ํด๋ก ์ด ์ƒํ•œ์„ ๋„˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธ

12.์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ

๊ฐ์ง€ ๋ธ”๋ก์œผ๋กœ ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ์งˆ์˜์‘๋‹ต์„ ์ฝ๊ณ , ๋งํ•˜๊ธฐยท๋ชจ์–‘ยท๋ฐฐ๊ฒฝ์œผ๋กœ ์ถœ๋ ฅํ•˜๋ฉฐ, ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

ํ‚ค๋ณด๋“œ ์ž…๋ ฅ

ใ€Œ์ŠคํŽ˜์ด์Šค ํ‚ค๋ฅผ ๋ˆŒ๋ €๋Š”๊ฐ€?ใ€๋Š” ํ‚ค๊ฐ€ ๋ˆŒ๋ ธ๋Š”์ง€ ๊ฐ์ง€ํ•˜๋ฉฐ, ๋ฐ˜๋ณต๋ฌธ๊ณผ ํ•จ๊ป˜ ์“ฐ๋ฉด ์—ฐ์† ์ด๋™์„, ๋‹จ์ผ ํŒ๋‹จ๊ณผ ํ•จ๊ป˜ ์“ฐ๋ฉด ์ ํ”„๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
forever
if <key (ๅณ็งป v) pressed?> then
change x by (5)
end
if <key (ๅทฆ็งป v) pressed?> then
change x by (-5)
end
end

๋งˆ์šฐ์Šค ์ž…๋ ฅ

๋งˆ์šฐ์Šค ์œ„์น˜์™€ ๋ˆ„๋ฆ„ ์ƒํƒœ๋ฅผ ๊ฐ์ง€ํ•ด ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ๋งˆ์šฐ์Šค๋ฅผ ๋”ฐ๋ผ๊ฐ€๊ฑฐ๋‚˜ ํด๋ฆญ์— ๋ฐ˜์‘ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
forever
go to (mouse-pointer)
if <mouse down?> then
set size to (120) %
else
set size to (100) %
end
end

์งˆ์˜์‘๋‹ต ์ž…๋ ฅ

ใ€Œ(~๋ผ๊ณ  ๋ฌป๊ณ  ๊ธฐ๋‹ค๋ฆฌ๊ธฐ)ใ€๋Š” ์ž…๋ ฅ ์ฐฝ์„ ๋„์šฐ๊ณ , ์‚ฌ์šฉ์ž์˜ ๋‹ต์„ ใ€Œ(๋‹ต)ใ€ ๋ธ”๋ก์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ต์€ ํ•ญ์ƒ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

1
2
3
4
ask (ไฝ ๅซไป€ไนˆๅๅญ—๏ผŸ) and wait
say (join (ไฝ ๅฅฝ๏ผŒ) (answer))
ask (ไฝ ไปŠๅนดๅ‡ ๅฒ๏ผŸ) and wait
set [ๅนด้พ„ v] to (answer)

์ ‘์ด‰ ๊ฐ์ง€

์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ๋งˆ์šฐ์Šค, ๋‹ค๋ฅธ ์Šคํ”„๋ผ์ดํŠธ, ์ƒ‰์ƒ์— ๋‹ฟ์•˜๋Š”์ง€ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ถฉ๋Œ ๊ฒ€์‚ฌ๋‚˜ ์•„์ดํ…œ ์žก๊ธฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
forever
if <touching (ๆ•Œไบบ v)?> then
change [็”Ÿๅ‘ฝ v] by (-1)
end
if <touching (mouse-pointer v)?> then
say (ๆŠ“ๅˆฐๆˆ‘ไบ†)
end
end

๊ฐ์ง€ ๊ฐ’ ์ถœ๋ ฅ

x ์ขŒํ‘œ, y ์ขŒํ‘œ, ๋ฐฉํ–ฅ, ์†Œ๋ฆฌ ํฌ๊ธฐ, ํƒ€์ด๋จธ ๋“ฑ์€ ๋ชจ๋‘ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ง€ ๊ฐ’์ด๋ฉฐ, ๋ฐ”๋กœ ์—ฐ์‚ฐ์— ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
say (join (x=) (x position))
say (join (y=) (y position))
say (loudness) // ๋งˆ์ดํฌ ์Œ๋Ÿ‰ 0-100

๋ฐฉ์†ก ์ถœ๋ ฅ

๋ฐฉ์†ก์€ ๋‹ค๋ฅธ ์Šคํ”„๋ผ์ดํŠธ์™€ ๋™์ž‘์„ ๋™๊ธฐํ™”ํ•˜๋ฉฐ, ์Šคํ”„๋ผ์ดํŠธ ๊ฐ„ ์ฃผ์š” ์ถœ๋ ฅ ํ†ต๋กœ์ž…๋‹ˆ๋‹ค. ์ˆ˜์‹  ์ชฝ์—์„œ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
when this sprite clicked
broadcast (ๅผ€้—จ)
when I receive (ๅผ€้—จ)
switch costume to (้—จๅผ€ไบ†)
play sound (ๅ’”ๅ—’ v)

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜ ์ €์žฅ

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋Š” ์ˆซ์ž๋ฅผ ์„œ๋ฒ„์— ์ €์žฅํ•˜๋ฉฐ ๋ชจ๋“  ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ๊ณ  ์ ์ˆ˜๋‚˜ ์˜จ๋ผ์ธ ํ†ต๊ณ„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
when green flag clicked
if <(ๅˆ†ๆ•ฐ) > (ไบ‘_ๆœ€้ซ˜ๅˆ†)> then
set [ไบ‘_ๆœ€้ซ˜ๅˆ† v] to (ๅˆ†ๆ•ฐ)
end

ํ™”๋ฉด์œผ๋กœ ์ถœ๋ ฅ

๋งํ•˜๊ธฐ, ์ƒ๊ฐํ•˜๊ธฐ๋Š” ๊ธ€์ž๋ฅผ, ๋ชจ์–‘ ์ „ํ™˜์€ ์ด๋ฏธ์ง€๋ฅผ, ์†Œ๋ฆฌ ์žฌ์ƒ์€ ์˜ค๋””์˜ค๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์„ ์กฐํ•ฉํ•ด ํ”ผ๋“œ๋ฐฑ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

1
2
3
4
5
6
when this sprite clicked
say (ๅ—ทๅ‘œ๏ผ) for (1) seconds
play sound (ๅ’†ๅ“ฎ v)
switch costume to (ๅผ ๅ˜ด)
wait (0.3) seconds
switch costume to (้—ญๅ˜ด)

13.์ž์ฃผ ํ•˜๋Š” ์‹ค์ˆ˜

์ดˆ๋ณด์ž๊ฐ€ ๊ฐ€์žฅ ์ž์ฃผ ๋น ์ง€๋Š” ์—ฌ๋Ÿ ๊ฐ€์ง€ ํ•จ์ •์ž…๋‹ˆ๋‹ค. BAD๋Š” ์ž˜๋ชป๋œ ์˜ˆ์‹œ, GOOD์€ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋ฌดํ•œ ๋ฐ˜๋ณต์—์„œ ๋ฉˆ์ถค

forever ๋ฐ˜๋ณต ์•ˆ์— ๊ธฐ๋‹ค๋ฆฌ๊ธฐ๋ฅผ ๋„ฃ์œผ๋ฉด ์กฐ๊ฑด์ด ์˜์›ํžˆ ์ถฉ์กฑ๋˜์ง€ ์•Š์•„ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. ๋ฐ˜๋ณต ์•ˆ์—๋Š” ์กฐ๊ฑด์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ๋ธ”๋ก์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
// BAD ๊ฒฐ์ฝ” ์ถฉ์กฑ๋˜์ง€ ์•Š๋Š” ์กฐ๊ฑด์„ ๊ธฐ๋‹ค๋ฆผ
forever
wait until <(x position) > (1000)>
end
// GOOD ๋ฃจํ”„ ์•ˆ์—์„œ ์กฐ๊ฑด์„ ์ง„ํ–‰์‹œํ‚ค๊ฑฐ๋‚˜ ๋ฃจํ”„๊ฐ€ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ
repeat until <(x position) > (240)>
change x by (5)
end

๋ฐฉ์†ก ํƒ€์ด๋ฐ

๋ฐฉ์†ก์€ ๋น„๋™๊ธฐ์ž…๋‹ˆ๋‹ค. ๋ณด๋‚ธ ๋’ค ๋ฐ”๋กœ ๊ณ„์† ์‹คํ–‰๋˜๋ฉฐ ์ˆ˜์‹  ์Šคํฌ๋ฆฝํŠธ๋Š” ๋™์‹œ์— ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์ˆœ์„œ๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋Š” ใ€Œ๋ฐฉ์†กํ•˜๊ณ  ๊ธฐ๋‹ค๋ฆฌ๊ธฐใ€๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

1
2
3
4
5
6
// BAD ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์งํ›„ ์ˆ˜์‹ ์ธก์ด ์„ค์ •ํ•œ ๊ฐ’์„ ์ฝ์œผ๋ฉด ์•„์ง ๊ฐฑ์‹  ์•ˆ ๋์„ ์ˆ˜๋„
broadcast (ๅผ€ๅง‹ๅŠจ็”ป)
say (ๅŠจ็”ป็ป“ๆŸ)
// GOODใ€Œ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•˜๊ณ  ๊ธฐ๋‹ค๋ฆฌ๊ธฐใ€๋กœ ์ˆ˜์‹ ์ธก ์™„๋ฃŒ๋ฅผ ๊ธฐ๋‹ค๋ฆผ
broadcast (ๅผ€ๅง‹ๅŠจ็”ป) and wait
say (ๅŠจ็”ป็ป“ๆŸ)

๋ณต์ œ๋ณธ ๋ณ€์ˆ˜ ํ˜ผ๋™

์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋ณต์ œ๋ณธ๋ผ๋ฆฌ ๊ณต์œ ๋˜์–ด ํ•˜๋‚˜๋ฅผ ๋ฐ”๊พธ๋ฉด ๋ชจ๋‘ ๋ฐ”๋€๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์„ ๊ตฌ๋ถ„ํ•˜๋ ค๋ฉด ใ€Œ์ด ์Šคํ”„๋ผ์ดํŠธ์—๋งŒ ์‚ฌ์šฉใ€ ์ „์šฉ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

1
2
3
4
5
6
7
8
9
// BAD ์ „์—ญ ๋ณ€์ˆ˜๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ธฐ๋ฉด ๋ชจ๋“  ํด๋ก ์ด ๊ฐ™์€ ๊ฐ’์„ ์ฝ์Œ
set [็ผ–ๅท v] to (0)
repeat (3)
change [็ผ–ๅท v] by (1)
create clone of (ๆˆ‘่‡ชๅทฑ)
end
// GOOD ๋น„๊ณต๊ฐœ ๋ณ€์ˆ˜๋Š” ํด๋ก ๋  ๋•Œ ํด๋ก ์— ๋ณต์‚ฌ๋จ
when I start as a clone
say (็ผ–ๅท)

๊ธฐ๋‹ค๋ฆฌ๊ธฐ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์Œ

wait until์˜ ์กฐ๊ฑด์ด ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์„ค์ •๋  ๋•Œ, ๊ทธ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์กฐ๊ฑด์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
// BAD ์กฐ๊ฑด์ด ์ค‘์ง€๋œ ์Šคํฌ๋ฆฝํŠธ์— ์˜ํ•ด์„œ๋งŒ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Œ
wait until <(ๅŠ ่ฝฝๅฎŒๆˆ) = (1)>
// GOOD ๋ณ€์ˆ˜ ํด๋ง ๋Œ€์‹  ์ด๋ฒคํŠธ๋กœ ๊ธฐ๋‹ค๋ฆผ
when I receive (ๅŠ ่ฝฝๅฎŒๆˆ)
say (ๅŠ ่ฝฝๅฅฝไบ†)

๋นˆ ๊ฐ’์ด ์—ฐ์‚ฐ์— ํฌํ•จ๋จ

answer๋‚˜ ๋ฆฌ์ŠคํŠธ ์š”์†Œ๊ฐ€ ๋น„์–ด ์žˆ์„ ๋•Œ ๋น„๊ตยท์—ฐ์‚ฐ์— ๋“ค์–ด๊ฐ€๋ฉด ๊ฑฐ์ง“์ด๋‚˜ ์ด์ƒํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. ๋จผ์ € ๊ธธ์ด๋ฅผ ํ™•์ธํ•œ ๋’ค ์‚ฌ์šฉํ•˜์„ธ์š”.

1
2
3
4
5
6
7
8
9
10
11
ask (่พ“ๅ…ฅๆ•ฐๅญ—) and wait
// BAD ๋นˆ ์ž…๋ ฅ์„ ์ˆซ์ž๋กœ ๋น„๊ต, ํ•ญ์ƒ ๊ฑฐ์ง“
if <(answer) > (10)> then
say (ๅคงไบŽ10)
end
// GOOD ๋จผ์ € ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
if <(length of (answer)) > (0)> then
say (join (ไฝ ่พ“ๅ…ฅไบ†) (answer))
else
say (ไฝ ๆฒกๆœ‰่พ“ๅ…ฅ)
end

๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์Šค ๋ฒ”์œ„ ์ดˆ๊ณผ

๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์Šค๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฉฐ ์ตœ๋Œ“๊ฐ’์€ ๊ธธ์ด์ž…๋‹ˆ๋‹ค. 0์ด๋‚˜ ๊ธธ์ด๋ฅผ ๋„˜๋Š” ์ธ๋ฑ์Šค๋กœ๋Š” ๋‚ด์šฉ์„ ์ฝ์„ ์ˆ˜ ์—†์œผ๋ฉฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
add (่‹นๆžœ) to [่ƒŒๅŒ… v]
// BAD 0๋ฒˆ์ด๋‚˜ ๋„ˆ๋ฌด ํฐ ๋ฒˆํ˜ธ๋กœ ๋ฆฌ์ŠคํŠธ ์ฝ๊ธฐ
say (item (0) of [่ƒŒๅŒ… v])
say (item (9) of [่ƒŒๅŒ… v])
// GOOD 1..๊ธธ์ด ๋ฒ”์œ„์˜ ๋ฒˆํ˜ธ ์‚ฌ์šฉ
say (item (1) of [่ƒŒๅŒ… v])
say (item (length of [่ƒŒๅŒ… v]) of [่ƒŒๅŒ… v])

๋ชจ์–‘ ์ด๋ฆ„ ๋ถˆ์ผ์น˜

๋ชจ์–‘์„ ์ „ํ™˜ํ•  ๋•Œ ์ด๋ฆ„์€ ๋ชจ์–‘ ํŒจ๋„์˜ ์ด๋ฆ„๊ณผ ์™„์ „ํžˆ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณต๋ฐฑ์ด ํ•˜๋‚˜ ๋” ๋งŽ๊ฑฐ๋‚˜ ๊ธ€์ž๊ฐ€ ํ•˜๋‚˜ ์ ์œผ๋ฉด ์ „ํ™˜์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

1
2
3
4
// BAD ๋ชจ์–‘ ์ด๋ฆ„์— ์—ฌ๋ถ„์˜ ๊ณต๋ฐฑ์ด ์žˆ์–ด ์ „ํ™˜์ด ์•ˆ ๋จ
switch costume to (ๆ–ฐ้€ ๅž‹ )
// GOOD ๋ชจ์–‘ ์ด๋ฆ„์ด ํŒจ๋„๊ณผ ์™„์ „ํžˆ ์ผ์น˜
switch costume to (ๆ–ฐ้€ ๅž‹)

์žฌ๊ท€๊ฐ€ ๋„ˆ๋ฌด ๊นŠ์Œ

์Šคํฌ๋ž˜์น˜๋Š” ์žฌ๊ท€ ํ˜ธ์ถœ์— ์Šคํƒ ๊นŠ์ด ์ œํ•œ์ด ์žˆ์–ด ๋„ˆ๋ฌด ๊นŠ์œผ๋ฉด ์กฐ์šฉํžˆ ๋ฉˆ์ถ”๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค. ๊นŠ์€ ์žฌ๊ท€ ๋Œ€์‹  ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

1
2
3
4
5
6
7
8
9
// BAD ๊นŠ์€ ์žฌ๊ท€๋Š” Scratch ์Šคํƒ ํ•œ๊ณ„๋ฅผ ๋„˜์„ ์ˆ˜ ์žˆ์Œ
define ๆ•ฐๅˆฐ (n)
ๆ•ฐๅˆฐ ((n) + (1))
ๆ•ฐๅˆฐ (0)
// GOOD ๋ฃจํ”„๋กœ ์„ธ์–ด ๊นŠ์ด ์ œํ•œ ์—†์Œ
set [n v] to (0)
repeat (10000)
change [n v] by (1)
end

14.๋‹ค์ค‘ ์Šคํฌ๋ฆฝํŠธ์™€ ๋™์‹œ ์‹คํ–‰

์—ฌ๋Ÿฌ ์ด๋ฒคํŠธ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜๋ฉฐ, ๋ฐฉ์†ก๊ณผ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ๋กœ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์กฐ์œจํ•ฉ๋‹ˆ๋‹ค.

๋ณ‘๋ ฌ ์Šคํฌ๋ฆฝํŠธ

๊ฐ™์€ ์Šคํ”„๋ผ์ดํŠธ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‘˜ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ์ž์˜ ํŠธ๋ฆฌ๊ฑฐ ์ด๋ฒคํŠธ์—์„œ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜์–ด ์„œ๋กœ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
when green flag clicked
forever
move (5) steps
if on edge, bounce
end
when green flag clicked
forever
play sound (่Š‚ๆ‹ v)
wait (1) seconds
end

์ด๋ฒคํŠธ๊ฐ€ ๊ณง ์Šค๋ ˆ๋“œ

๊ฐ ์ด๋ฒคํŠธ(์ดˆ๋ก ๊นƒ๋ฐœ, ํ‚ค ์ž…๋ ฅ, ํด๋ฆญ, ๋ฉ”์‹œ์ง€ ์ˆ˜์‹ )๋Š” ๋…๋ฆฝ์ ์ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉฐ, ์ด๋Š” ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
when green flag clicked
say (ๅผ€ๅง‹ไบ†)
when key (็ฉบๆ ผ v) pressed
say (ๆŒ‰ไบ†็ฉบๆ ผ)
when this sprite clicked
say (่ขซ็‚นๅ‡ป)

๊ณต์œ  ๋ณ€์ˆ˜

๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋™์‹œ์— ๊ฐ™์€ ๋ณ€์ˆ˜๋ฅผ ๋ฐ”๊พธ๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ์„œ๋กœ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
when green flag clicked
forever
change [ๅˆ†ๆ•ฐ v] by (1)
wait (0.1) seconds
end
when this sprite clicked
change [ๅˆ†ๆ•ฐ v] by (10)

๊ฒฝ์Ÿ ์ƒํƒœ

๋‘ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋™์‹œ์— ๊ฐ™์€ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ใ€Œ์ฝ๊ธฐ-์ˆ˜์ •-์“ฐ๊ธฐใ€๋ฅผ ํ•˜๋ฉด ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•œ ๋ฒˆ ์†์‹ค๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌ ๋กœ์ง์€ ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ™์€ ์Šคํฌ๋ฆฝํŠธ ์•ˆ์— ๋‘์„ธ์š”.

1
2
3
// ๋‘ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋™์‹œ์— ๊ฐ™์€ ๋ณ€์ˆ˜๋ฅผ change
// ์ด์ „ ๊ฐ’ ์ฝ๊ธฐโ†’๋”ํ•˜๊ธฐโ†’๋‹ค์‹œ ์“ฐ๊ธฐ ์‚ฌ์ด์— ๋ผ์–ด๋“ค ์ˆ˜ ์žˆ์Œ
// ํ•ด๊ฒฐ๏ผš์ค‘์š”ํ•œ ์นด์šดํŠธ๋ฅผ ํ•œ ์Šคํฌ๋ฆฝํŠธ์— ๋ชจ์•„ ์ฒ˜๋ฆฌ

๋ฐฉ์†ก ๋™๊ธฐ ์ˆœ์„œ

ใ€Œ๋ฐฉ์†กํ•˜๊ณ  ๊ธฐ๋‹ค๋ฆฌ๊ธฐใ€๋Š” ๋ชจ๋“  ์ˆ˜์‹  ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ ๋’ค ๊ณ„์†ํ•˜๋ฏ€๋กœ, ์—ฌ๋Ÿฌ ๋‹จ๊ณ„ ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์ˆœ์„œ๋ฅผ ์ •ํ•˜๋Š” ๋ฐ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
broadcast (็ฌฌไธ€ๅน•) and wait
broadcast (็ฌฌไบŒๅน•) and wait
broadcast (็ฌฌไธ‰ๅน•) and wait

์Šค๋ ˆ๋“œ ์ •์ง€

์ •์ง€ ๋ธ”๋ก์€ ์ง€์ •ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. ๋ชจ๋‘, ์ด ์Šคํฌ๋ฆฝํŠธ, ์ด ์Šคํ”„๋ผ์ดํŠธ์˜ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ ๋“ฑ. ์ฃผ๋กœ ์ดˆ๊ธฐํ™”์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
when green flag clicked
broadcast (้‡ๆ–ฐๅผ€ๅง‹)
when I receive (้‡ๆ–ฐๅผ€ๅง‹)
stop (other scripts in sprite)
set [ๅˆ†ๆ•ฐ v] to (0)

์—ฌ๋Ÿฌ ์Šคํ”„๋ผ์ดํŠธ ์กฐ์œจ

์—ฌ๋Ÿฌ ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ๋™์‹œ์— ์›€์ง์ผ ๋•Œ, ๊ณต์œ  ๋ณ€์ˆ˜์™€ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ๋ฅผ ์จ์„œ ๊ฐ™์€ ๊ฑธ์Œ์œผ๋กœ ๊ฑท๊ฒŒ ํ•˜๊ฑฐ๋‚˜ ์ˆœ์„œ๋Œ€๋กœ ํ–‰๋™ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
when green flag clicked
set [ไฟกๅท v] to (0)
when I receive (้ฝๆญฅ่ตฐ)
set [ไฟกๅท v] to (1)
when green flag clicked
wait until <(ไฟกๅท) = (1)>
say (ๅผ€ๅง‹ๅ‰่ฟ›)

๋‹จ์ผ ์Šค๋ ˆ๋“œ ํ˜‘๋ ฅ

์Šคํฌ๋ฆฝํŠธ๋Š” ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜์ง€๋งŒ, ๊ฐ ์Šคํฌ๋ฆฝํŠธ ๋‚ด์—์„œ๋Š” ์—ฌ์ „ํžˆ ์ˆœ์„œ๋Œ€๋กœ ๋ธ”๋ก ๋‹จ์œ„๋กœ ์‹คํ–‰๋˜๋ฉฐ ๊ฐ™์€ ์ˆœ๊ฐ„์—๋Š” ๋ธ”๋ก ํ•˜๋‚˜๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ธด ๋ฐ˜๋ณต์€ ๊ฐ™์€ ์Šคํ”„๋ผ์ดํŠธ์˜ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฉˆ์ถ”๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
// ํ•œ ์Šคํฌ๋ฆฝํŠธ์˜ ๊ธด ๋ฃจํ”„๋Š” ๊ทธ ์Šคํ”„๋ผ์ดํŠธ์˜ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ง‰์Œ
//ใ€Œ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธใ€๋กœ ์ž‘์—…์„ ๋‹ค๋ฅธ ์ด๋ฒคํŠธ์— ๋‚˜๋ˆ”
repeat (100)
ๅคๆ‚่ฎก็ฎ—
end

15.๋„คํŠธ์›Œํฌ์™€ ํ™•์žฅ

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ , ํ™•์žฅ ๋ธ”๋ก์€ ๋ฒˆ์—ญ, ์ฝ์–ด์ฃผ๊ธฐ ๋“ฑ ์˜จ๋ผ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜ ๋„คํŠธ์›Œํฌ

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋Š” ์ˆซ์ž๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์„œ๋ฒ„์— ๋™๊ธฐํ™”ํ•˜์—ฌ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋ฏ€๋กœ, ์ˆœ์œ„ํ‘œ๋‚˜ ๊ฐ„๋‹จํ•œ ๋Œ€์ „์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
// ๋ณ€์ˆ˜ ๋งŒ๋“ค ๋•Œใ€Œํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜ใ€์ฒดํฌ๏ผˆ์ˆซ์ž๋งŒ๏ผ‰
when green flag clicked
if <(ๅˆ†ๆ•ฐ) > (ไบ‘_ๆœ€้ซ˜ๅˆ†)> then
set [ไบ‘_ๆœ€้ซ˜ๅˆ† v] to (ๅˆ†ๆ•ฐ)
end

๋ฒˆ์—ญ ํ™•์žฅ

ใ€Œ๋ฒˆ์—ญใ€ ํ™•์žฅ์€ ์˜จ๋ผ์ธ ๋ฒˆ์—ญ์„ ํ˜ธ์ถœํ•ด ํ…์ŠคํŠธ๋ฅผ ๋ชฉํ‘œ ์–ธ์–ด๋กœ ๋ฒˆ์—ญํ•˜๊ณ  ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
// ํ™•์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ > ๋ฒˆ์—ญ
say (translate (ไฝ ๅฅฝ) to (่‹ฑ่ฏญ v))
say (translate (Hello) to (ไธญๆ–‡ v))

ํ…์ŠคํŠธ ์Œ์„ฑ ๋ณ€ํ™˜

ใ€Œ์ฝ์–ด์ฃผ๊ธฐใ€ ํ™•์žฅ์€ ํ…์ŠคํŠธ๋ฅผ ์ฝ์–ด ์ฃผ๋ฉฐ, ์–ธ์–ด์™€ ์Œ์ƒ‰์„ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๊ณ , ์Œ์„ฑ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋ ค๋ฉด ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
// ํ™•์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ > ํ…์ŠคํŠธ ์ฝ์–ด์ฃผ๊ธฐ
speak (ๆฌข่ฟŽๆฅๅˆฐๆˆ‘็š„ๆธธๆˆ)
set voice to (Kitty v)

๋น„๋””์˜ค ๊ฐ์ง€

ใ€Œ๋น„๋””์˜ค ๊ฐ์ง€ใ€ ํ™•์žฅ์€ ์นด๋ฉ”๋ผ๋กœ ๋™์ž‘์„ ํฌ์ฐฉํ•ด ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์†์„ ํ”๋“ค์–ด ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ์กฐ์ข…ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ ์‚ฌ์šฉ ์‹œ ์นด๋ฉ”๋ผ ๊ถŒํ•œ์„ ํ—ˆ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
// ํ™•์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ > ๋น„๋””์˜ค ๊ฐ์ง€
when video motion > (50)
say (ๆœ‰ๅŠจไฝœ๏ผ)

์›น์‚ฌ์ดํŠธ์— ๊ณต์œ 

์šฐ์ธก ์ƒ๋‹จ์˜ '๊ณต์œ '๋ฅผ ํด๋ฆญํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ Scratch ๊ณต์‹ ์‚ฌ์ดํŠธ์— ๊ฒŒ์‹œํ•˜๋ฉด ๋ˆ„๊ตฌ๋‚˜ ์˜จ๋ผ์ธ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  ์ข‹์•„์š”๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๋Œ“๊ธ€์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
// ๋กœ๊ทธ์ธ โ†’ ์˜ค๋ฅธ์ชฝ ์œ„ใ€Œ๊ณต์œ ใ€ํด๋ฆญ
// ๊ณต๊ฐœ ํ›„ ๋งํฌ๋ฅผ ๋ณต์‚ฌํ•ด ์นœ๊ตฌ์—๊ฒŒ ๊ณต์œ 

๋ฆฌ๋ฏน์Šค

์›น์‚ฌ์ดํŠธ์—์„œ '๋ฆฌ๋ฏน์Šค'๋ฅผ ํด๋ฆญํ•ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณต์ œํ•˜๋ฉด ์ž์‹ ์˜ ๋ฒ„์ „์œผ๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ฏน์Šค์—๋Š” ์›์ž‘์ž์˜ ํฌ๋ ˆ๋”ง์ด ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

1
2
// ๋‚จ์˜ ํ”„๋กœ์ ํŠธ ์—ด๊ธฐ โ†’ใ€Œ๋ฆฌ๋ฏน์Šคใ€ํด๋ฆญ
// ๋ฆฌ๋ฏน์Šค ํ›„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŽธ์ง‘ํ•ด ๊ณต์œ ํ•˜๋ฉด ๋‚ด ์ž‘ํ’ˆ์ด ๋จ

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜ ์ œํ•œ

ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉ์— ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋‹น ๊ฐœ์ˆ˜๊ฐ€ ํ•œ์ •๋˜์–ด ์žˆ๊ณ , ๊ฐ’์€ ์ˆซ์ž๋งŒ ์ €์žฅ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋„ˆ๋ฌด ๊ธธ ์ˆ˜ ์—†์œผ๋ฉฐ, ์žฆ์€ ์—…๋ฐ์ดํŠธ๋Š” ์„œ๋ฒ„์— ์˜ํ•ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
// ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜ ์ œํ•œ ์žˆ์Œ
// ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜๋Š” ์ˆซ์ž๋งŒ ์ €์žฅ, ๋ฌธ์ž์—ด ๋ถˆ๊ฐ€
// ์žฆ์€ ๊ฐฑ์‹ ์€ ์„œ๋ฒ„์—์„œ ์ œํ•œ๋จ
// ํด๋ผ์šฐ๋“œ ๋ณ€์ˆ˜ ์‚ฌ์šฉ ์ „์—๋Š” ๋กœ๊ทธ์ธ ํ•„์š”

๋„คํŠธ์›Œํฌ ๋ณด์•ˆ๊ณผ ๊ฐœ์ธ์ •๋ณด

์˜จ๋ผ์ธ ํ”„๋กœ์ ํŠธ๋Š” ๋ˆ„๊ตฌ๋‚˜ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค. ์‹ค๋ช…, ์ฃผ์†Œ, ์ „ํ™”๋ฒˆํ˜ธ ๋“ฑ ๊ฐœ์ธ์ •๋ณด๋ฅผ ์ž‘ํ’ˆ์— ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”.

1
2
3
// ์ž‘ํ’ˆ ์•ˆ์—์„œ ์‹ค๋ช…์ด๋‚˜ ๊ฐœ์ธ์ •๋ณด๋ฅผ ๋“œ๋Ÿฌ๋‚ด์ง€ ์•Š์Œ
// ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ์ด ๋ณด๋‚ธ ์˜์‹ฌ์Šค๋Ÿฌ์šด ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œยท์‹คํ–‰ํ•˜์ง€ ์•Š์Œ
// ๊ฐ€๋ช…์„ ์จ์„œ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ

16.์‹œ๊ฐ„๊ณผ ํƒ€์ด๋ฐ

ํƒ€์ด๋จธ, ๊ธฐ๋‹ค๋ฆฌ๊ธฐ, ๊ทธ๋ฆฌ๊ณ  ์ผ์ˆ˜ ๋ธ”๋ก์„ ์‚ฌ์šฉํ•ด ์นด์šดํŠธ๋‹ค์šด, ์Šคํ†ฑ์›Œ์น˜, ์‹œ๊ฐ„ ์ œํ•œ ๋ ˆ๋ฒจ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

ํƒ€์ด๋จธ

'ํƒ€์ด๋จธ'๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์‹œ์ž‘ํ•œ ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์ดˆ ๋‹จ์œ„๋กœ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋ฉฐ, ์†Œ์ˆ˜์  ์ดํ•˜๊นŒ์ง€ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์Šคํ†ฑ์›Œ์น˜์™€ ์นด์šดํŠธ๋‹ค์šด์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

1
2
3
4
5
when green flag clicked
say (่ฎกๆ—ถๅ™จ)
forever
say (join (ๅทฒ็”จ๏ผš) (timer))
end

ํƒ€์ด๋จธ ์ดˆ๊ธฐํ™”

'ํƒ€์ด๋จธ ์ดˆ๊ธฐํ™”'๋Š” ํƒ€์ด๋จธ๋ฅผ 0์œผ๋กœ ๋˜๋Œ๋ ค ์ƒˆ๋กœ์šด ์‹œ๊ฐ„ ์ธก์ •์„ ์‹œ์ž‘ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
when green flag clicked
reset timer
wait (5) seconds
say (join (็”จๆ—ถ๏ผš) (timer))

์ผ์ˆ˜ ํƒ€์ด๋จธ

'2000๋…„ ์ดํ›„์˜ ์ผ์ˆ˜'๋Š” 2000-01-01๋ถ€ํ„ฐ ๊ฒฝ๊ณผํ•œ ์ผ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๋‚ ์งœ๋ฅผ ๋„˜๊ธฐ๋Š” ์ธก์ •์ด๋‚˜ ๋งˆ์ง€๋ง‰ ์—ด๋žŒ ์‹œ๊ฐ ๊ธฐ๋ก์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
say (days since 2000)
// ์†Œ์ˆ˜์  ์žˆ๋Š” ์ผ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜, ์˜ˆ๏ผš9678.5๋Š” ๋ฐ˜๋‚˜์ ˆ์„ ๋œปํ•จ

์ดˆ ๋‹จ์œ„ ๋Œ€๊ธฐ

'N์ดˆ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ'๋Š” ํ˜„์žฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ N์ดˆ ๋™์•ˆ ์ผ์‹œ ์ •์ง€ํ•˜๋ฉฐ, ๋ฆฌ๋“ฌ, ์ง€์—ฐ, ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ”„๋ ˆ์ž„ ์†๋„ ์กฐ์ ˆ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
when green flag clicked
say (3) for (1) seconds
say (2) for (1) seconds
say (1) for (1) seconds
say (่ตท้ฃž๏ผ)

์นด์šดํŠธ๋‹ค์šด

ํƒ€์ด๋จธ์™€ ๋นผ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ด ์นด์šดํŠธ๋‹ค์šด์„ ๋งŒ๋“ค๊ณ , 0์— ๋„๋‹ฌํ•˜๋ฉด ์ข…๋ฃŒ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
when green flag clicked
set [ๅ‰ฉไฝ™ v] to (30)
forever
set [ๅ‰ฉไฝ™ v] to ((30) - (timer))
if <(ๅ‰ฉไฝ™) < (0)> then
set [ๅ‰ฉไฝ™ v] to (0)
broadcast (ๆ—ถ้—ดๅˆฐ)
stop (this script)
end
end

์Šคํ†ฑ์›Œ์น˜

ํƒ€์ด๋จธ ๊ฐ’์˜ ์ฐจ์ด๋ฅผ ์‚ฌ์šฉํ•ด ํ•œ ๋™์ž‘์— ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋ฉฐ, ๋ฐ˜์‘ ์†๋„ ํ…Œ์ŠคํŠธ ๊ฒŒ์ž„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
when green flag clicked
wait until <key (็ฉบๆ ผ v) pressed?>
reset timer
wait until <key (็ฉบๆ ผ v) pressed?>
say (join (ไฝ ็š„ๅๅบ”๏ผš) (join (timer) ( ็ง’)))

์‹œ๊ฐ„ ์ œํ•œ ๋ ˆ๋ฒจ

์ •ํ•ด์ง„ ์‹œ๊ฐ„ ์•ˆ์— ์ž„๋ฌด๋ฅผ ์™„์ˆ˜ํ•ด์•ผ ํ•˜๋ฉฐ, ์‹œ๊ฐ„์ด ์ดˆ๊ณผ๋˜๋ฉด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ์นด์šดํŠธ๋‹ค์šด๊ณผ ์Šน๋ฆฌ ์กฐ๊ฑด์„ ๊ฒฐํ•ฉํ•˜์„ธ์š”.

1
2
3
4
5
6
7
8
9
10
11
when green flag clicked
set [ๅ€’่ฎกๆ—ถ v] to (10)
repeat until <(ๅ€’่ฎกๆ—ถ) < (1)>
wait (1) seconds
change [ๅ€’่ฎกๆ—ถ v] by (-1)
if <(้€šๅ…ณ) = (1)> then
say (่ฟ‡ๅ…ณ๏ผ)
stop (this script)
end
end
say (ๆ—ถ้—ดๅˆฐ๏ผ)

์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ์• ๋‹ˆ๋ฉ”์ด์…˜

ํƒ€์ด๋จธ๋ฅผ ์‚ฌ์šฉํ•ด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ํ”„๋ ˆ์ž„ ์†๋„๊ฐ€ ์•„๋‹Œ ์‹ค์ œ ์‹œ๊ฐ„์— ์—ฐ๋™์‹œํ‚ค๋ฉด, ์ปดํ“จํ„ฐ๋งˆ๋‹ค ๋™์ผํ•œ ์†๋„๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
forever
go to x: ((timer) * (100)) y: (0)
end
// ์บ๋ฆญํ„ฐ๊ฐ€ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋“ฑ์† ์ด๋™, ๊ธฐ๊ธฐ ์†๋„์— ์˜์กด ์•ˆ ํ•จ

17.์Šคํฌ๋ฆฝํŠธ ์ƒ๋ช…์ฃผ๊ธฐ

์Šคํฌ๋ฆฝํŠธ๋Š” Scratch์˜ ์ตœ์†Œ ์‹คํ–‰ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ์‹œ์ž‘, ์‹คํ–‰, ์ •์ง€๋ฅผ ์ดํ•ดํ•˜๋ฉด ํ”„๋กœ์ ํŠธ ์ „์ฒด ํ๋ฆ„์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฝํŠธ๋Š” ์ ˆ์ฐจ

์ด๋ฒคํŠธ ๋ธ”๋ก์œผ๋กœ ์‹œ์ž‘ํ•ด ๋๊นŒ์ง€ ์ด์–ด์ง€๋Š” ํ•œ ์Šคํฌ๋ฆฝํŠธ๋Š” ํ•˜๋‚˜์˜ ์ž‘์€ ์ ˆ์ฐจ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ชจ์—ฌ ์™„์ „ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

1
2
3
when green flag clicked // ์‹œ์ž‘์ 
say (็ฌฌไธ€ๆญฅ)
say (็ฌฌไบŒๆญฅ) // ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰

์ดˆ๋ก์ƒ‰ ๊นƒ๋ฐœ๋กœ ์‹œ์ž‘

์ดˆ๋ก์ƒ‰ ๊นƒ๋ฐœ์€ ํ‘œ์ค€ ์‹œ์ž‘ ์ง„์ž…์ ์ž…๋‹ˆ๋‹ค. ํด๋ฆญํ•˜๋ฉด '์ดˆ๋ก์ƒ‰ ๊นƒ๋ฐœ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ' ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ชจ๋‘ ๋™์‹œ์— ์‹œ์ž‘๋˜๋ฉฐ, ์ด๋Š” ์ฃผ ํ”„๋กœ๊ทธ๋žจ์˜ ์ง„์ž…์  ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
when green flag clicked
ๅˆๅง‹ๅŒ–ๆ‰€ๆœ‰ๅ˜้‡
ๆ˜พ็คบๅผ€ๅง‹็•Œ้ข

์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ

์ด๋ฒคํŠธ ๋ธ”๋ก์€ ์Šคํฌ๋ฆฝํŠธ์˜ '๋จธ๋ฆฌ'์ด๋ฉฐ, ํ•ด๋‹น ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด์ด ์—†์œผ๋ฉด ์Šคํฌ๋ฆฝํŠธ๋Š” ์Šค์Šค๋กœ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
when key (็ฉบๆ ผ v) pressed
่ทณ่ทƒ
when this sprite clicked
ๆ‰“ๆ‹›ๅ‘ผ
when I receive (่ฟ‡ๅ…ณ)
next backdrop

์›์ž์  ์‹คํ–‰ ์ ˆ์ฐจ

์‚ฌ์šฉ์ž ์ •์˜ ๋ธ”๋ก์—์„œ 'ํ™”๋ฉด ์ƒˆ๋กœ ๊ณ ์นจ ์—†์ด ์‹คํ–‰'์„ ์„ ํƒํ•˜๋ฉด ๋ธ”๋ก ์ „์ฒด๊ฐ€ ํ•œ ๋ฒˆ์— ์‹คํ–‰๋˜๋ฉฐ ๋„์ค‘์— ํ™”๋ฉด์ด ๋‹ค์‹œ ๊ทธ๋ ค์ง€์ง€ ์•Š์•„, ๋น ๋ฅธ ์ผ๊ด„ ๊ณ„์‚ฐ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1
2
3
define ๅคง้‡่ฎก็ฎ—
//ใ€Œํ™”๋ฉด ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด ์‹คํ–‰ใ€์ฒดํฌ
// ํ•œ ํ”„๋ ˆ์ž„ ์•ˆ์— ์™„๋ฃŒ, ๋ธ”๋ก๋งˆ๋‹ค ๊ทธ๋ฆฌ์ง€ ์•Š์Œ

๋ณ‘๋ ฌ ์ƒ๋ช…์ฃผ๊ธฐ

๊ฐ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‹œ์ž‘๋˜๊ณ  ์ •์ง€๋ฉ๋‹ˆ๋‹ค. ๋ฉˆ์ถ”๊ธฐ ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜๋ฉด '๋ชจ๋‘ ๋ฉˆ์ถ”๊ธฐ', '์ด ์Šคํฌ๋ฆฝํŠธ ๋ฉˆ์ถ”๊ธฐ', '์ด ์Šคํ”„๋ผ์ดํŠธ์˜ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ ๋ฉˆ์ถ”๊ธฐ'๋ฅผ ์ •ํ™•ํžˆ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
when green flag clicked
ไธปๅพช็Žฏ
when I receive (ๆš‚ๅœ)
stop (other scripts in sprite)
when I receive (็ปง็ปญ)
ไธปๅพช็Žฏ

๋ฉˆ์ถ”๊ธฐ์˜ ์ ์šฉ ๋ฒ”์œ„

'์ด ์Šคํฌ๋ฆฝํŠธ ๋ฉˆ์ถ”๊ธฐ'๋Š” ํ˜„์žฌ ์Šคํฌ๋ฆฝํŠธ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ , '์ด ์Šคํ”„๋ผ์ดํŠธ์˜ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ ๋ฉˆ์ถ”๊ธฐ'๋Š” ๊ฐ™์€ ์Šคํ”„๋ผ์ดํŠธ์˜ ๋‚˜๋จธ์ง€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฉˆ์ถ”๊ฒŒ ํ•˜๋ฉฐ, '๋ชจ๋‘ ๋ฉˆ์ถ”๊ธฐ'๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

1
2
3
stop (this script)
stop (other scripts in sprite)
stop (all)

์ƒํƒœ ๋จธ์‹  ์ ˆ์ฐจ

๋ณ€์ˆ˜๋กœ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๊ธฐ๋กํ•ด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ƒํƒœ ์‚ฌ์ด๋ฅผ ์ „ํ™˜ํ•˜๋„๋ก ํ•˜๋ฉด, ๋ฉ”๋‰ด, ๊ฒŒ์ž„, ์ข…๋ฃŒ ๊ฐ™์€ ์žฅ๋ฉด ํ๋ฆ„์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
if <(ๅœบๆ™ฏ) = (่œๅ•)> then
switch backdrop to (่œๅ•่ƒŒๆ™ฏ)
else
if <(ๅœบๆ™ฏ) = (ๆธธๆˆไธญ)> then
switch backdrop to (ๆธธๆˆ่ƒŒๆ™ฏ)
end
end

ํ”„๋กœ์ ํŠธ ์ƒ๋ช…์ฃผ๊ธฐ

ํ”„๋กœ์ ํŠธ๋Š” ๋ฆฌ์†Œ์Šค ๋กœ๋“œ, ์ดˆ๋ก์ƒ‰ ๊นƒ๋ฐœ ํด๋ฆญ์œผ๋กœ ์‹œ์ž‘, ๋ฉˆ์ถ”๊ธฐ ๋ฒ„ํŠผ์œผ๋กœ ์ข…๋ฃŒ, ์ €์žฅ ๋ฐ ๊ณต์œ ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ์™„์ „ํ•œ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
// ๋กœ๋“œ๏ผš๋ชจ์–‘, ์†Œ๋ฆฌ, ๋ณ€์ˆ˜ ์ฝ๊ธฐ
// ์‹œ์ž‘๏ผš์ดˆ๋ก ๊นƒ๋ฐœ ํด๋ฆญ, ๊ฐ ์Šคํฌ๋ฆฝํŠธ ์‹œ์ž‘
// ์‹คํ–‰๏ผš์ด๋ฒคํŠธ์™€ ๋ฃจํ”„๊ฐ€ ๊ณ„์† ์‹คํ–‰
// ์ค‘์ง€๏ผš๋นจ๊ฐ„ ์› ๋ฒ„ํŠผ์œผ๋กœ ๋ชจ๋‘ ์ค‘์ง€
// ์ €์žฅ๏ผš์ž๋™ ์ €์žฅ ๋˜๋Š” ์ˆ˜๋™์œผ๋กœ .sb3 ๋‹ค์šด๋กœ๋“œ

18.ํ…์ŠคํŠธ ํŒจํ„ด ๋งค์นญ

Scratch์—๋Š” ์ •๊ทœ ํ‘œํ˜„์‹์ด ์—†์œผ๋ฏ€๋กœ, ํฌํ•จ ์—ฌ๋ถ€, ๋ฌธ์ž ํŒ๋‹จ, ๋ฆฌ์ŠคํŠธ ๋ถ„ํ• ์„ ์‚ฌ์šฉํ•ด ๊ฐ„๋‹จํ•œ ๋งค์นญ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ •๊ทœ ํ‘œํ˜„์‹ ์—†์Œ

Scratch์—๋Š” ์ •๊ทœ ํ‘œํ˜„์‹ ๋ธ”๋ก์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ํ…์ŠคํŠธ ๋งค์นญ์€ ์—ฐ์‚ฐ ๋ธ”๋ก์œผ๋กœ ์ง์ ‘ ํ‰๋‚ด ๋‚ด๊ฑฐ๋‚˜ ํ™•์žฅ์— ๋งก๊ฒจ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1
2
// Scratch์—๋Š” ์ •๊ทœ์‹์ด ์—†์Œ
//ใ€Œํฌํ•จใ€ใ€ŒN๋ฒˆ์งธ ๋ฌธ์žใ€๋“ฑ์˜ ๋ธ”๋ก์œผ๋กœ ์ง์ ‘ ๊ตฌํ˜„

ํฌํ•จ ๋งค์นญ

'ํฌํ•จ ์—ฌ๋ถ€'๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ๋งค์นญ์œผ๋กœ, ํ…์ŠคํŠธ ์•ˆ์— ํŠน์ • ๋‹จ์–ด๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.

1
2
3
if <(ๅฐ่ฏ) contains (ๅฑ้™ฉ)> then
say (ๅ‡บ็Žฐๅฑ้™ฉ่ฏ๏ผ)
end

์‹œ์ž‘ ๋ฌธ์ž ํŒ๋‹จ

์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ๊ฐ€์ ธ์™€ ํŠน์ • ๊ธ€์ž๋กœ ์‹œ์ž‘ํ•˜๋Š”์ง€ ํŒ๋‹จํ•ด ์ ‘๋‘์‚ฌ๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

1
2
3
if <(letter (1) of (ๅ‘ฝไปค)) = (่ทณ)> then
say (ๆ‰ง่กŒ่ทณ่ทƒๆŒ‡ไปค)
end

๋ ๋ฌธ์ž ํŒ๋‹จ

๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋ฅผ ๊ฐ€์ ธ์™€ ๋์„ ํŒ๋‹จํ•ด ์ ‘๋ฏธ์‚ฌ๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์œ„์น˜์˜ ๋ฒˆํ˜ธ๋Š” ๊ณง ๋ฌธ์ž์—ด์˜ ๊ธธ์ด์ž…๋‹ˆ๋‹ค.

1
2
3
if <(letter (length of (ๅ‘ฝไปค)) of (ๅ‘ฝไปค)) = (๏ผ)> then
say (่ฏญๆฐ”ๅผบ็ƒˆ)
end

๋ฌธ์ž ์ข…๋ฅ˜

ํ•œ ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ์ง€ ์•ŒํŒŒ๋ฒณ์ธ์ง€๋ฅผ ํŒ๋‹จํ•˜๋ ค๋ฉด, ๋จผ์ € ์ˆซ์ž ํ‘œ๋ฅผ ๋งŒ๋“  ๋’ค 'ํฌํ•จ ์—ฌ๋ถ€'๋กœ ์กฐํšŒํ•ด ๋ณด์„ธ์š”.

1
2
3
4
// ๆ•ฐๅญ—่กจ = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
if <[ๆ•ฐๅญ—่กจ v] contains (letter (i) of (ๆ–‡ๆœฌ))> then
say (่ฟ™ๆ˜ฏๆ•ฐๅญ—)
end

ํŒจํ„ด ์ฐพ๊ธฐ

๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด ํ…์ŠคํŠธ๋ฅผ ํ•œ ๊ธ€์ž์”ฉ ํ›‘์œผ๋ฉฐ ์กฐ๊ฑด์— ๋งž๋Š” ์กฐ๊ฐ์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ์—ฐ์†๋œ ์ˆซ์ž๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋ฐ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
set [i v] to (1)
repeat (length of (ๆ–‡ๆœฌ))
if <[ๆ•ฐๅญ—่กจ v] contains (letter (i) of (ๆ–‡ๆœฌ))> then
say (join (ๆ‰พๅˆฐๆ•ฐๅญ—) (letter (i) of (ๆ–‡ๆœฌ)))
end
change [i v] by (1)
end

๋ถ„ํ•  ํŒŒ์‹ฑ

๊ตฌ๋ถ„์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ…์ŠคํŠธ๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ๋‚˜๋ˆˆ ๋’ค ํ•œ ํ•ญ๋ชฉ์”ฉ ์ฒ˜๋ฆฌํ•ด ๊ฐ„๋‹จํ•œ ํŒŒ์‹ฑ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
set [i v] to (1)
repeat (length of (ๆ–‡ๆœฌ))
if <(letter (i) of (ๆ–‡ๆœฌ)) = (๏ผŒ)> then
add (ๅฝ“ๅ‰ๆฎต) to [ๆฎต่ฝ v]
set [ๅฝ“ๅ‰ๆฎต v] to ()
else
set [ๅฝ“ๅ‰ๆฎต v] to (join (ๅฝ“ๅ‰ๆฎต) (letter (i) of (ๆ–‡ๆœฌ)))
end
change [i v] by (1)
end
add (ๅฝ“ๅ‰ๆฎต) to [ๆฎต่ฝ v]

์™€์ผ๋“œ์นด๋“œ ํ‰๋‚ด

'ํฌํ•จ ์—ฌ๋ถ€'์™€ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ์กฐํ•ฉํ•ด ์™€์ผ๋“œ์นด๋“œ๋ฅผ ํ‰๋‚ด ๋ƒ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ…์ŠคํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ํ‚ค์›Œ๋“œ ์ค‘ ํ•˜๋‚˜์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
if <<(ๆ–‡ๆœฌ) contains (ๅผ€ๅง‹)> or <(ๆ–‡ๆœฌ) contains (็ป“ๆŸ)>> then
say (ๅŒน้…ๅˆฐๅ…ณ้”ฎ่ฏ)
end

19.์ €์žฅ, ๊ฒŒ์‹œ์™€ ๋””๋ฒ„๊น…

ํ”„๋กœ์ ํŠธ ์ €์žฅ, ๋‚ด๋ณด๋‚ด๊ธฐ, ๊ณต์œ ์™€ ๋””๋ฒ„๊น… ์š”๋ น์œผ๋กœ ์ž‘ํ’ˆ์„ ๋” ๋งค๋„๋Ÿฝ๊ณ  ์žฌ๋ฏธ์žˆ๊ฒŒ ๋งŒ๋“œ์„ธ์š”.

ํ”„๋กœ์ ํŠธ ์ €์žฅ

๋กœ๊ทธ์ธ ์ƒํƒœ์—์„œ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ํด๋ผ์šฐ๋“œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. 'ํŒŒ์ผ' ๋ฉ”๋‰ด์—์„œ ์ˆ˜๋™์œผ๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ปดํ“จํ„ฐ์— ๋‚ด๋ ค๋ฐ›์•„ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
// ๋กœ๊ทธ์ธํ•˜๋ฉด ํด๋ผ์šฐ๋“œ์— ์ž๋™ ์ €์žฅ
// ํŒŒ์ผ > ์ปดํ“จํ„ฐ์— ์ €์žฅํ•ด์„œ .sb3 ๋ฐฑ์—…
when green flag clicked
say (ๆ”พๅฟƒ๏ผŒๅทฒ็ป่‡ชๅŠจไฟๅญ˜ไบ†)

.sb3 ํŒŒ์ผ ํ˜•์‹

ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์˜ ํ™•์žฅ์ž๋Š” .sb3์ด๋ฉฐ, ๋‚ด๋ถ€์— project.json๊ณผ ๋ชจ์–‘, ์†Œ๋ฆฌ ๋“ฑ์˜ ์ž์›์„ ๋‹ด์€ ์••์ถ• ํŒŒ์ผ์ด๋ผ ์˜คํ”„๋ผ์ธ์—์„œ๋„ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
// .sb3๋Š” zip ์••์ถ• ํŒจํ‚ค์ง€
// ์•ˆ์— project.json๊ณผ ์†Œ์žฌ ํŒŒ์ผ์ด ๋“ค์–ด์žˆ์Œ
// .sb3๋ฅผ ๋”๋ธ”ํด๋ฆญํ•˜๋ฉด ์˜คํ”„๋ผ์ธ์œผ๋กœ ์—ด ์ˆ˜ ์žˆ์Œ

๊ณต์œ ์™€ ๊ฒŒ์‹œ

์šฐ์ธก ์ƒ๋‹จ์˜ '๊ณต์œ '๋ฅผ ํด๋ฆญํ•ด ์ž‘ํ’ˆ์„ ๊ฒŒ์‹œํ•˜๊ณ , ์ œ๋ชฉ, ์„ค๋ช…, ํƒœ๊ทธ๋ฅผ ์„ค์ •ํ•ด ๋” ๋งŽ์€ ์‚ฌ๋žŒ์ด ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์„ธ์š”.

1
2
3
// ์žฌ๋ฏธ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ์ œ๋ชฉ์„ ๋ถ™์ž„
// ํ”Œ๋ ˆ์ด ๋ฐฉ๋ฒ•์„ ๋ช…ํ™•ํžˆ ์“ฐ๊ณ  ์•Œ๋งž์€ ํƒœ๊ทธ ์ถ”๊ฐ€
//ใ€Œ๊ณต์œ ใ€๋ฅผ ๋ˆŒ๋Ÿฌ ๊ณต๊ฐœํ•˜๊ณ  ๋งํฌ๋ฅผ ์นœ๊ตฌ์—๊ฒŒ ๋ณด๋ƒ„

๋ฆฌ๋ฏน์Šค๋กœ ์žฌ์ฐฝ์ž‘

์›น์‚ฌ์ดํŠธ์—์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฆฌ๋ฏน์Šคํ•ด ํ•™์Šต์˜ ์ถœ๋ฐœ์ ์œผ๋กœ ์‚ผ๊ณ , ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๋ ˆ๋ฒจ์„ ๋”ํ•ด ์ž์‹ ๋งŒ์˜ ๋ฒ„์ „์„ ๊ฒŒ์‹œํ•˜์„ธ์š”.

1
2
3
// ํ”„๋กœ์ ํŠธ ์—ด๊ธฐ โ†’ใ€Œ๋ฆฌ๋ฏน์Šคใ€ํด๋ฆญ
// ์Šคํฌ๋ฆฝํŠธ์™€ ๋ชจ์–‘์„ ์ˆ˜์ •ํ•ด ๊ณต์œ 
// ์›์ž‘์ž ์ด๋ฆ„์„ ๋‚จ๊ธฐ๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ทœ์น™ ์ค€์ˆ˜

๋””๋ฒ„๊น… ๋„๊ตฌ

๋ณ€์ˆ˜ ๋ชจ๋‹ˆํ„ฐ, ๋งํ•˜๊ธฐ ๋ธ”๋ก, ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ๋Š˜๋ฆฌ๊ธฐ ๊ฐ™์€ ์š”๋ น์œผ๋กœ ๋ฌธ์ œ๋ฅผ ์ฐพ๊ณ , ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•œ ๋‹จ๋ฝ์”ฉ ๊ฒ€์ฆํ•˜์„ธ์š”.

1
2
3
// ์˜์‹ฌ์Šค๋Ÿฌ์šด ๋ณ€์ˆ˜๋ฅผ ๊ฐ์‹œํ•ด ์‹ค์‹œ๊ฐ„ ๊ฐ’ ํ™•์ธ
// ์ž„์‹œ๋กœ say๋ฅผ ์ถ”๊ฐ€ํ•ด ์ค‘๊ฐ„ ๊ฒฐ๊ณผ ์ถœ๋ ฅ
// wait๋ฅผ ๋„ฃ์–ด ๊ฐ ๋‹จ๊ณ„๋ฅผ ์ฒœ์ฒœํžˆ ๊ด€์ฐฐ

๋ฐฑ์—…๊ณผ ๋ฒ„์ „

.sb3 ํŒŒ์ผ์„ ์ปดํ“จํ„ฐ์— ๋‚ด๋ ค๋ฐ›์•„ ๋ฐฑ์—…ํ•˜๊ณ , ์ด๋ฆ„์„ ๋ฐ”๊ฟ” ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ์ €์žฅํ•ด ๋‘๋ฉด ์ž˜๋ชป ๊ณ ์ณ๋„ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
// ์ค‘์š”ํ•œ ์ž‘ํ’ˆ์€ ์ •๊ธฐ์ ์œผ๋กœ .sb3 ๋‹ค์šด๋กœ๋“œํ•ด ๋ฐฑ์—…
//ใ€Œ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์ €์žฅใ€์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฒ„์ „ ๋ณด๊ด€

๊ฒŒ์‹œ ์ „ ์ ๊ฒ€

๊ฒŒ์‹œ ์ „์—๋Š” ์ดˆ๋ก์ƒ‰ ๊นƒ๋ฐœ, ํ‚ค ์ž…๋ ฅ, ํด๋ฆญ, ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋“ฑ ๋ชจ๋“  ์ง„์ž… ๊ฒฝ๋กœ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ , ๋ฌดํ•œ ๋ฃจํ”„๋‚˜ ๋ฒ”์œ„ ์˜ค๋ฅ˜, ํ™”๋ฉด ๋Š๊น€์ด ์—†๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

1
2
3
// ํ…Œ์ŠคํŠธ๏ผš์ดˆ๋ก ๊นƒ๋ฐœ, ์ŠคํŽ˜์ด์Šค, ์Šคํ”„๋ผ์ดํŠธ ํด๋ฆญ, ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ˆ˜์‹ 
// ํ™•์ธ๏ผš๋ฃจํ”„๊ฐ€ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š”์ง€, ๋ฆฌ์ŠคํŠธ ๋ฒ”์œ„ ๋ฐ–์ด ์•„๋‹Œ์ง€
// ํ™•์ธ๏ผšํด๋ก ์ด ์ƒํ•œ์„ ๋„˜์ง€ ์•Š๋Š”์ง€, ํ™”๋ฉด์ด ๋ถ€๋“œ๋Ÿฌ์šด์ง€

์ง€์†์  ํ•™์Šต

๊ณต์‹ ํŠœํ† ๋ฆฌ์–ผ, Scratch Wiki, ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•์„ ์ตํ˜€ ์ž‘ํ’ˆ์„ ๊ณ„์† ๊ฐœ์„ ํ•ด ๋‚˜๊ฐ€์„ธ์š”.

1
2
3
// ๊ณต์‹ ํŠœํ† ๋ฆฌ์–ผ๏ผšscratch.mit.edu์˜ใ€Œๅˆ›ๆ„ไธŽๅญฆไน ใ€
// Scratch Wiki๏ผšen.scratch-wiki.info
// ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ข‹์€ ์ž‘ํ’ˆ์„ ๋งŽ์ด ์ฆ๊ธฐ๋ฉฐ ๋ฐฐ์šฐ๊ธฐ

๊ณต์‹ ๋งํฌ

๊ณต์‹ ๋ฌธ์„œ์™€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ง์ ‘ ๋งํฌ.

๋ฒ„์ „ 2.1.1