ChineseCheckers
This project is a solver for two players' Chinese Checkers game using the Alpha Beta pruning algorithm. The program is written in C++ and uses a number of heuristics to improve the performance of the algorithm. Overall, the Chinese Checkers solver program has been built with performance in mind, and is designed to deliver fast and efficient game play. Whether you are playing against a bot or using the program as a library in your own project, you can be confident that the program will deliver high-performance results.
Loading...
Searching...
No Matches
tournament.hpp File Reference
#include <numbers>
#include <vector>
#include <random>
#include <chrono>
#include <cmath>
#include <algorithm>
#include <iomanip>
#include <limits>
#include <fstream>
#include <thread>
#include <boost/python.hpp>
#include "Types.hpp"
#include "AlphaBeta.hpp"

Go to the source code of this file.

Classes

class  SolversIndividuals
 This class is designed to represent individuals in a solver population and contains various methods for manipulating and printing their characteristics. More...
 
class  GamePlayer
 This class simulates a game between two solvers. More...
 
class  ThreadGamePlayer
 

Functions

Result playGame (AlphaBeta &player0, AlphaBeta &player1, const int &depth)
 
void print_matrix (const std::vector< double > &matrix)
 
void write_scores (std::ofstream &file, std::vector< SolversIndividuals > &population, SolversIndividuals &best_to_write, const int &gen)
 
void evol (GamePlayer *gp, std::vector< SolversIndividuals > &population, SolversIndividuals *best_player, bool is_white_evolving)
 
void evol_thread (const std::vector< ThreadGamePlayer > &gps, std::vector< SolversIndividuals > &population, SolversIndividuals *best_player, bool is_white_evolving)
 

Function Documentation

◆ evol()

void evol ( GamePlayer gp,
std::vector< SolversIndividuals > &  population,
SolversIndividuals best_player,
bool  is_white_evolving 
)

◆ evol_thread()

void evol_thread ( const std::vector< ThreadGamePlayer > &  gps,
std::vector< SolversIndividuals > &  population,
SolversIndividuals best_player,
bool  is_white_evolving 
)

◆ playGame()

Result playGame ( AlphaBeta player0,
AlphaBeta player1,
const int &  depth 
)

◆ print_matrix()

void print_matrix ( const std::vector< double > &  matrix)

◆ write_scores()

void write_scores ( std::ofstream &  file,
std::vector< SolversIndividuals > &  population,
SolversIndividuals best_to_write,
const int &  gen 
)