Directories
¶
| Path | Synopsis |
|---|---|
|
Package archtest enforces the package dependency rules in docs/PLAN.md §4.1.
|
Package archtest enforces the package dependency rules in docs/PLAN.md §4.1. |
|
Package assets holds the art and data the film set pieces draw: the big board's map and its cities, GTW's side-choice outlines, and the closing montage's scenario names.
|
Package assets holds the art and data the film set pieces draw: the big board's map and its cities, GTW's side-choice outlines, and the closing montage's scenario names. |
|
Package cli parses wopr's command line and renders the print-and-exit outputs.
|
Package cli parses wopr's command line and renders the print-and-exit outputs. |
|
Package debuglog is wopr's opt-in debug log (docs/PLAN.md §8): with WOPR_DEBUG set, it writes to os.UserCacheDir()/wopr/debug.log, a 0600 file in a 0700 directory.
|
Package debuglog is wopr's opt-in debug log (docs/PLAN.md §8): with WOPR_DEBUG set, it writes to os.UserCacheDir()/wopr/debug.log, a 0600 file in a 0700 directory. |
|
Package e2e drives the real wopr binary: as a plain process for the print-and-exit commands, and in a pseudo-terminal (a Unix pty, or ConPTY on Windows) for the TUI.
|
Package e2e drives the real wopr binary: as a plain process for the print-and-exit commands, and in a pseudo-terminal (a Unix pty, or ConPTY on Windows) for the TUI. |
|
Package games defines what a game is and how games are found.
|
Package games defines what a game is and how games are found. |
|
ai
Package ai is the game-tree search WOPR plays board games with: negamax with alpha-beta pruning, iterative deepening, and an optional quiescence search.
|
Package ai is the game-tree search WOPR plays board games with: negamax with alpha-beta pruning, iterative deepening, and an optional quiescence search. |
|
airtoground
Package airtoground is Air-to-Ground Actions: a short air campaign against WOPR's defended targets (docs/PLAN.md §6.3, a bespoke game on the sim engine's combat-results and kill-ratio tables).
|
Package airtoground is Air-to-Ground Actions: a short air campaign against WOPR's defended targets (docs/PLAN.md §6.3, a bespoke game on the sim engine's combat-results and kill-ratio tables). |
|
biotoxic
Package biotoxic is Theaterwide Biotoxic and Chemical Warfare on the sim engine.
|
Package biotoxic is Theaterwide Biotoxic and Chemical Warfare on the sim engine. |
|
blackjack
Package blackjack is Black Jack against WOPR's dealer: one deck, the dealer stands on soft 17 (DefaultRules; Rules.StandSoft17 changes it), black jack pays 3 to 2, double down on any first two cards, and one split of a pair a round.
|
Package blackjack is Black Jack against WOPR's dealer: one deck, the dealer stands on soft 17 (DefaultRules; Rules.StandSoft17 changes it), black jack pays 3 to 2, double down on any first two cards, and one split of a pair a round. |
|
board
Package board draws 8x8 boards for checkers and chess, and parses their squares.
|
Package board draws 8x8 boards for checkers and chess, and parses their squares. |
|
bridge
Package bridge is minimal contract bridge (docs/PLAN.md §3, decision 14): WOPR bids all four hands by point count, the player's side always declares (the table turns when East and West hold the cards), and the player plays both declarer's hand and dummy's while WOPR defends.
|
Package bridge is minimal contract bridge (docs/PLAN.md §3, decision 14): WOPR bids all four hands by point count, the player's side always declares (the table turns when East and West hold the cards), and the player plays both declarer's hand and dummy's while WOPR defends. |
|
cards
Package cards is the playing cards the card games share: cards and their text, decks, shuffling with the session's seed, tricks (trick.go), and the cards drawn in ASCII (art.go).
|
Package cards is the playing cards the card games share: cards and their text, decks, shuffling with the session's seed, tricks (trick.go), and the cards drawn in ASCII (art.go). |
|
catalog
Package catalog is the one place where game constructors are wired into a registry.
|
Package catalog is the one place where game constructors are wired into a registry. |
|
checkers
Package checkers is 8x8 checkers (English draughts) against WOPR: compulsory captures, multiple jumps, kings that move both ways, and a draw after 40 moves each without progress.
|
Package checkers is 8x8 checkers (English draughts) against WOPR: compulsory captures, multiple jumps, kings that move both ways, and a draw after 40 moves each without progress. |
|
chess
Package chess is chess against WOPR.
|
Package chess is chess against WOPR. |
|
desertwarfare
Package desertwarfare is Desert Warfare on the sim engine: armour against armour along a coast road, with supply lines.
|
Package desertwarfare is Desert Warfare on the sim engine: armour against armour along a coast road, with supply lines. |
|
ending
Package ending is the film's climax after zero players (docs/PLAN.md §6.2): WOPR plays tic-tac-toe against itself faster and faster while it cracks the last of the launch code, runs every war scenario to WINNER: NONE, and concludes that the only winning move is not to play.
|
Package ending is the film's climax after zero players (docs/PLAN.md §6.2): WOPR plays tic-tac-toe against itself faster and faster while it cracks the last of the launch code, runs every war scenario to WINNER: NONE, and concludes that the only winning move is not to play. |
|
falkensmaze
Package falkensmaze is Falken's Maze: a maze under fog of war, walked with the arrow keys.
|
Package falkensmaze is Falken's Maze: a maze under fog of war, walked with the arrow keys. |
|
fightercombat
Package fightercombat is Fighter Combat: a turn-based dogfight of energy and aspect against WOPR (docs/PLAN.md §6.3, a bespoke game on the sim engine's combat-results and kill-ratio tables).
|
Package fightercombat is Fighter Combat: a turn-based dogfight of energy and aspect against WOPR (docs/PLAN.md §6.3, a bespoke game on the sim engine's combat-results and kill-ratio tables). |
|
gamestest
Package gamestest provides stub programs for tests of the host, persona and ui.
|
Package gamestest provides stub programs for tests of the host, persona and ui. |
|
ginrummy
Package ginrummy is two-player gin rummy against WOPR: ten cards each, draw from the stock or take the discard, then discard; knock with 10 or less deadwood, or go gin with none.
|
Package ginrummy is two-player gin rummy against WOPR: ten cards each, draw from the stock or take the discard, then discard; knock with 10 or less deadwood, or go gin with none. |
|
gtw
Package gtw is Global Thermonuclear War, the film's set piece (docs/PLAN.md §6.2): choose a side and list targets; the first strike flies on the big board at once, then you order two more as DEFCON falls, and WOPR takes the last rung alone.
|
Package gtw is Global Thermonuclear War, the film's set piece (docs/PLAN.md §6.2): choose a side and list targets; the first strike flies on the big board at once, then you order two more as DEFCON falls, and WOPR takes the last rung alone. |
|
guerrilla
Package guerrilla is Guerrilla Engagement on the sim engine: an asymmetric campaign.
|
Package guerrilla is Guerrilla Engagement on the sim engine: an asymmetric campaign. |
|
hearts
Package hearts is four-handed Hearts: the player sits South and WOPR plays West, North and East.
|
Package hearts is four-handed Hearts: the player sits South and WOPR plays West, North and East. |
|
poker
Package poker is heads-up five-card draw against WOPR: an ante of 1, fixed-limit betting of 5 before the draw and 10 after (a bet and three raises a round), and up to three cards drawn.
|
Package poker is heads-up five-card draw against WOPR: an ante of 1, fixed-limit betting of 5 before the draw and 10 after (a bet and three raises a round), and up to three cards drawn. |
|
testkit
Package testkit drives proto programs through the real host runner, with no terminal, and records a transcript: what WOPR printed and what the user typed, as the console would show it.
|
Package testkit drives proto programs through the real host runner, with no terminal, and records a transcript: what WOPR printed and what the user typed, as the console would show it. |
|
theaterwide
Package theaterwide is Theaterwide Tactical Warfare on the sim engine: corps and air wings on a European front, with an escalation ladder.
|
Package theaterwide is Theaterwide Tactical Warfare on the sim engine: corps and air wings on a European front, with an escalation ladder. |
|
tictactoe
Package tictactoe is the game that ends the film: perfect minimax, so nobody can win against WOPR.
|
Package tictactoe is the game that ends the film: perfect minimax, so nobody can win against WOPR. |
|
Package golden compares test output with files in the calling package's testdata/ directory.
|
Package golden compares test output with files in the calling package's testdata/ directory. |
|
Package movie is movie mode (docs/PLAN.md §7): wopr --movie replays the film's WOPR terminal scenes (internal/movie/scenes) as a self-running show, through the same console, typewriter, canvas and game code as interactive play.
|
Package movie is movie mode (docs/PLAN.md §7): wopr --movie replays the film's WOPR terminal scenes (internal/movie/scenes) as a self-running show, through the same console, typewriter, canvas and game code as interactive play. |
|
scenes
Package scenes holds movie mode's scenes as data (docs/PLAN.md §7): the film's WOPR terminal scenes, step by step, with a provenance tag on every step.
|
Package scenes holds movie mode's scenes as data (docs/PLAN.md §7): the film's WOPR terminal scenes, step by step, with a provenance tag on every step. |
|
Package prompt parses what the user types: normalisation, clauses, menu choices, numbers and yes/no answers.
|
Package prompt parses what the user types: normalisation, clauses, menu choices, numbers and yes/no answers. |
|
Package proto is the protocol between the host (internal/ui and internal/proto/host) and every "program" it runs: the persona, each game, the ending and the movie director.
|
Package proto is the protocol between the host (internal/ui and internal/proto/host) and every "program" it runs: the persona, each game, the ending and the movie director. |
|
host
Package host runs proto programs.
|
Package host runs proto programs. |
|
Package script holds screen text with its provenance (docs/PLAN.md §2.1): every line WOPR or a game prints carries a tag saying where it comes from.
|
Package script holds screen text with its provenance (docs/PLAN.md §2.1): every line WOPR or a game prints carries a tag saying where it comes from. |
|
Package sim is the engine the war-game scenarios share (docs/PLAN.md §6.3.1): a strip of regions, units with two steps, orders, one combat-results table, an event deck, a turn limit, a victory hook and kill ratios in GTW's table format.
|
Package sim is the engine the war-game scenarios share (docs/PLAN.md §6.3.1): a strip of regions, units with two steps, orders, one combat-results table, an event deck, a turn limit, a victory hook and kill ratios in GTW's table format. |
|
Package theme maps the semantic styles of proto.Canvas and the console to colours.
|
Package theme maps the semantic styles of proto.Canvas and the console to colours. |
|
tools
|
|
|
branchcov
command
Command branchcov measures the branch coverage of every package that ships, with gobco.
|
Command branchcov measures the branch coverage of every package that ships, with gobco. |
|
cooldown
command
Command cooldown enforces the dependency cooldown: no module in any build list (wopr's, the four tool modules' and the docs site's) may be newer than 14 days at the commit being checked.
|
Command cooldown enforces the dependency cooldown: no module in any build list (wopr's, the four tool modules' and the docs site's) may be newer than 14 days at the commit being checked. |
|
icons
command
Command icons draws wopr's application icon from the SVG sources in packaging/icons/src and writes every icon file the packages and the docs site use:
|
Command icons draws wopr's application icon from the SVG sources in packaging/icons/src and writes every icon file the packages and the docs site use: |
|
macapp
command
Command macapp writes WOPR.app, the macOS application bundle that the release's .dmg holds (packaging/macos/build-dmg.sh).
|
Command macapp writes WOPR.app, the macOS application bundle that the release's .dmg holds (packaging/macos/build-dmg.sh). |
|
manpage
command
Command manpage writes docs/man/wopr.6, wopr's manual page (section 6, games).
|
Command manpage writes docs/man/wopr.6, wopr's manual page (section 6, games). |
|
notices
command
Command notices generates the licence files that ship with wopr:
|
Command notices generates the licence files that ship with wopr: |
|
pkgdocs
command
Command pkgdocs writes the documents that the release archives and the .deb and .rpm packages carry, and the packages' menu entry and AppStream metadata.
|
Command pkgdocs writes the documents that the release archives and the .deb and .rpm packages carry, and the packages' menu entry and AppStream metadata. |
|
relnotes
command
Command relnotes turns the change notes that changie keeps in .changes/ into a release's notes, and checks that the notes are in order.
|
Command relnotes turns the change notes that changie keeps in .changes/ into a release's notes, and checks that the notes are in order. |
|
sizegate
command
Command sizegate enforces the binary size budget on GoReleaser output.
|
Command sizegate enforces the binary size budget on GoReleaser output. |
|
snapdir
command
Command snapdir prepares the directory that `snap pack` turns into wopr's snap, for one architecture (.github/workflows/snap.yml):
|
Command snapdir prepares the directory that `snap pack` turns into wopr's snap, for one architecture (.github/workflows/snap.yml): |
|
stage
command
Command stage turns GoReleaser output into the layout the smoke job runs:
|
Command stage turns GoReleaser output into the layout the smoke job runs: |
|
Package ui is the Bubble Tea application: the only package that imports Bubble Tea.
|
Package ui is the Bubble Tea application: the only package that imports Bubble Tea. |
|
console
Package console holds the pure parts of WOPR's text console: sanitising, wrapping, scrollback, the typewriter and the line editor.
|
Package console holds the pure parts of WOPR's text console: sanitising, wrapping, scrollback, the typewriter and the line editor. |
|
Package version reports what build of wopr is running.
|
Package version reports what build of wopr is running. |
|
Package wopr is the persona: the dial-up, the LOGON gate, the film's scenes, the shell and WOPR's voice.
|
Package wopr is the persona: the dial-up, the LOGON gate, the film's scenes, the shell and WOPR's voice. |
Click to show internal directories.
Click to hide internal directories.