Portrait 360x480 table with regular-sized flippers

Rotate the playfield to portrait like a real pinball machine:
- canvas 480x360 landscape -> 360x480 portrait; playfield 308px wide,
  ~390px tall, with HUD, title/game-over screens and HUD re-laid out
  for the narrow format (score/best top row, balls/stars/fever below)
- flippers reduced to a regular ~quarter-width size (82px) pivoting at
  the lower corners, tips meeting over a wide centre drain
- table elements re-placed for the taller field: 3 star lanes up top,
  candy bumpers mid-field, slingshots and floor-level outlane guard
  posts at the bottom; data-checked with the autoplay bot (~350 bumper
  hits / 30k frames, centre+side drains, no stuck balls)
- probes & autoplay policy updated for the portrait geometry; all 13
  pixel-probes pass
This commit is contained in:
georgios
2026-09-09 19:02:11 +02:00
parent c08e22c873
commit cf2c0e4558
18 changed files with 134 additions and 128 deletions
+3 -3
View File
@@ -54,9 +54,9 @@ class AutoPlayer:
# flipper policy: catch anything heading down the middle/bottom
b = t.ball
if t.ball_live and b.vy > 0 and b.y > 150:
g.keys["L"] = b.x < 258
g.keys["R"] = b.x > 222
if t.ball_live and b.vy > 0 and b.y > 200:
g.keys["L"] = b.x < 196
g.keys["R"] = b.x > 164
else:
if t.ball_live and self.rng.random() < 0.04:
g.keys["L"] = self.rng.random() < 0.5