mirror of
https://github.com/imjasonh/nescript
synced 2026-07-08 08:55:38 +00:00
38 lines
722 B
Text
38 lines
722 B
Text
|
|
// Bouncing Ball — a sprite that bounces around the screen automatically.
|
||
|
|
//
|
||
|
|
// Build: cargo run -- build examples/bouncing_ball.ne
|
||
|
|
// Output: examples/bouncing_ball.nes
|
||
|
|
|
||
|
|
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
|