automatic

package
v0.11.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2025 License: GPL-3.0 Imports: 36 Imported by: 1

Documentation

Overview

Package automatic contains all the logic for the actual gameplay of Crossword Game, which, as we said before, features all sorts of things like wingos and blonks.

Index

Constants

This section is empty.

Variables

View Source
var (
	CVCCounter *expvar.Int
	IsPlaying  *expvar.Int
)
View Source
var MaxTimePerEndgame = 15 * time.Second
View Source
var MaxTimePerTurn = 30 * time.Second

Functions

func AnalyzeLogFile added in v0.4.2

func AnalyzeLogFile(filepath string) (string, error)

AnalyzeLogFile analyzes the given game CSV file and spits out a bunch of statistics.

func ExportGCG added in v0.4.10

func ExportGCG(cfg *config.Config, filename, letterdist, lexicon, boardlayout, gid string,
	out io.Writer) error

func GenerateSeeds added in v0.11.8

func GenerateSeeds(n int) ([][32]byte, error)

GenerateSeeds creates n random 32-byte seeds for deterministic game runs

func LoadSeeds added in v0.11.8

func LoadSeeds(path string) ([][32]byte, error)

LoadSeeds reads seeds from a file in base64 format

func SaveSeeds added in v0.11.8

func SaveSeeds(seeds [][32]byte, path string) error

SaveSeeds writes seeds to a file in base64 format (one per line)

func StartCompVCompStaticGames

func StartCompVCompStaticGames(ctx context.Context, cfg *config.Config,
	numGames int, block bool, threads int,
	outputFilename, lexicon, letterDistribution string,
	players []AutomaticRunnerPlayer, detConfig *DeterministicConfig) error

Types

type AutomaticRunnerPlayer added in v0.5.0

type AutomaticRunnerPlayer struct {
	LeaveFile            string
	PEGFile              string
	BotCode              pb.BotRequest_BotCode
	MinSimPlies          int
	StochasticStaticEval bool
}

type DeterministicConfig added in v0.11.8

type DeterministicConfig struct {
	Seeds    [][32]byte // Pre-generated seeds (nil = generate new)
	SeedFile string     // File to read/write seeds
	NumGames int        // Number of games (used when generating seeds)
}

DeterministicConfig holds configuration for deterministic autoplay runs

type GameRunner

type GameRunner struct {
	// contains filtered or unexported fields
}

GameRunner is the master struct here for the automatic game logic.

func NewGameRunner added in v0.4.2

func NewGameRunner(logchan chan string, cfg *config.Config) *GameRunner

NewGameRunner just instantiates and initializes a game runner.

func (*GameRunner) CompVsCompStatic

func (r *GameRunner) CompVsCompStatic(addToHistory bool) error

CompVsCompStatic plays out a game to the end using best static turns.

func (*GameRunner) Game added in v0.4.5

func (r *GameRunner) Game() *game.Game

func (*GameRunner) Init

func (r *GameRunner) Init(players []AutomaticRunnerPlayer) error

Init initializes the runner

func (*GameRunner) PlayBestTurn added in v0.5.0

func (r *GameRunner) PlayBestTurn(playerIdx int, addToHistory bool) error

PlayBestTurn generates the best move for the player and plays it on the board.

func (*GameRunner) StartGame

func (r *GameRunner) StartGame(gidx int)

func (*GameRunner) StartGameWithSeed added in v0.11.8

func (r *GameRunner) StartGameWithSeed(gidx int, seed [32]byte)

type Job

type Job struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL