diff --git a/ReversiArtificialIntelligence/IReversiPlayer.cs b/ReversiArtificialIntelligence/IReversiPlayer.cs index 3883d09..d2ea1b3 100644 --- a/ReversiArtificialIntelligence/IReversiPlayer.cs +++ b/ReversiArtificialIntelligence/IReversiPlayer.cs @@ -22,6 +22,8 @@ public interface IReversiPlayer /// The game board /// The current player's color /// The point in which the next disc should be played + + Point NextMove(Disc[,] board, Disc playerColor); } } diff --git a/ReversiArtificialIntelligence/ReversiArtificialIntelligence.csproj b/ReversiArtificialIntelligence/ReversiArtificialIntelligence.csproj index f3399ec..30aac59 100644 --- a/ReversiArtificialIntelligence/ReversiArtificialIntelligence.csproj +++ b/ReversiArtificialIntelligence/ReversiArtificialIntelligence.csproj @@ -45,6 +45,7 @@ + diff --git a/ReversiWebShowdown/dump.txt b/ReversiWebShowdown/dump.txt index 919b939..fde3e6d 100644 --- a/ReversiWebShowdown/dump.txt +++ b/ReversiWebShowdown/dump.txt @@ -1,4 +1,4 @@ -MinimaxReversiPlayer,SimpleReversiPlayer# +Mip,SimpleReversiPlayer# -------- -------- -------- @@ -63,506 +63,506 @@ $ -------- $ -X------ --X-X---- --XOXO--- ----XO--- +-X------ +-XXXXX-- +---OX--- ---XO--- -------- -------- -------- $ --X------ --X-X---- --XOXO--- ----OO--- ---OOO--- +OX------ +-O------ +-XOXXX-- +---OX--- +---XO--- -------- -------- -------- $ --X------ --X-X---- --XOXX--- ----OOX-- ---OOO--- +OX------ +-O------ +-XOXXX-- +--XXX--- +---XO--- -------- -------- -------- $ --X-O---- --X-O---- --XOOX--- ----OOX-- ---OOO--- +OX------ +-O------ +-XOOOOO- +--XXX--- +---XO--- -------- -------- -------- $ --X-O---- --X-O---- --XOOX--- ----XOX-- ---XOO--- --X------ +OX------ +-O------ +-XXXXXXX +--XXX--- +---XO--- +-------- -------- -------- $ --X-O---- --X-O---- --XOOO--- ----XOO-- ---XOO-O- --X------ +OX------ +-O--O--- +-XXXOXXX +--XXO--- +---XO--- +-------- -------- -------- $ --X-O---- --X-O---- --XXXXX-- ----XOO-- ---XOO-O- --X------ +OX------ +-O--O--- +-XXXOXXX +--XXX--- +---XXX-- +-------- -------- -------- $ -OX-O---- --O-O---- --XOXXX-- ----OOO-- ---XOO-O- --X------ +OX------ +-O--O--- +OOOOOXXX +--XXX--- +---XXX-- +-------- -------- -------- $ -OX-O---- --O-O---- --XOXXX-- ----OXX-- ---XXXXO- --X------ +OX--X--- +-O--X--- +OOOOXXXX +--XXX--- +---XXX-- +-------- -------- -------- $ -OX-O---- --O-O---- --XOXXX-- +OX--X--- +-O--X--- +OOOOXXXX +--XOX--- ---OXX-- --OOOOOO- --X------ +---O---- -------- -------- $ -OX-O---- --O-O---- --XOXXX-- +OX--X--- +-OX-X--- +OOXXXXXX +--XOX--- ---OXX-- --OOOOXO- --X---X-- +---O---- -------- -------- $ -OX-O---- --O-O---- --XOOOOO- ----OXO-- --OOOOXO- --X---X-- +OX--X--- +-OOOX--- +OOXOXXXX +--XOX--- +---OXX-- +---O---- -------- -------- $ -OX-O---- --O-O-X-- --XOOXXO- ----XXX-- --OXOOXO- --X---X-- +OX--X--- +XXXXX--- +OXXOXXXX +--XOX--- +---OXX-- +---O---- -------- -------- $ -OX-O---- --O-OOX-- --XOOOXO- ----XOX-- --OXOOXO- --X---X-- +OOO-X--- +XOXXX--- +OXXOXXXX +--XOX--- +---OXX-- +---O---- -------- -------- $ -OXXO---- --O-XOX-- --XOOXXO- ----XOX-- --OXOOXO- --X---X-- +OOO-X--- +XOXXX--- +OXXXXXXX +--XXX--- +---XXX-- +---X---- +---X---- -------- +$ +OOO-X--- +XOOXX--- +OXXOXXXX +--XXO--- +---XXO-- +---X--O- +---X---- -------- $ -OXXOO--- --O-OOO-- --XOOXXO- ----XOX-- --OXOOXO- --X---X-- +OOOXX--- +XOXXX--- +OXXOXXXX +--XXO--- +---XXO-- +---X--O- +---X---- -------- +$ +OOOXX--- +XOOXX--- +OXOOXXXX +--OXO--- +--OOOO-- +---X--O- +---X---- -------- $ -OXXOO--- --OXOOO-- --XOXXXO- ----XXX-- --OXOOXO- --X---X-- +OOOXX--- +XOOXX--- +OXOOXXXX +--XXX--- +--OXXO-- +---XX-O- +---X---- -------- +$ +OOOXX--- +XOOOOO-- +OXOOOXXX +--XOX--- +--OXXO-- +---XX-O- +---X---- -------- $ -OXXOO--- --OXOOO-- --XOXOXO- ----OXX-- --OOOOXO- --O---X-- -O------- +OOOXX--- +XXXXXXX- +OXOOOXXX +--XOX--- +--OXXO-- +---XX-O- +---X---- -------- $ -OXXOO--- --OXOOO-- --XOXOXO- ----OXX-- -XXXXXXO- --O---X-- -O------- +OOOXX--- +XXXXXXX- +OXOOOXXX +--XOO--- +--OXOO-- +---OO-O- +---XO--- -------- $ -OXXOO--- +OOOXX--- +XXXXXXX- +OXOOXXXX +--XOX--- +--OXXO-- +---OX-O- +---XX--- +----X--- +$ +OOOXX--- +XXXOXXX- +OXOOOXXX +--XOOO-- +--OXOO-- +---OX-O- +---XX--- +----X--- +$ +OOOXX--- +XXXOXXX- +OXXOOXXX +--XXOX-- +--OXXX-- +---OXXO- +---XX--- +----X--- +$ +OOOXX--- +XXXOOOOO +OXXOOXOX +--XXOO-- +--OXOX-- +---OXXO- +---XX--- +----X--- +$ +OOOXXX-- +XXXOXXXO +OXXXOXOX +--XXOO-- +--OXOX-- +---OXXO- +---XX--- +----X--- +$ +OOOOOOO- +XXXOXOOO +OXXXOXOX +--XXOO-- +--OXOX-- +---OXXO- +---XX--- +----X--- +$ +OOOOOOOX +XXXOXOXX +OXXXOXOX +--XXOO-- +--OXOX-- +---OXXO- +---XX--- +----X--- +$ +OOOOOOOX +XOXOXOXX +OOOXOXOX +-OOOOO-- +--OXOX-- +---OXXO- +---XX--- +----X--- +$ +OOOOOOOX +XOXOXOXX +OOXXOXOX -OXOOO-- --XOXOOO- ----OXO-- -XXXXXOO- --O---O-- -O----O-- --------- +--XXOX-- +--XXXXO- +---XX--- +----X--- $ -OXXOO--- +OOOOOOOX +XOOOXOXX +OOOXOXOX +-OOOOO-- +--OXOX-- +--OOXXO- +--OXX--- +----X--- +$ +OOOOOOOX +XOOOXOXX +OOOXOXXX +-OOOOX-- +--OXXX-- +--OXXXO- +--XXX--- +-X--X--- +$ +OOOOOOOX +XOOOXOXX +OOOXOOXX +-OOOOO-- +--OOXO-- +--OXOOO- +--XXXO-- +-X--X--- +$ +OOOOOOOX +XOOOXOXX +OXOXOOXX -OXOOO-- --XOXXXXX ----OXO-- -XXXXXOO- --O---O-- -O----O-- --------- +--OXXO-- +--OXXOO- +--XXXX-- +-X--X-X- $ -OXXOO--- +OOOOOOOX +XOOOXOXX +OXOXOOXX -OXOOO-- --XOXOXXX ----OOO-- -XXXXOOO- --O--OO-- -O----O-- --------- -$ -OXXOO--- --OXXOO-- --XOXXXXX ----OOX-- -XXXXOOX- --O--OO-X -O----O-- --------- -$ -OXXOO--- --OXXOO-O --XOXXXOX ----OOO-- -XXXXOOX- --O--OO-X -O----O-- --------- -$ -OXXOO--- --OXXOO-O --XOXXXOX ----OOX-- -XXXXOXX- --O--OX-X -O----X-- ------X-- -$ -OXXOO--- --OXXOO-O --XOXXOOX ----OOOO- -XXXXOOX- --O--OX-X -O----X-- ------X-- -$ -OXXOO--X --OXXOO-X --XOXXOOX ----OOOO- -XXXXOOX- --O--OX-X -O----X-- ------X-- -$ -OXXOO--X --OOXOO-X --OOXXOOX -O--OOOO- -XXXXOOX- --O--OX-X -O----X-- ------X-- -$ -OXXOO--X --OOXXXXX --OOXXXXX -O--OXOX- -XXXXOOX- --O--OX-X -O----X-- ------X-- -$ -OXXOO--X --OOXOXXX --OOXXOXX -O--OXOO- -XXXXOOOO --O--OX-X -O----X-- ------X-- -$ -OXXOO--X --OOXOXXX --OOXXOXX -O--OXXXX -XXXXOOXX --O--OX-X -O----X-- ------X-- -$ -OXXOO--X --OOXOXXX --OOXXOXX -O--OOXXX -XOXOOOXX --OO-OX-X -O----X-- ------X-- -$ -OXXOO--X --XOXOXXX -XXXXXOXX -X--OOXXX -XOXOOOXX --OO-OX-X -O----X-- ------X-- -$ -OXXOO--X --XOXOXXX -XXOOXOXX -X-OOOXXX -XOOOOOXX --OO-OX-X -O----X-- ------X-- +--OOXO-- +--OOXOO- +--XOOX-- +-X-OX-X- $ -OXXOO--X --XXXOXXX -XXOXXOXX -X-OOXXXX -XOOOOXXX --OO-OXXX -O----X-- ------X-- -$ -OXXOO--X -OOOOOXXX -XOOXXOXX -X-OOXXXX -XOOOOXXX --OO-OXXX -O----X-- ------X-- -$ -OXXOO--X -OOXOOXXX -XOXXXOXX -X-XOXXXX -XOXOOXXX --XX-OXXX -O-X--X-- ------X-- -$ -OXXOO--X -OOXOOXXX -OOXXXOXX -O-XOXXXX -OOXOOXXX -OXX-OXXX -O-X--X-- ------X-- -$ -OXXOO--X -OXXOOXXX -OXXXXOXX -OXXOXXXX -OXXOOXXX -OXX-OXXX -O-X--X-- ------X-- +OOOOOOOX +XOOOXOXX +OXOXOXXX +-OXXXXX- +--OOXX-- +--OOXOO- +--XOOX-- +-X-OX-X- $ -OXXOO--X -OXXOOXXX -OXXXXOXX -OOXOXXXX -OXOOOXXX -OOOOOXXX -O-X--X-- ------X-- +OOOOOOOX +XOOOXOXX +OXOXOXOX +-OOOOOOO +--OOXX-- +--OOXOO- +--XOOX-- +-X-OX-X- $ -OXXOO--X -OXXOOXXX -OXXXXOXX -OOXXXXXX -OXOXOXXX -OOXXXXXX -O-XX-X-- ------X-- +OOOOOOOX +XOOOXOXX +OXOXOXOX +-XXOOOOO +-XXXXX-- +--XOXOO- +--XXOX-- +-X-OX-X- $ -OXXOO--X -OXXOOXXX -OXXOXOXX -OOXOXXXX -OXOOOXXX -OOXOXXXX -O-OO-X-- ----O-X-- +OOOOOOOX +XOOOXOXX +OXOXOXOX +-XOOOOOO +-XOXXO-- +--OOOOO- +--OOOX-- +-XOOX-X- $ -OXXOO--X -OXXOOXXX -OXXOXOXX -OOXOXXXX -OXOOOXXX -OOXOXXXX -O-XX-X-- ---XO-X-- +OOOOOOOX +XOOOXOXX +OXOXOXOX +-XOOOOOO +-XOXXO-- +--XOOOO- +-XXXXX-- +-XOOX-X- $ -OXXOO--X -OXXOOXXX -OXXOXOXX -OOXOOXXX -OXOOOOXX -OOXOXXOX -O-XX-X-O ---XO-X-- -$ -OXXOO--X -OXXOOXXX -OXXOXOXX -OOXOOXXX -OXOOOOXX -OOXOXXOX -O-XX-X-X ---XO-X-X -$ -OXXOO-OX -OXXOOOOX -OXXOOOOX -OOXOOXOX -OXOOOOOX -OOXOXXOX -O-XX-X-X ---XO-X-X +OOOOOOOX +XOOOXOXX +OOOXOXOX +-OOOOOOO +-OOXXO-- +-OOOOOO- +-XOXXX-- +-XOOX-X- $ -OXXXXXXX -OXXOXXXX -OXXXOXOX -OOXOOXOX -OXOOOOOX -OOXOXXOX -O-XX-X-X ---XO-X-X +OOOOOOOX +XOOOXOXX +OOOXOXXX +-OOOOOXO +-OOXXXX- +-OOOOXO- +-XOXXX-- +-XOOX-X- +$ +OOOOOOOX +XOOOOOXX +OOOXOOXX +-OOOOOOO +-OOOOOOO +-OOOOXO- +-XOXXX-- +-XOOX-X- $ -OXXXXXXX -OXXOXXXX -OXXXOXOX -OOXOOXOX OOOOOOOX -OOOOXXOX -O-XO-O-X ---XOOX-X +XOOOOOXX +OOOXOOXX +-OXOOOOO +-XOOOOOO +XXXXXXO- +-XOXXX-- +-XOOX-X- $ -OXXXXXXX -OXXOXXXX -OXXXOXOX -OXXOXXOX -OXOXOOOX -OXXOXXOX -OXXO-O-X ---XOOX-X +OOOOOOOX +XOOOOOXX +OOOXOOXX +-OXOOOOO +-XOOOOOO +XXXOXOO- +-XOXOO-- +-XOOOOX- $ -OXXXXXXX -OXXOXXXX -OXXXOXOX -OXXOXXOX -OXOXOOOX -OXXOOOOX -OXXOOO-X ---XOOX-X +OOOOOOOX +XOOOOOXX +OOOXOOXX +-OXOOOXO +-XOOOOXO +XXXOXOX- +-XOXXXX- +-XOOOOX- $ -OXXXXXXX -OXXOXXXX -OXXXOXXX -OXXXXXXX -OXOXXOXX -OXXOOXXX -OXXXXXXX ---XOOX-X +OOOOOOOX +XOOOOOXX +OOOXOOXX +-OXOOOXO +-XOOOOXO +XXXOXOO- +-XOOOOOO +-XOOOOX- $ -OXXXXXXX -OXXOXXXX -OXXXOXXX -OXXXXXXX -OXOXXOXX -OXXOOXXX -OXOXXXXX --OOOOX-X +OOOOOOOX +XOOOOOXX +OOOXOOXX +-OXOOOXX +-XOOOOXX +XXXOXXXX +-XOOOOOO +-XOOOOX- $ -OXXXXXXX -OXXOXXXX -OXXXOXXX -OXXXXXXX -OXOXXOXX -OXXOOXXX -OXOXXXXX -XXXXXX-X +OOOOOOOX +XOOOOOXX +OOOXOOXX +-OXOOOXX +-XOOOOXX +XXOOXXXX +-OOOOOOO +OOOOOOX- $ -OXXXXXXX -OXXOXXXX -OXXXOXXX -OXXXXXXX -OXOXXOXX -OXXOOXXX -OXOXXOXX -XXXXXXOX +OOOOOOOX +XOOOOOXX +XOOXOOXX +XXXOOOXX +-XOOOOXX +XXOOXXXX +-OOOOOOO +OOOOOOX- $ -OXXXXXXX -OXXOXXXX -OXXXOXXX -OXXXXXXX -OXOXXOXX -OXXOOXXX -OXOXXOXX -XXXXXXOX +OOOOOOOX +OOOOOOXX +OOOXOOXX +OOXOOOXX +OOOOOOXX +XOOOXXXX +-OOOOOOO +OOOOOOX- $ -OXXXXXXX -OXXOXXXX -OXXXOXXX -OXXXXXXX -OXOXXOXX -OXXOOXXX -OXOXXOXX -XXXXXXOX +OOOOOOOX +OOOOOOXX +OOOXOOXX +OOXOOOXX +OOOOOOXX +XOOOXXXX +-OOOOOXX +OOOOOOXX +$ +OOOOOOOX +OOOOOOXX +OOOXOOXX +OOXOOOXX +OOOOOOXX +OOOOXXXX +OOOOOOXX +OOOOOOXX +$ +OOOOOOOX +OOOOOOXX +OOOXOOXX +OOXOOOXX +OOOOOOXX +OOOOXXXX +OOOOOOXX +OOOOOOXX +$ +OOOOOOOX +OOOOOOXX +OOOXOOXX +OOXOOOXX +OOOOOOXX +OOOOXXXX +OOOOOOXX +OOOOOOXX $