2025-11-01 11:13:34 -07:00
2025-11-01 11:13:34 -07:00
2025-11-01 11:13:34 -07:00
A
2025-10-29 20:36:09 -07:00
2025-10-31 16:21:56 -07:00
2025-11-01 11:13:34 -07:00
tmp
2025-11-01 10:02:09 -07:00

Minimax

TODO:

  • refactor
  • good agent
  • branding
  • pretty errors (compile + runtime)
  • save + load scripts
  • choose bulk run opponent + count
  • docs
  • Bad state: 9614807523_
  • Bad state: zero division
  • Build docs

Rules

This game is played in two rounds, starting with an empty eleven-space board. Red always goes first.

On Red's board (i.e, duing the first round), Red's job is to maximize the value of the expression; Blue's job is to minimize it. Players take turns placing the fourteen symbols 0123456789+-×÷ on the board, with the maximizing player taking the first move.

A board's syntax must always be valid. Namely, the following rules are enforced:

  • Each symbol may only be used once
  • The binary operators +-×÷ may not be next to one another, and may not be at the end slots.
  • The unary operator - (negative) must have a number as an argument. Therefore, it cannot be left of an operator (like -×), and it may not be in the rightmost slot.
  • 0 may not follow ÷. This prevents most cases of zero-division, but isn't perfect. ÷-0 will break the game, and ÷0_+ is forbidden despite being valid syntax once the empty slot is filled (for example, with ÷03+). This is done to simplyify game logic, and might be improved later.
Description
A game from the ORMC
Readme 486 KiB
Languages
Rust 47.1%
TypeScript 40.8%
CSS 11%
Dockerfile 0.5%
JavaScript 0.4%
Other 0.2%