Skip to content

Language Basics ja

Shiraishi_AKi edited this page Oct 6, 2026 · 1 revision

่จ€่ชžใฎๅŸบ็คŽ

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

BIT8_CLI ใฏใ‚ฒใƒผใƒ ใ‚นใ‚ฏใƒชใƒ—ใƒˆใซ Lua 5.4 ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

ใ‚ฒใƒผใƒ ใ‚นใ‚ฏใƒชใƒ—ใƒˆใซใฏ้€šๅธธ .b8 ๆ‹กๅผตๅญใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚BIT8_CLI ใฏ Lua ใฎ function ใฎไปฃใ‚ใ‚Šใซ func ใ‚’ไฝฟ็”จใ™ใ‚‹ใชใฉใ€ไพฟๅˆฉใช่จ˜ๆณ•ใซใ‚‚ๅฏพๅฟœใ—ใฆใ„ใพใ™ใ€‚

ใ“ใฎใ‚ฌใ‚คใƒ‰ใงใฏใ€็ฐกๅ˜ใชใ‚ฒใƒผใƒ ใ‚’ไฝœๆˆใ™ใ‚‹ใŸใ‚ใซๅฟ…่ฆใช่จ€่ชžๆฉŸ่ƒฝใ‚’็ดนไป‹ใ—ใพใ™ใ€‚

ๆœ€ๅˆใฎใ‚นใ‚ฏใƒชใƒ—ใƒˆ

main.b8 ใ‚’ไฝœๆˆใ—ใพใ™ใ€‚

func init()
    x = 32
    y = 32
end

func update()
end

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

ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚

bit8 run .

็”ป้ขไธญๅคฎไป˜่ฟ‘ใซ 1 ใƒ”ใ‚ฏใ‚ปใƒซใŒๆ็”ปใ•ใ‚Œใพใ™ใ€‚

้–ขๆ•ฐ

Lua ใงใฏ้€šๅธธ function ใ‚ญใƒผใƒฏใƒผใƒ‰ใ‚’ไฝฟ็”จใ—ใฆ้–ขๆ•ฐใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚

BIT8_CLI ใงใฏ func ใ‚‚ไฝฟ็”จใงใใพใ™ใ€‚

func greet()
    print("Hello, BIT8_CLI!")
end

ใ“ใ‚Œใฏๆฌกใฎ Lua ใ‚ณใƒผใƒ‰ใจๅŒใ˜ๆ„ๅ‘ณใงใ™ใ€‚

function greet()
    print("Hello, BIT8_CLI!")
end

ใฉใกใ‚‰ใฎ่จ˜ๆณ•ใ‚‚ BIT8_CLI ใ‚นใ‚ฏใƒชใƒ—ใƒˆใงไฝฟ็”จใงใใพใ™ใ€‚

้–ขๆ•ฐใฏๅผ•ๆ•ฐใ‚’ๅ—ใ‘ๅ–ใ‚Šใ€ๅ€คใ‚’่ฟ”ใ™ใ“ใจใŒใงใใพใ™ใ€‚

func add(a, b)
    return a + b
end

result = add(5, 3)

ๅค‰ๆ•ฐ

Lua ใฎๅค‰ๆ•ฐใซใฏๆ˜Ž็คบ็š„ใชๅž‹ๅฎฃ่จ€ใŒๅฟ…่ฆใ‚ใ‚Šใพใ›ใ‚“ใ€‚

x = 10
speed = 2
name = "Player"
alive = true

ใƒญใƒผใ‚ซใƒซๅค‰ๆ•ฐใซใฏ local ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

local score = 0

Lua ใฏๆ•ฐๅ€คใ€ๆ–‡ๅญ—ๅˆ—ใ€็œŸๅฝๅ€คใ€ใƒ†ใƒผใƒ–ใƒซใ€้–ขๆ•ฐใชใฉใฎใƒ‡ใƒผใ‚ฟๅž‹ใซๅฏพๅฟœใ—ใฆใ„ใพใ™ใ€‚

ๆกไปถๅˆ†ๅฒ

ifใ€elseifใ€else ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

health = 5

if health <= 0 then
    print("Game Over")
elseif health < 3 then
    print("Low Health")
else
    print("Ready")
end

Lua ใงใฏๆกไปถใฎๅพŒใซ then ใ‚’่จ˜่ฟฐใ—ใ€end ใงใƒ–ใƒญใƒƒใ‚ฏใ‚’้–‰ใ˜ใพใ™ใ€‚

ใƒซใƒผใƒ—

ๆ•ฐๅ€ค for ใƒซใƒผใƒ—๏ผš

for i = 1, 5 do
    print(i)
end

while ใƒซใƒผใƒ—๏ผš

local count = 0

while count < 5 do
    count = count + 1
end

ใƒ†ใƒผใƒ–ใƒซ

Lua ใฎใƒ†ใƒผใƒ–ใƒซใซใฏ่ค‡ๆ•ฐใฎๅ€คใ‚’ๆ ผ็ดใงใใพใ™ใ€‚

player = {
    x = 32,
    y = 32,
    health = 10
}

ใƒ•ใ‚ฃใƒผใƒซใƒ‰ใซใฏๆฌกใฎใ‚ˆใ†ใซใ‚ขใ‚ฏใ‚ปใ‚นใงใใพใ™ใ€‚

player.x = player.x + 1

ใƒ†ใƒผใƒ–ใƒซใฏใ‚ฒใƒผใƒ ใƒ‡ใƒผใ‚ฟใฎๆ•ด็†ใซใ‚ˆใไฝฟ็”จใ•ใ‚Œใพใ™ใ€‚

