Your First Project ko - Akiaaaa20/Bit8_CLI GitHub Wiki

์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ

English | ็น้ซ”ไธญๆ–‡ | ๆ—ฅๆœฌ่ชž | ํ•œ๊ตญ์–ด

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ์ตœ์†Œ ๊ตฌ์„ฑ์˜ BIT8_CLI ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์ฒซ ๋ฒˆ์งธ .b8 ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— BIT8_CLI๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

bit8 --version

์•„์ง ์„ค์น˜ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์„ค์น˜ ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ

์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

mkdir my-bit8-game
cd my-bit8-game

๋‹ค์Œ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

main.b8

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

my-bit8-game/
โ””โ”€โ”€ main.b8

์ฒซ ๋ฒˆ์งธ ํ”„๋กœ๊ทธ๋žจ

main.b8์„ ์—ด๊ณ  ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

func init()
end

func update()
end

func draw()
    cls(0)
    pix(32, 32, 7)
end

BIT8_CLI์—์„œ๋Š” Lua์˜ function์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ˜•ํƒœ๋กœ func๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ๊ทธ๋žจ์€ ํ™”๋ฉด์„ ์ง€์šฐ๊ณ  64ร—64 framebuffer์˜ ์ค‘์•™ ๋ถ€๊ทผ์— ํ•˜๋‚˜์˜ ํ”ฝ์…€์„ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์‹คํ–‰

ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

bit8 run .

BIT8_CLI๊ฐ€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ๊ฒŒ์ž„ ์ฐฝ์„ ์—ฝ๋‹ˆ๋‹ค.

์ž‘์€ ํ”ฝ์…€ ํ•˜๋‚˜๊ฐ€ ๋ณด์ด๋ฉด ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๊ฐ€ ์‚ด์•„๋‚ฌ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘พ

๊ฒŒ์ž„ ๋ผ์ดํ”„์‚ฌ์ดํด

๊ธฐ๋ณธ์ ์ธ BIT8_CLI ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์„ธ ๊ฐ€์ง€ ๋ผ์ดํ”„์‚ฌ์ดํด ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

func init()
end

func update()
end

func draw()
end

init()

๊ฒŒ์ž„์ด ์‹œ์ž‘๋  ๋•Œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

๊ฒŒ์ž„ ์ƒํƒœ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

update()

๊ณ ์ • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์—…๋ฐ์ดํŠธ์—์„œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

BIT8_CLI์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์€ 30 Hz๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

์ด๋™, ์ž…๋ ฅ, ๊ฒŒ์ž„ ๋กœ์ง, ํƒ€์ด๋จธ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋“ฑ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

draw()

ํ˜„์žฌ ๊ฒŒ์ž„ ์ƒํƒœ๋ฅผ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.

cls()์™€ pix() ๊ฐ™์€ ๊ทธ๋ฆฌ๊ธฐ ํ•จ์ˆ˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฌ๊ธฐ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋™ ์ถ”๊ฐ€ํ•˜๊ธฐ

์ด์ œ ํ”ฝ์…€์„ ์›€์ง์—ฌ ๋ด…์‹œ๋‹ค.

main.b8์„ ๋‹ค์Œ ์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

x = 32
y = 32

func update()
    if btn(LEFT) then
        x = x - 1
    end

    if btn(RIGHT) then
        x = x + 1
    end

    if btn(UP) then
        y = y - 1
    end

    if btn(DOWN) then
        y = y + 1
    end
end

func draw()
    cls(0)
    pix(x, y, 7)
end

๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

bit8 run .

์ด์ œ ๋ฐฉํ–ฅ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•ด framebuffer ์œ„์˜ ํ”ฝ์…€์„ ์›€์ง์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

64ร—64 ํ™”๋ฉด

BIT8_CLI๋Š” ๊ณ ์ •๋œ

64 ร— 64

๊ฒŒ์ž„ framebuffer๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ์ฐฝ์ด ๋” ํฌ๊ฒŒ ํ‘œ์‹œ๋˜๋”๋ผ๋„ ๊ฒŒ์ž„ ์ขŒํ‘œ๋Š” ์ด ๋…ผ๋ฆฌ ํ•ด์ƒ๋„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด:

pix(0, 0, 7)

์€ ์™ผ์ชฝ ์œ„์— ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค.

pix(32, 32, 7)

์€ ํ™”๋ฉด ์ค‘์•™ ๋ถ€๊ทผ์— ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„

์ด์ œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ BIT8_CLI ํ”„๋กœ์ ํŠธ๊ฐ€ ์™„์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํŽ˜์ด์ง€:

์–ธ์–ด ๊ธฐ์ดˆ

๊ทธ๋‹ค์Œ์—๋Š” ๋‹ค์Œ ํ•ญ๋ชฉ๋„ ์‚ดํŽด๋ณด์„ธ์š”.

ํ”ฝ์…€ ํ•˜๋‚˜์˜ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ์ธ์ƒ์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘พ