wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
ludic migrate state packages <every example program> packages/ludic.lab/example/plate.ludic 1804 vars into 126 states, 64 into lets; 23498 edits in 460 files Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5ffe50ed02
commit
19fcf60599
459 changed files with 17862 additions and 17603 deletions
|
|
@ -33,17 +33,19 @@ program PlatformerScaffolding {
|
|||
@OnSpawn(Bouncer) handler BI { }
|
||||
@OnSpawn(Spike) handler SI { }
|
||||
|
||||
var picked: int = 0
|
||||
@On(ItemPickedUp) handler OnPick { picked += 1 }
|
||||
var sprang: int = 0
|
||||
@On(Sprang) handler OnSpring { sprang += 1 }
|
||||
var hurt: int = 0
|
||||
@On(Hurt) handler OnHurt { hurt += 1 }
|
||||
state PlatformerScaffoldingState {
|
||||
picked: int = 0
|
||||
sprang: int = 0
|
||||
hurt: int = 0
|
||||
}
|
||||
@On(ItemPickedUp) handler OnPick(platformer_scaffolding_st: mut PlatformerScaffoldingState) { platformer_scaffolding_st.picked += 1 }
|
||||
@On(Sprang) handler OnSpring(platformer_scaffolding_st: mut PlatformerScaffoldingState) { platformer_scaffolding_st.sprang += 1 }
|
||||
@On(Hurt) handler OnHurt(platformer_scaffolding_st: mut PlatformerScaffoldingState) { platformer_scaffolding_st.hurt += 1 }
|
||||
|
||||
function tick_n(n: int) -> void { var i = 0; while i < n { tick_fixed(); i += 1 } }
|
||||
function bi(b: bool) -> int { if b { return 1 }; return 0 }
|
||||
|
||||
entry {
|
||||
entry (platformer_scaffolding_st: PlatformerScaffoldingState) {
|
||||
let PP = World.prop_id("Position")
|
||||
let PB = World.prop_id("Body")
|
||||
let PL = World.prop_id("Platformer")
|
||||
|
|
@ -69,7 +71,7 @@ program PlatformerScaffolding {
|
|||
spawn Coin { Position { x: World.get(h, PP, fx), y: World.get(h, PP, fy) },
|
||||
Collider { w: 10, h: 10, is_trigger: 1 }, Pickup { kind: 0, value: 5 } }
|
||||
tick_n(2)
|
||||
print(bi(picked == 1)) # 1 — ItemPickedUp fired
|
||||
print(bi(platformer_scaffolding_st.picked == 1)) # 1 — ItemPickedUp fired
|
||||
print(bi(Score.get(h) == 5)) # 1 — value scored
|
||||
|
||||
# ---- spring launches the hero upward -----------------------------------
|
||||
|
|
@ -79,13 +81,13 @@ program PlatformerScaffolding {
|
|||
let vy_before = World.get(h, PB, World.field_id(PB, "vy"))
|
||||
tick_n(2)
|
||||
let vy_after = World.get(h, PB, World.field_id(PB, "vy"))
|
||||
print(bi((sprang >= 1) and (vy_after < 0))) # 1 — launched (vy negative = up)
|
||||
print(bi((platformer_scaffolding_st.sprang >= 1) and (vy_after < 0))) # 1 — launched (vy negative = up)
|
||||
|
||||
# ---- hazard damages a Life --------------------------------------------
|
||||
spawn Spike { Position { x: World.get(h, PP, fx), y: World.get(h, PP, fy) },
|
||||
Collider { w: 12, h: 12, is_trigger: 1 }, Hazard { dmg: 1, knockback: 6 } }
|
||||
tick_n(2)
|
||||
print(bi(hurt >= 1)) # 1 — Hurt fired
|
||||
print(bi(platformer_scaffolding_st.hurt >= 1)) # 1 — Hurt fired
|
||||
let PLife = World.prop_id("Life")
|
||||
print(bi(World.get(h, PLife, World.field_id(PLife, "hp")) < 3)) # 1 — hp dropped
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue