7948aa2088
feat(io): GUI MapPanel (Graphics2D) in the side panel; drop exits text
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:06:48 +02:00
a0560a6ec5
feat(game): push map to the IO each turn (GUI live update)
...
Game now derives the MapView from the world each turn; GameTest gains a
real World (the per-turn map push needs it).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:04:14 +02:00
fcf8083b7c
feat(io,command): map command + GameIO setMap/showMap, console ASCII
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:02:17 +02:00
9ce939167c
feat(io): AsciiMap console renderer for MapView
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:00:35 +02:00
c03123d5ae
feat(map): MapLayout BFS grid layout with fog of war
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:59:52 +02:00
e10ff2cf99
feat(io): MapView model (CellState, RoomCell, Connection, MapView)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:58:58 +02:00
42dbcd9696
feat(model): track visited rooms on Player for the map
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:58:21 +02:00
b042d7e0ef
fix(io): responsive side-panel width (ratio of window, clamped min/max)
...
Side panel (map slot) now sizes to ~25% of window width, clamped to
[160, 320] scaled px, recomputed on resize — instead of a fixed width.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:29:51 +02:00
d3a9bd06cc
fix(io): scale GUI fonts for HiDPI + live zoom (Ctrl +/-/0)
...
Java Swing does not reliably pick up desktop display scaling on every
Linux session (tiny text on HiDPI laptops). Detect the display scale from
the default GraphicsConfiguration transform (falling back to screen DPI)
and multiply all font sizes by it, plus the window size. Add live zoom via
Ctrl +/-/0 as a guaranteed manual override.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:25:04 +02:00
650bbbe58c
feat(io): welcome banner for game start
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:22:59 +02:00
963ddfb89e
feat(io): SwingIO 4-region layout, JTextPane styling, bundled font loader
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:21:23 +02:00
5f9d52ca41
feat(game): publish HUD (location, gold, turn) each loop iteration
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:19:40 +02:00
9274eef4c0
refactor(command): LookCommand emits semantic RoomView
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:18:50 +02:00
64cc654803
feat(io): ConsoleIO ANSI + box-drawing renderer with colour/glyph modes
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:18:18 +02:00
44fde78c64
feat(io): make print(StyledText) the GameIO primitive; keep suite green
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:16:55 +02:00
02e448d61a
feat(io): RoomView/Hud views and default Renderings
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:15:06 +02:00
d57a1ab9a4
feat(io): semantic styled-text model (Style, Span, StyledText)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 20:14:22 +02:00
3225599412
semesterprojekt: finalize 1.0 deliverable (run profiles, dungeon room, README)
...
- pom.xml: exec-maven-plugin run profiles (@run console, @gui Swing)
- rooms.yaml: add dungeon room reachable south of the kitchen
- README.md: project overview, build/run/play instructions
- .gitignore: ignore brainstorming companion dir (.superpowers/)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 19:39:42 +02:00
83643a192f
semesterprojekt: implement full text adventure (phases 1-7)
...
Walking skeleton through Swing GUI: YAML-driven world (4 rooms,
4 items, 1 NPC), HashMap command dispatch with parser, three-tier
item hierarchy (readable / switchable / plain), and end-to-end
NPC give/receive flow. 67 tests green.
2026-05-25 21:37:59 +02:00