ใ‚ฒใƒผใƒ ใฎใƒฉใ‚คใƒ•ใ‚ตใ‚คใ‚ฏใƒซ

ๅŸบๆœฌ็š„ใช BIT8_CLI ใ‚ฒใƒผใƒ ใงใฏใ€3 ใคใฎใƒฉใ‚คใƒ•ใ‚ตใ‚คใ‚ฏใƒซ้–ขๆ•ฐใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

func init()
end

func update()
end

func draw()
end

init()

ใ‚ฒใƒผใƒ ใฎๅˆๆœŸๅŒ–ๆ™‚ใซๅฎŸ่กŒใ•ใ‚Œใพใ™ใ€‚

ๅˆๆœŸๅ€คใฎ่จญๅฎšใซไฝฟ็”จใ—ใพใ™ใ€‚

update()

ใ‚ทใƒŸใƒฅใƒฌใƒผใ‚ทใƒงใƒณๆ›ดๆ–ฐๆ™‚ใซๅฎŸ่กŒใ•ใ‚Œใพใ™ใ€‚

BIT8_CLI ใฏๅ›บๅฎš 30 Hz ใฎใ‚ทใƒŸใƒฅใƒฌใƒผใ‚ทใƒงใƒณใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

็งปๅ‹•ใ€ๅ…ฅๅŠ›ใ€ใ‚ฒใƒผใƒ ใƒญใ‚ธใƒƒใ‚ฏใชใฉใ‚’ๅ‡ฆ็†ใ—ใพใ™ใ€‚

draw()

็พๅœจใฎใ‚ฒใƒผใƒ ็Šถๆ…‹ใ‚’ๆ็”ปใ—ใพใ™ใ€‚

ๆ็”ปใ‚ณใƒžใƒณใƒ‰ใฏ้€šๅธธใ“ใ“ใซ่จ˜่ฟฐใ—ใพใ™ใ€‚

ๆ็”ป

็”ป้ขใ‚’ใ‚ฏใƒชใ‚ขใ—ใพใ™ใ€‚

cls(0)

ใƒ”ใ‚ฏใ‚ปใƒซใ‚’ๆ็”ปใ—ใพใ™ใ€‚

pix(32, 32, 7)

ๅก—ใ‚Šใคใถใ•ใ‚ŒใŸ็Ÿฉๅฝขใ‚’ๆ็”ปใ—ใพใ™ใ€‚

rectfill(10, 10, 20, 20, 7)

BIT8_CLI ใฏๅ›บๅฎš 64ร—64 ใฎใ‚ฒใƒผใƒ  framebuffer ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

ๅ…ฅๅŠ›

btn() ใงใƒœใ‚ฟใƒณใŒๆŠผใ•ใ‚Œ็ถšใ‘ใฆใ„ใ‚‹ใ‹ใ‚’็ขบ่ชใงใใพใ™ใ€‚

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

ไฝฟ็”จใงใใ‚‹ใƒœใ‚ฟใƒณๅฎšๆ•ฐ๏ผš

UP
DOWN
LEFT
RIGHT
A
B

btnp() ใฏๆŠผใ—็ถšใ‘ใฆใ„ใ‚‹็Šถๆ…‹ใงใฏใชใใ€ๆ–ฐใ—ใๆŠผใ•ใ‚ŒใŸใ‚คใƒ™ใƒณใƒˆใ‚’็ขบ่ชใ—ใพใ™ใ€‚

ๅ‹•ใใƒ”ใ‚ฏใ‚ปใƒซ

ๆฌกใฎไพ‹ใงใฏใ€ๅค‰ๆ•ฐใ€ๅ…ฅๅŠ›ใ€ๆ็”ปใ‚’็ต„ใฟๅˆใ‚ใ›ใพใ™ใ€‚

func init()
    x = 32
    y = 32
end

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 .

Main Script ใจ Node Script

BIT8_CLI ใฏ Main Script ใจ Node Script ใฎไธกๆ–นใซๅฏพๅฟœใ—ใฆใ„ใพใ™ใ€‚

Main Script ใฏใ‚ฒใƒผใƒ ๅ…จไฝ“ใ‚’็ฎก็†ใ—ใพใ™ใ€‚

Node ใฏ็‹ฌ่‡ชใฎใ‚นใ‚ฏใƒชใƒ—ใƒˆใจๅฎŸ่กŒ็Šถๆ…‹ใ‚’ๆŒใคใ“ใจใŒใงใใพใ™ใ€‚

Node Script ใงใฏ self ใ‚’ไฝฟ็”จใ—ใฆๅฏพๅฟœใ™ใ‚‹ Node ใซใ‚ขใ‚ฏใ‚ปใ‚นใงใใพใ™ใ€‚

ไพ‹๏ผš

func update()
    self.x = self.x + 1
end

่ฉณใ—ใใฏ Node ใ‚’ๅ‚็…งใ—ใฆใใ ใ•ใ„ใ€‚

Main ใฏใ‚ฒใƒผใƒ ใ‚’็ต„ใฟ็ซ‹ใฆใ€Node ใฏใ‚ฒใƒผใƒ ใฎไธญใง็”Ÿใใ‚‹ใ€‚

ๆฌกใธ

ๆฌกใฎใƒšใƒผใ‚ธ๏ผš

Runtime API

้–ข้€ฃใƒšใƒผใ‚ธ๏ผš

Clone this wiki locally