( { name = "Ataxx"; class = "AtaxxGame"; viewDelegate = "WallGameViewDelegate"; aiTypes = ( {name="Easy"; class="AtaxxAI"; params={depth=1;}; }, {name="Medium"; class="AtaxxAI"; params={depth=2;}; }, {name="Hard"; class="AtaxxAI"; params={depth=3; useThreads=1; }; }, {name="Very Hard"; class="AtaxxAI"; params={depth=4; useThreads=1;}; }, ); variations = ( {name="Default"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), ); }; }, {name="Random"; params={rows=7; cols=7; randomWalls={count=8; symmetry=none;}; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), ); }; }, {name="Random-V Sym"; params={rows=7; cols=7; randomWalls={count=10; symmetry=horizontal;}; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), ); }; }, {name="Random-Full Sym"; params={rows=7; cols=7; randomWalls={count=12; symmetry=both;}; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), ); }; }, {name="Cross"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (3,3,-1), (3,2,-1), (3,4,-1), (2,3,-1), (4,3,-1), ); }; }, {name="Diamond"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (3,5,-1), (3,1,-1), (5,3,-1), (1,3,-1), (4,4,-1), (4,2,-1), (2,4,-1), (2,2,-1), ); }; }, {name="Bridge"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (3,0,-1), (3,1,-1), (3,2,-1), (3,4,-1), (3,5,-1), (3,6,-1), ); }; }, {name="Quadrants"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (3,0,-1), (3,1,-1), (3,2,-1), (3,4,-1), (3,5,-1), (3,6,-1), (0,3,-1), (1,3,-1), (2,3,-1), (4,3,-1), (5,3,-1), (6,3,-1), ); }; }, {name="Moat"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (1,1,-1), (1,2,-1), (1,3,-1), (1,4,-1), (1,5,-1), (5,1,-1), (5,2,-1), (5,3,-1), (5,4,-1), (5,5,-1), (1,1,-1), (2,1,-1), (3,1,-1), (4,1,-1), (5,1,-1), (1,5,-1), (2,5,-1), (3,5,-1), (4,5,-1), (5,5,-1), ); }; }, {name="Courtyard"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (1,1,-1), (1,2,-1), (1,4,-1), (1,5,-1), (5,1,-1), (5,2,-1), (5,4,-1), (5,5,-1), (1,1,-1), (2,1,-1), (4,1,-1), (5,1,-1), (1,5,-1), (2,5,-1), (4,5,-1), (5,5,-1), ); }; }, {name="City Streets"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (1,1,-1), (1,3,-1), (1,5,-1), (3,1,-1), (3,3,-1), (3,5,-1), (5,1,-1), (5,3,-1), (5,5,-1), ); }; }, {name="X"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (1,1,-1), (2,2,-1), (3,3,-1), (4,4,-1),(5,5,-1), (1,5,-1), (2,4,-1), (4,2,-1), (5,1,-1), ); }; }, {name="Slash"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (1,1,-1), (2,2,-1), (3,3,-1), (4,4,-1),(5,5,-1), ); }; }, {name="Arena"; params={rows=7; cols=7; positions = ( (0,0,2), (6,6,2), (6,0,1), (0,6,1), (0,2,-1),(0,3,-1),(0,4,-1),(6,2,-1),(6,3,-1),(6,4,-1), (2,0,-1),(3,0,-1),(4,0,-1),(2,6,-1),(3,6,-1),(4,6,-1), (1,5,-1),(5,1,-1),(1,1,-1),(5,5,-1), ); }; }, {name="Fortress"; params={rows=7; cols=7; positions = ( (0,0,1), (0,1,1), (0,2,1), (0,3,1), (0,4,1), (0,5,1), (0,6,1), (1,3,1), (6,1,-1),(6,5,-1),(5,1,-1),(5,5,-1),(4,1,-1),(4,2,-1),(4,4,-1),(4,5,-1), (6,2,2), (6,3,2), (6,4,2), (5,2,2), (5,3,2), (5,4,2), ); }; }, {name="8x8 Standard"; params={rows=8; cols=8; positions = ( (0,0,2), (7,7,2), (7,0,1), (0,7,1) ); }; }, {name="8x8 Bridge"; params={rows=8; cols=8; positions = ( (0,0,2), (7,7,2), (7,0,1), (0,7,1), (3,0,-1),(3,1,-1),(3,2,-1),(3,5,-1),(3,6,-1),(3,7,-1), (4,0,-1),(4,1,-1),(4,2,-1),(4,5,-1),(4,6,-1),(4,7,-1), ); }; }, {name="8x8 Pillars"; params={rows=8; cols=8; positions = ( (0,0,2), (7,7,2), (7,0,1), (0,7,1), (1,1,-1),(1,2,-1),(2,1,-1),(2,2,-1), (5,1,-1),(5,2,-1),(6,1,-1),(6,2,-1), (5,5,-1),(5,6,-1),(6,5,-1),(6,6,-1), (1,5,-1),(1,6,-1),(2,5,-1),(2,6,-1), ); }; }, {name="8x8 Rand"; params={rows=8; cols=8; randomWalls={count=10; symmetry=none;}; positions = ( (0,0,2), (7,7,2), (7,0,1), (0,7,1), ); }; }, {name="8x8 Rand-V Sym"; params={rows=8; cols=8; randomWalls={count=12; symmetry=horizontal;}; positions = ( (0,0,2), (7,7,2), (7,0,1), (0,7,1), ); }; }, {name="8x8 Rand-Full Sym"; params={rows=8; cols=8; randomWalls={count=16; symmetry=both;}; positions = ( (0,0,2), (7,7,2), (7,0,1), (0,7,1), ); }; }, ); }, { name = "Dominion"; class = "DominionGame"; aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=1; }; }, {name="Medium"; class="GenericAI"; params={depth=2; }; }, {name="Hard"; class="GenericAI"; params={depth=3; useThreads=1;}; }, ); variations = ( {name="Default"; params={rows=8; cols=8; positions = ( (0,0,2), (7,7,2), (7,0,1), (0,7,1), (3,3,2), (4,4,2), (3,4,1), (4,3,1), ); }; }, ); }, { name = "Five Field Kono"; class = "FiveFieldKonoGame"; aiTypes = ( {name="Easy"; class="FiveFieldKonoAI"; params={depth=2;}; }, {name="Medium"; class="FiveFieldKonoAI"; params={depth=3;}; }, {name="Hard"; class="FiveFieldKonoAI"; params={depth=5;}; }, {name="Very Hard"; class="FiveFieldKonoAI"; params={depth=7;}; }, ); }, { name = "Quad Wrangle"; class = "QuadWrangleGame"; viewDelegate = "WallGameViewDelegate"; aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=1; }; }, {name="Medium"; class="GenericAI"; params={depth=2; }; }, {name="Hard"; class="GenericAI"; params={depth=3; }; }, ); variations = ( {name="Default"; params={rows=7; cols=7; positions = ( (1,0,1),(2,0,1),(3,0,1),(4,0,1),(5,0,1), (6,1,1),(6,2,1),(6,3,1),(6,4,1),(6,5,1), (0,1,2),(0,2,2),(0,3,2),(0,4,2),(0,5,2), (1,6,2),(2,6,2),(3,6,2),(4,6,2),(5,6,2), ); }; }, ); }, { name = "Reversi"; class = "ReversiGame"; viewDelegate = "WallGameViewDelegate"; aiTypes = ( {name="Easy"; class="ReversiAI"; params={depth=2; }; }, {name="Medium"; class="ReversiAI"; params={depth=3; }; }, {name="Hard"; class="ReversiAI"; params={depth=4; }; }, {name="Very Hard"; class="ReversiAI"; params={depth=5; useThreads=1; }; }, ); variations = ( {name="8x8"; params={rows=8; cols=8; positions=((3,3,2),(4,4,2),(3,4,1),(4,3,1),);}; }, {name="6x6"; params={rows=6; cols=6; positions=((2,2,2),(3,3,2),(2,3,1),(3,2,1),);}; }, {name="10x10"; params={rows=10; cols=10; positions=((4,4,2),(5,5,2),(4,5,1),(5,4,1),);}; }, {name="Annexation"; params={rows=10; cols=10; // need to update AI since there are no "corners"? positions=((4,4,2),(5,5,2),(4,5,1),(5,4,1), (0,0,-1),(0,1,-1),(0,2,-1),(1,0,-1),(1,1,-1),(1,2,-1),(2,0,-1),(2,1,-1),(2,2,-1), (7,0,-1),(7,1,-1),(7,2,-1),(8,0,-1),(8,1,-1),(8,2,-1),(9,0,-1),(9,1,-1),(9,2,-1), (7,7,-1),(7,8,-1),(7,9,-1),(8,7,-1),(8,8,-1),(8,9,-1),(9,7,-1),(9,8,-1),(9,9,-1), (0,7,-1),(0,8,-1),(0,9,-1),(1,7,-1),(1,8,-1),(1,9,-1),(2,7,-1),(2,8,-1),(2,9,-1), );}; }, ); }, { name = "Checkers"; class = "CheckersGame"; viewDelegate = "CheckersViewDelegate"; viewDelegateParams = {alternateCellColorComponents = "0.2 0.8 0.2";}; aiTypes = ( {name="Easy"; class="CheckersAI"; params={depth=2; regWeight=2; kingWeight=3;}; }, {name="Medium"; class="CheckersAI"; params={depth=3; regWeight=2; kingWeight=3;}; }, {name="Hard"; class="CheckersAI"; params={depth=5; regWeight=2; kingWeight=3; }; }, {name="Very Hard"; class="CheckersAI"; params={depth=8; regWeight=2; kingWeight=3; useThreads=1; }; }, ); variations = ( {name="8x8"; params={rows=8; cols=8;}; }, {name="10x10"; params={rows=10; cols=10;}; }, ); }, { name = "Gomoku"; class = "GomokuGame"; aiTypes = ( {name="Easy"; class="GomokuAI"; params={depth=1;}; }, {name="Hard"; class="GomokuAI"; params={depth=2; useThreads=1; }; }, ); variations = ( {name="8x8"; params={rows=8; cols=8;}; }, {name="10x10"; params={rows=10; cols=10;}; }, {name="12x12"; params={rows=12; cols=12;}; }, ); }, { name = "Connect Four"; class = "ConnectFourGame"; aiTypes = ( {name="Easy"; class="ConnectFourAI"; params={depth=2;}; }, {name="Medium"; class="ConnectFourAI"; params={depth=3;}; }, {name="Hard"; class="ConnectFourAI"; params={depth=4; }; }, {name="Very Hard"; class="ConnectFourAI"; params={depth=5; useThreads=1; }; }, ); variations = ( {name="6x7"; params={rows=6; cols=7;}; }, ); }, { name = "Gravity"; class = "GravityGame"; viewDelegate = "GravityViewDelegate"; aiTypes = ( {name="Easy"; class="GravityAI"; params={depth=1;}; }, {name="Medium"; class="GravityAI"; params={depth=2;}; }, {name="Hard"; class="GravityAI"; params={depth=3; useThreads=1; }; }, ); variations = ( {name="8x8"; params={rows=8; cols=8;}; }, ); }, { name = "Hexapawn"; class = "HexapawnGame"; variations = ( {name="4x4 Standard"; params={rows=4; cols=4; moveForward=1; captureDiagonally=1; }; }, {name="5x5 Standard"; params={rows=5; cols=5; moveForward=1; captureDiagonally=1; }; }, {name="6x6 Standard"; params={rows=6; cols=6; moveForward=1; captureDiagonally=1; }; }, {name="4x4 Berolina"; params={rows=4; cols=4; moveDiagonally=1; captureForward=1; }; }, {name="5x5 Berolina"; params={rows=5; cols=5; moveDiagonally=1; captureForward=1; }; }, {name="6x6 Berolina"; params={rows=6; cols=6; moveDiagonally=1; captureForward=1; }; }, {name="4x4 Berolina+"; params={rows=4; cols=4; moveDiagonally=1; captureForward=1; captureSideways=1; }; }, {name="5x5 Berolina+"; params={rows=5; cols=5; moveDiagonally=1; captureForward=1; captureSideways=1; }; }, {name="6x6 Berolina+"; params={rows=6; cols=6; moveDiagonally=1; captureForward=1; captureSideways=1; }; }, ); aiTypes = ( {name="Easy"; class="HexapawnAI"; params={searchDepths=(4,3); }; }, {name="Medium"; class="HexapawnAI"; params={searchDepths=(5,4); }; }, {name="Hard"; class="HexapawnAI"; params={searchDepths=(6,5); useThreads=1; }; }, {name="Very Hard"; class="HexapawnAI"; params={searchDepths=(7,6); useThreads=1; }; }, ); }, { name = "Breakthrough"; class = "HexapawnGame"; variations = ( {name="8x8"; params={rows=8; cols=8; fillRows=2; moveForward=1; moveDiagonally=1; captureDiagonally=1; }; }, ); aiTypes = ( {name="Easy"; class="BreakthroughAI"; params={depth=1; pieceWeight=40; }; }, {name="Medium"; class="BreakthroughAI"; params={depth=2; pieceWeight=40; }; }, {name="Hard"; class="BreakthroughAI"; params={depth=3; pieceWeight=40; useThreads=1; }; }, ); }, { name = "Orthokon"; class = "OrthokonGame"; variations = ( {name="4x4"; params={rows=4; cols=4; }; }, {name="5x5"; params={rows=5; cols=5; }; }, {name="6x6"; params={rows=6; cols=6; }; }, ); aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=3; }; }, {name="Medium"; class="GenericAI"; params={depth=4; }; }, {name="Hard"; class="GenericAI"; params={depth=5; }; }, {name="Very Hard"; class="GenericAI"; params={depth=6; }; }, ); }, { name = "Photonic Attack"; class = "PhotonicAttackGame"; variations = ( {name="8x8"; params={rows=8; cols=8;}; }, ); aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=2; }; }, {name="Medium"; class="GenericAI"; params={depth=3; }; }, {name="Hard"; class="GenericAI"; params={depth=4; }; }, {name="Very Hard"; class="GenericAI"; params={depth=5; }; }, ); }, { name = "Fission"; class = "FissionGame"; variations = ( {name="Normal"; params={rows=8; cols=8; positions=((1,4,1),(2,3,1),(2,5,1),(3,2,1),(3,4,1),(3,6,1), (4,1,1),(4,3,1),(4,5,1),(5,2,1),(5,4,1),(6,3,1), (1,3,2),(2,2,2),(2,4,2),(3,1,2),(3,3,2),(3,5,2), (4,2,2),(4,4,2),(4,6,2),(5,3,2),(5,5,2),(6,4,2) ); }; }, {name="Suicide"; params={rows=8; cols=8; suicide=1; positions=((1,4,1),(2,3,1),(2,5,1),(3,2,1),(3,4,1),(3,6,1), (4,1,1),(4,3,1),(4,5,1),(5,2,1),(5,4,1),(6,3,1), (1,3,2),(2,2,2),(2,4,2),(3,1,2),(3,3,2),(3,5,2), (4,2,2),(4,4,2),(4,6,2),(5,3,2),(5,5,2),(6,4,2) ); }; }, {name="Random"; params={rows=8; cols=8; randomCells=12; }; }, {name="Suicide Random"; params={rows=8; cols=8; randomCells=12; suicide=1; }; }, ); aiTypes = ( {name="Easy"; class="FissionAI"; params={depth=2; }; }, {name="Medium"; class="FissionAI"; params={depth=3; }; }, {name="Hard"; class="FissionAI"; params={depth=4; }; }, ); }, { name = "Reactor"; class = "ReactorGame"; viewDelegate = "ReactorViewDelegate"; variations = ( {name="Normal"; params={rows=8; cols=8; p1pieces=13; p2pieces=14; neutrons=4; }; }, ); aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=1; }; }, {name="Medium"; class="GenericAI"; params={depth=2; }; }, {name="Hard"; class="GenericAI"; params={depth=3; }; }, {name="Very Hard"; class="GenericAI"; params={depth=4; }; }, ); }, { name = "Bombardment"; class = "BombardmentGame"; variations = ( {name="8x8"; params={rows=8; cols=8; moveForward=1; moveDiagonally=1; fillRows=2;}; }, ); aiTypes = ( {name="Easy"; class="BombardmentAI"; params={depth=1; }; }, {name="Medium"; class="BombardmentAI"; params={depth=2; }; }, {name="Hard"; class="BombardmentAI"; params={depth=3; }; }, ); }, { name = "Tourney"; class = "TourneyGame"; viewDelegate = "CheckersViewDelegate"; variations = ( {name="8x8"; params={rows=8; cols=8; fillRows=2;}; }, ); aiTypes = ( {name="Easy"; class="TourneyAI"; params={depth=2; }; }, {name="Medium"; class="TourneyAI"; params={depth=3; }; }, {name="Hard"; class="TourneyAI"; params={depth=5; }; }, {name="Very Hard"; class="TourneyAI"; params={depth=7; }; }, ); }, { name = "Daggers"; class = "DaggerGame"; viewDelegate = "CheckersViewDelegate"; variations = ( {name="8x8"; params={rows=8; cols=8; positions=((1,1,1),(1,2,1),(1,3,1),(1,4,1),(1,5,1),(1,6,1), (0,2,-1), (0,5,-1), (6,2,2),(6,3,2),(6,4,2),(6,5,2), (7,3,-2),(7,4,-2)); }; }, ); aiTypes = ( {name="Easy"; class="DaggerAI"; params={depth=1; }; }, {name="Medium"; class="DaggerAI"; params={depth=2; }; }, {name="Hard"; class="DaggerAI"; params={depth=3; }; }, {name="Very Hard"; class="DaggerAI"; params={depth=4; }; }, ); }, { name = "Fianco"; class = "FiancoGame"; variations = ( {name="Default"; params={rows=9; cols=9; positions=((0,0,1),(0,1,1),(0,2,1),(0,3,1),(0,4,1),(0,5,1),(0,6,1),(0,7,1),(0,8,1), (8,0,2),(8,1,2),(8,2,2),(8,3,2),(8,4,2),(8,5,2),(8,6,2),(8,7,2),(8,8,2), (1,1,1),(2,2,1),(3,3,1),(3,5,1),(2,6,1),(1,7,1), (7,1,2),(6,2,2),(5,3,2),(5,5,2),(6,6,2),(7,7,2), ); }; }, ); aiTypes = ( {name="Easy"; class="FiancoAI"; params={depth=2; }; }, {name="Medium"; class="FiancoAI"; params={depth=3; }; }, {name="Hard"; class="FiancoAI"; params={depth=4; useThreads=1;}; }, ); }, { name = "Zonesh"; class = "ZoneshGame"; viewDelegate = "ZoneshViewDelegate"; aiTypes = ( {name="Easy"; class="ZoneshAI"; params={depth=1; }; }, {name="Medium"; class="ZoneshAI"; params={depth=2; }; }, {name="Hard"; class="ZoneshAI"; params={depth=3; useThreads=1; }; }, {name="Very Hard"; class="ZoneshAI"; params={depth=4; useThreads=1; }; }, ); variations = ( {name="6x6"; params={rows=6; cols=6;}; }, {name="5x5"; params={rows=5; cols=5;}; }, {name="7x7"; params={rows=7; cols=7;}; }, ); }, { name = "Glass Bead"; class = "GlassBeadGame"; viewDelegate = "GlassBeadViewDelegate"; aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=1; }; }, {name="Medium"; class="GenericAI"; params={depth=2; }; }, {name="Hard"; class="GenericAI"; params={depth=3; useThreads=1; }; }, {name="Very Hard"; class="GenericAI"; params={depth=4; useThreads=1; }; }, ); variations = ( {name="8x8"; params={rows=8; cols=8;}; }, {name="9x9"; params={rows=9; cols=9;}; }, {name="10x10"; params={rows=10; cols=10;}; }, ); }, { name = "Cats & Dogs"; class = "CatsAndDogsGame"; viewDelegate = "CatsAndDogsViewDelegate"; aiTypes = ( {name="Easy"; class="CatsAndDogsAI"; params={depth=2; }; }, {name="Medium"; class="CatsAndDogsAI"; params={depth=3; useThreads=1; }; }, {name="Hard"; class="CatsAndDogsAI"; params={depth=4; useThreads=1; }; }, ); variations = ( {name="8x8"; params={rows=8; cols=8;}; }, ); }, { name = "Moray Eels"; class = "MorayEelsGame"; aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=2; }; }, {name="Medium"; class="GenericAI"; params={depth=3; }; }, {name="Hard"; class="GenericAI"; params={depth=4; }; }, {name="Very Hard"; class="GenericAI"; params={depth=5; }; }, ); variations = ( {name="5x7"; params={rows=5; cols=7; positions=((0,0,1),(0,1,1),(0,2,1),(0,4,1),(0,5,1),(0,6,1), (4,1,2),(4,5,2)); }; }, ); }, { name = "Atomic"; class = "AtomicGame"; viewDelegate = "AtomicViewDelegate"; aiTypes = ( {name="Easy"; class="AtomicAI"; params={depth=1; utilityArray=((60), (40,80), (30, 60, 90)); }; }, {name="Medium"; class="AtomicAI"; params={depth=2; utilityArray=((60), (40,80), (30, 60, 90)); }; }, {name="Hard"; class="AtomicAI"; params={depth=3; utilityArray=((60), (40,80), (30, 60, 90)); }; }, {name="Very Hard"; class="AtomicAI"; params={depth=4; utilityArray=((60), (40,80), (30, 60, 90)); useThreads=1; }; }, // current best utilityArray (at 3-ply): ((60), (40,80), (30, 60, 90)) // others tested: ((30), (20,30), (10, 20, 30)) // ((60), (35,70), (25, 50, 75)) (tie) ); variations = ( {name="Default"; params={rows=6; cols=6;};}, ); }, { name = "Life"; class = "LifeGame"; variations = ( {name="21x21"; params={rows=21; cols=21; positions=((3,3,1),(3,4,1),(4,3,1),(4,4,1), (17,3,1),(17,4,1),(16,3,1),(16,4,1), (3,9,1),(4,9,1),(5,9,1),(5,10,1),(4,11,1), (3,17,2),(3,16,2),(4,17,2),(4,16,2), (17,17,2),(17,16,2),(16,17,2),(16,16,2), (17,11,2),(16,11,2),(15,11,2),(15,10,2),(16,9,2), (10,9,1),(10,10,2),(10,11,1), (9,3,2),(10,3,1),(11,3,2), (9,17,2),(10,17,1),(11,17,2), ); }; }, {name="20x20 Random"; params={rows=20; cols=20; player1RandomCells=50; player2RandomCells=52;}; }, ); aiTypes = ( {name="Easy"; class="LifeAI"; params={depth=1; useThreads=1; }; }, ); }, { name = "Diagonals"; class = "DiagonalsGame"; aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=1; }; }, {name="Medium"; class="GenericAI"; params={depth=2; }; }, {name="Hard"; class="GenericAI"; params={depth=3; }; }, {name="Very Hard"; class="GenericAI"; params={depth=4; useThreads=1; }; }, ); variations = ( {name="8x8"; params={rows=8; cols=8;}; }, {name="6x6"; params={rows=6; cols=6;}; }, {name="10x10"; params={rows=10; cols=10;}; }, ); }, { name = "Tonga"; class = "TongaGame"; aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=1; }; }, {name="Hard"; class="GenericAI"; params={depth=2; }; }, ); variations = ( {name="9x9"; params={rows=9; cols=9;}; }, ); }, { name = "Think Ahead"; class = "ThinkAheadGame"; viewDelegate = "ThinkAheadViewDelegate"; aiTypes = ( {name="Easy"; class="ThinkAheadAI"; params={depths=(2,2,2,2); }; }, {name="Medium"; class="ThinkAheadAI"; params={depths=(4,5,6,7); }; }, {name="Hard"; class="ThinkAheadAI"; params={depths=(6,8,10,10); }; }, {name="Very Hard"; class="ThinkAheadAI"; params={depths=(8,9,10,11); useThreads=1; }; }, ); }, { name = "Ambivalence"; class = "AmbivalenceGame"; viewDelegate = "WallGameViewDelegate"; aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=2; }; }, {name="Medium"; class="GenericAI"; params={depth=3; }; }, {name="Hard"; class="GenericAI"; params={depth=4; }; }, ); variations = ( {name="6x6"; params={rows=6; cols=6;}; }, {name="8x8"; params={rows=8; cols=8;}; }, ); }, { name = "Sabotage"; class = "SabotageGame"; viewDelegate = "SabotageViewDelegate"; aiTypes = ( {name="Easy"; class="SabotageAI"; params={depth=2; }; }, {name="Medium"; class="SabotageAI"; params={depth=3; }; }, {name="Hard"; class="SabotageAI"; params={depth=4; }; }, ); variations = ( {name="Standard"; params={rows=9; cols=13; p1Goal = (4,1); p2Goal=(4,11); positions = ( (0,0,2), (0,1,2), (8,0,2), (8,1,2), (3,2,1), (3,3,1), (5,2,1), (5,3,1), (4,4,1), (4,6,-3), (0,11,1), (0,12,1), (8,11,1), (8,12,1), (3,9,2), (3,10,2), (5,9,2), (5,10,2), (4,8,2), );}; }, {name="Reverse Goals"; params={rows=9; cols=13; p1Goal = (4,11); p2Goal=(4,1); positions = ( (0,0,2), (0,1,2), (8,0,2), (8,1,2), (3,2,1), (3,3,1), (5,2,1), (5,3,1), (4,4,1), (4,6,-3), (0,11,1), (0,12,1), (8,11,1), (8,12,1), (3,9,2), (3,10,2), (5,9,2), (5,10,2), (4,8,2), );}; }, ); }, { name = "Fusion"; class = "FusionGame"; viewDelegate = "ReactorViewDelegate"; aiTypes = ( {name="Easy"; class="GenericAI"; params={depth=2; }; }, {name="Medium"; class="GenericAI"; params={depth=3; }; }, {name="Hard"; class="GenericAI"; params={depth=4; }; }, ); variations = ( {name="8x8"; params={rows=10; cols=10; protons = 20; positions = ( (4,4,1),(5,5,1),(4,5,2),(5,4,2) );}; }, ); }, // { // name = "Diagonals 2"; // class = "Diagonals2Game"; // viewDelegate = "WallGameViewDelegate"; // aiTypes = ( // {name="Easy"; class="GenericAI"; params={depth=2; }; }, // {name="Medium"; class="GenericAI"; params={depth=3; }; }, // {name="Hard"; class="GenericAI"; params={depth=4; }; }, // ); // variations = ( // {name="5x10"; params={rows=5; cols=10; // positions=((0,0,1),(1,0,1),(3,9,2),(4,9,2)); // }; // }, // {name="8x8"; params={rows=8; cols=8; // positions=((3,0,1),(4,0,1),(3,7,2),(4,7,2)); // }; // }, // ); // }, // { // name = "Nevo"; // class = "NevoGame"; // aiTypes = ( // {name="Easy"; class="NevoAI"; params={depth=2; }; }, // {name="Medium"; class="NevoAI"; params={depth=3; }; }, // {name="Hard"; class="NevoAI"; params={depth=4; }; }, // ); // variations = ( // {name="7x12"; params={rows=7; cols=12;}; }, // ); // }, )