Minimax (program)

Home * Engines * Minimax

Minimax, a didactic open source chess program written in QuickBASIC by Dieter Steinwender and Chrilly Donninger, which appeared 1995 in Steinwender's and Friedel's German book Schach am PC. The program is apparently based on Donninger's 1994 C program with the same name, and a program published by Steinwender in Computerschach und Spiele 1984. Minimax features a Mailbox board representation with offset move generation, aspiration alpha-beta search within an iterative deepening framework. Minimax has been converted to a WinBoard chess engine by Thomas McBurney in 2003. Martin Bauer ported Minimax to Delphi and further applied enhancements for the UCI compliant DelphiMax.

=Mailbox= Initial Position in Basic CONST BrettDim% = 119 ' Dimension des erweiterten Schachbrettes

DIM SHARED Grundstellung(BrettDim%) AS INTEGER

FOR i% = 0 TO BrettDim% READ Grundstellung(i%) NEXT i%

DATA 100,100,100,100,100,100,100,100,100,100 DATA 100,100,100,100,100,100,100,100,100,100 DATA 100, 2, 4 , 3 , 5 , 6 , 3 , 4 , 2 ,100 DATA 100, 1, 1 , 1 , 1 , 1 , 1 , 1 , 1 ,100 DATA 100, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 ,100 DATA 100, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 ,100 DATA 100, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 ,100 DATA 100, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 ,100 DATA 100,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,100 DATA 100,-2 ,-4 ,-3 ,-5 ,-6 ,-3 ,-4 ,-2 ,100 DATA 100,100,100,100,100,100,100,100,100,100 DATA 100,100,100,100,100,100,100,100,100,100

and the same Mailbox in C :


 * 1) define BRETT_DIM   120  /* Dimension des erweiterten Schachbrettes  */

/**
 * Figuren. Schema: _
 * 1) define S_K  -6          /* Kennung fuer Schwarze Figuren */
 * 2) define S_D  -5
 * 3) define S_S  -4
 * 4) define S_L  -3
 * 5) define S_T  -2
 * 6) define S_B  -1
 * 7) define LEER  0          /* Leeres Feld */
 * 8) define W_B   1          /* Kennung fuer weisse Figuren */
 * 9) define W_T   2
 * 10) define W_L   3
 * 11) define W_S   4
 * 12) define W_D   5
 * 13) define W_K   6
 * 14) define RAND 100         /* Umrandung des Schachprogrammes */
 * 1) define RAND 100         /* Umrandung des Schachprogrammes */

/** const int GrundStellung[BRETT_DIM] = { RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND, RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND, RAND,W_T, W_S ,W_L ,W_D ,W_K ,W_L ,W_S ,W_T, RAND, RAND,W_B, W_B ,W_B ,W_B ,W_B ,W_B ,W_B ,W_B, RAND, RAND,LEER,LEER,LEER,LEER,LEER,LEER,LEER,LEER,RAND, RAND,LEER,LEER,LEER,LEER,LEER,LEER,LEER,LEER,RAND, RAND,LEER,LEER,LEER,LEER,LEER,LEER,LEER,LEER,RAND, RAND,LEER,LEER,LEER,LEER,LEER,LEER,LEER,LEER,RAND, RAND,S_B ,S_B ,S_B ,S_B ,S_B ,S_B ,S_B ,S_B, RAND, RAND,S_T, S_S ,S_L ,S_D ,S_K ,S_L ,S_S ,S_T, RAND, RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND, RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND};
 * Grundstellung auf 10x12 Brett

=See also=
 * Betsabe
 * DelphiMax
 * Kanguruh
 * Minimax
 * Nimzo

=Forum Posts=
 * Re: Another qBASIC Chess program -Dieter Steinwender (in english+comment by Tony Worsman, CCC, February 24, 2003 (Mimimax Source)
 * WBEC-Ridderkerk new results by Leo Dijksman, Winboard Forum, August 14, 2003
 * MiniMAX und seine Derivate by lovo, Schachfeld.de, June 24, 2009 (German)
 * Just MiniMAX Didactic Chess Program by CirothUngol, Just BASIC Files Archive, November 22, 2010
 * Another XBoard engine derived from Minimax Basic by Roland Chastain, CCC, October 18, 2020

=External Links=
 * Minimax in BASIC converted to WinBoard by Thomas McBurney (Wayback Machine, March 2016)
 * Bauer & Schweitzer - Webdesign, Software, Shareware, Freeware, EDV - MiniMAX and DelphiMax (German, Wayback Machine, March 2016)

=References=

Up one Level