1
0
Fork 0
mirror of https://github.com/imjasonh/nescript synced 2026-07-08 00:45:38 +00:00
nescript/examples/bouncing_ball.ne

42 lines
906 B
Text
Raw Normal View History

// Bouncing Ball — a sprite that bounces around the screen automatically.
//
// Build: cargo run -- build examples/bouncing_ball.ne
// Output: examples/bouncing_ball.nes
//
// Note: In M1 the sprite name in `draw` is parsed but not resolved.
// All sprites use tile 0 from the built-in CHR data (a smiley face).
// Custom sprite declarations come in M3.
game "Bouncing Ball" {
mapper: NROM
}
var px: u8 = 64
var py: u8 = 64
var dx: u8 = 1 // 1 = moving right, 0 = moving left
var dy: u8 = 1 // 1 = moving down, 0 = moving up
on frame {
// Move horizontally
if dx == 1 {
px += 1
if px >= 240 { dx = 0 }
} else {
px -= 1
if px == 0 { dx = 1 }
}
// Move vertically
if dy == 1 {
py += 1
if py >= 224 { dy = 0 }
} else {
py -= 1
if py == 0 { dy = 1 }
}
draw Ball at: (px, py)
}
start Main