mirror of
https://github.com/imjasonh/nescript
synced 2026-07-08 08:55:38 +00:00
Add example games and quick-start guide
Two example .ne programs with compiled .nes ROMs: - hello_sprite: d-pad controlled sprite movement - bouncing_ball: auto-bouncing sprite with edge detection Includes README with build instructions and emulator setup. https://claude.ai/code/session_01W6eQFStA66EuMKHUFo2rx3
This commit is contained in:
parent
39ca246151
commit
a20ddcbbab
3 changed files with 125 additions and 0 deletions
37
examples/bouncing_ball.ne
Normal file
37
examples/bouncing_ball.ne
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
// 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue