M9b: folk, filer, reklam, sorl och vagnval
All checks were successful
release / build-release (push) Successful in 1m33s

Folk på stationen (NPC:er som vandrar, kliver av tåg och går mot
utgången, blockerar spelaren men inte varandra), vänster-/högerfiler
som bromsar på fel sida, bredare gångar, reklamaffischer (clutter),
japanskt sorl i loop (noise), vagnval med kvinnovagn (stort avdrag med
man i sällskapet, tidsstyrd), kömarkeringar på perrongen, trängsel per
vagn (bonus för tom vagn, svettig-debuff och svårare resa i full vagn,
släpp förbi passagerare) och att folk kliver av innan man får gå på.
Ny bana 005 Ueno. Skärmdumpsverktyget kan filtrera på bana/skript.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-10-24 12:33:44 +02:00
parent 8fca14e42d
commit de61568e44
49 changed files with 1568 additions and 136 deletions

View File

@@ -4,7 +4,7 @@
//
// Skriver resources/sprites/tiles.png (en remsa 16×16-rutor i ordningen
// vägg, golv, start, perrong, spärr, automat, skylt, tågvagn, toalett, kiosk, räls,
// trappa upp, trappa ner) och
// trappa upp, trappa ner, fil vänster, fil höger, affisch ×3) och
// resources/sprites/player.png (3 bildrutor × 4 riktningar: ner, upp,
// vänster, höger; kolumn 0 = stilla, 1–2 = gå). Ritas med enkla rektanglar
// så att allt är deterministiskt och lätt att justera.
@@ -163,6 +163,44 @@ var tiles = []func(canvas){
c.rect(6, 13, 4, 1, boxDark)
c.rect(5, 12, 6, 1, boxDark)
},
func(c canvas) { // fil vänster: golv med vänsterpilar
floor(c)
for _, y := range []int{3, 11} {
c.rect(4, y, 8, 1, metalDark)
c.rect(3, y-1, 1, 3, metalDark)
}
},
func(c canvas) { // fil höger: golv med högerpilar
floor(c)
for _, y := range []int{3, 11} {
c.rect(4, y, 8, 1, metalDark)
c.rect(12, y-1, 1, 3, metalDark)
}
},
func(c canvas) { // affisch 1: färgglad reklam
c.rect(0, 0, 16, 16, wallMid)
c.rect(2, 1, 12, 14, rgb(250, 230, 120))
c.rect(3, 2, 10, 5, rgb(228, 59, 68))
c.rect(4, 8, 8, 1, boxDark)
c.rect(4, 10, 6, 1, boxDark)
c.rect(4, 12, 7, 1, boxDark)
},
func(c canvas) { // affisch 2: blå lockskylt som liknar en riktig skylt
c.rect(0, 0, 16, 16, wallMid)
c.rect(1, 2, 14, 12, signBoard)
c.rect(1, 2, 14, 1, white)
c.rect(3, 5, 10, 1, white)
c.rect(3, 8, 6, 1, white)
c.rect(3, 11, 8, 1, yellow)
},
func(c canvas) { // affisch 3: rosa med stort tecken
c.rect(0, 0, 16, 16, wallMid)
c.rect(2, 1, 12, 14, rgb(255, 170, 200))
c.rect(5, 4, 6, 6, white)
c.rect(7, 4, 2, 6, rgb(200, 60, 120))
c.rect(5, 6, 6, 2, rgb(200, 60, 120))
c.rect(4, 12, 8, 1, rgb(120, 30, 70))
},
func(c canvas) { // kiosk: randig markis och disk
floor(c)
c.rect(1, 1, 14, 3, awningRed)