Ejemplo n.º 1
0
        private static void test_Piotrka()
        {
            const int         r    = 8;  // number_of_fields_in_row = 8;
            const int         pcs  = 12; // number_of_pieces_per_player = 12;
            Draughts_checkers game = new Draughts_checkers(r, pcs);
            var white_key          = game.Generate_player_key(Color.White);

            Console.WriteLine("White key: " + white_key);

            var black_key = game.Generate_player_key(Color.Black);

            Console.WriteLine("Black key: " + black_key);
            Checkers_piece[,] board = new Checkers_piece[game.Number_of_fields_in_row, game.Number_of_fields_in_row];
            board[0, 1]             = new Checkers_piece(Color.White, Type.Man);
            board[0, 3]             = new Checkers_piece(Color.White, Type.Man);
            board[0, 5]             = new Checkers_piece(Color.Black, Type.King);
            board[0, 7]             = new Checkers_piece(Color.White, Type.Man);
            board[1, 0]             = new Checkers_piece(Color.Black, Type.Man);
            board[0, 3]             = new Checkers_piece(Color.Black, Type.Man);
            board[4, 7]             = new Checkers_piece(Color.White, Type.Man);
            board[6, 1]             = new Checkers_piece(Color.Black, Type.Man);
            board[6, 3]             = new Checkers_piece(Color.Black, Type.Man);
            board[6, 7]             = new Checkers_piece(Color.Black, Type.Man);
            board[7, 0]             = new Checkers_piece(Color.Black, Type.Man);
            board[7, 2]             = new Checkers_piece(Color.Black, Type.Man);
            game.Set_board(Color.Black, board);

            Display_Board.Display_board_of_game(game, game.Check_active_player());
            Make_move_and_display_boards(ref game, black_key, new Coordinates(5, 0), new Coordinates(0, 5));
        }
Ejemplo n.º 2
0
        private static void test_move_detector_1_no_move_detected()
        {
            const int         r    = 8;  // number_of_fields_in_row = 8;
            const int         pcs  = 12; // number_of_pieces_per_player = 12;
            Draughts_checkers game = new Draughts_checkers(r, pcs);
            var white_key          = game.Generate_player_key(Color.White);

            Console.WriteLine("White key: " + white_key);

            var black_key = game.Generate_player_key(Color.Black);

            Console.WriteLine("Black key: " + black_key);
            Checkers_piece[,] board_black = new Checkers_piece[game.Number_of_fields_in_row, game.Number_of_fields_in_row];
            {
                Draughts_checkers game_temp = new Draughts_checkers(r, pcs);
                board_black = game_temp.Get_copy_of_board(Color.Black);
            }
            Display_Board.Display_board_of_game(game, game.Check_active_player());
            try
            {
                var move = Move_Detector.DetectMove(Color.White, game, board_black);
                Make_move_and_display_boards(ref game, black_key, new Coordinates(5, 0), new Coordinates(0, 5));
            }
            catch (Exception e)
            { Console.WriteLine(e.Message); }
        }
Ejemplo n.º 3
0
        private static void test_capturing_multiple_oponents_pieces_by_one_king()
        {
            const int         r    = 8;  // number_of_fields_in_row = 8;
            const int         pcs  = 12; // number_of_pieces_per_player = 12;
            Draughts_checkers game = new Draughts_checkers(r, pcs);
            var white_key          = game.Generate_player_key(Color.White);

            Console.WriteLine("White key: " + white_key);

            var black_key = game.Generate_player_key(Color.Black);

            Console.WriteLine("Black key: " + black_key);
            Checkers_piece[,] board = new Checkers_piece[game.Number_of_fields_in_row, game.Number_of_fields_in_row];
            board[4, 1]             = new Checkers_piece(Color.White, Type.Man);
            board[5, 2]             = new Checkers_piece(Color.White, Type.King);
            board[2, 1]             = new Checkers_piece(Color.Black, Type.Man);
            board[6, 5]             = new Checkers_piece(Color.Black, Type.Man);
            board[1, 4]             = new Checkers_piece(Color.Black, Type.Man);
            game.Set_board(Color.White, board);

            Display_Board.Display_board_of_game(game, game.Check_active_player());
            Make_move_and_display_boards(ref game, white_key, new Coordinates(2, 5), new Coordinates(3, 4));
            Make_move_and_display_boards(ref game, black_key, new Coordinates(6, 5), new Coordinates(5, 4));
            //Make_move_and_display_boards(ref game, white_key, new Coordinates(3, 4), new Coordinates(2, 5));//runs exception
            Make_move_and_display_boards(ref game, white_key, new Coordinates(3, 4), new Coordinates(6, 7));//not run exception

            //Make_move_and_display_boards(ref game, white_key, new Coordinates(0, 1), new Coordinates(6, 7));//not run exception
            Make_move_and_display_boards(ref game, white_key, new Coordinates(1, 4), new Coordinates(3, 2));// runs exception
        }
Ejemplo n.º 4
0
        private static Checkers_piece[,] Rotate_board(Checkers_piece[,] board_to_rotate, int number_of_fields_in_row)
        {
            Checkers_piece[,] board_rotated = new Checkers_piece[number_of_fields_in_row, number_of_fields_in_row]; //row,column

            for (int i = 0; i < number_of_fields_in_row; i++)                                                       //i is row
            {
                for (int j = 0; j < number_of_fields_in_row; j++)                                                   //j is column
                {
                    board_rotated[number_of_fields_in_row - i - 1, number_of_fields_in_row - j - 1] = board_to_rotate[i, j];
                }
            }
            return(board_rotated);
        }
Ejemplo n.º 5
0
        private static void test_of_reference_in_functions() //now result is no//bcoz function set_board has been changed to load a copy, not a reference
        {
            const int         r    = 8;                      // number_of_fields_in_row = 8;
            const int         pcs  = 12;                     // number_of_pieces_per_player = 12;
            Draughts_checkers game = new Draughts_checkers(r, pcs);
            var white_key          = game.Generate_player_key(Color.White);

            Console.WriteLine("White key: " + white_key);

            var black_key = game.Generate_player_key(Color.Black);

            Console.WriteLine("Black key: " + black_key);
            Checkers_piece[,] board = new Checkers_piece[game.Number_of_fields_in_row, game.Number_of_fields_in_row];
            board[4, 3]             = new Checkers_piece(Color.White, Type.King);
            board[3, 2]             = new Checkers_piece(Color.Black, Type.Man);
            board[6, 5]             = new Checkers_piece(Color.Black, Type.Man);
            game.Set_board(Color.Black, board);
            Display_Board.Display_board_of_game(game, game.Check_active_player());

            board[1, 0] = new Checkers_piece(Color.Black, Type.King);
            Display_Board.Display_board_of_game(game, game.Check_active_player());
        }
Ejemplo n.º 6
0
        private static void test_NOT_change_man_to_king_and_capturings()
        {
            const int         r    = 8;  // number_of_fields_in_row = 8;
            const int         pcs  = 12; // number_of_pieces_per_player = 12;
            Draughts_checkers game = new Draughts_checkers(r, pcs);
            var white_key          = game.Generate_player_key(Color.White);

            Console.WriteLine("White key: " + white_key);

            var black_key = game.Generate_player_key(Color.Black);

            Console.WriteLine("Black key: " + black_key);

            Checkers_piece[,] board = new Checkers_piece[game.Number_of_fields_in_row, game.Number_of_fields_in_row];
            board[2, 7]             = new Checkers_piece(Color.White, Type.Man);
            board[1, 6]             = new Checkers_piece(Color.Black, Type.Man);
            board[1, 4]             = new Checkers_piece(Color.Black, Type.Man);
            game.Set_board(Color.White, board);

            Display_Board.Display_board_of_game(game, game.Check_active_player());
            Make_move_and_display_boards(ref game, white_key, new Coordinates(7, 2), new Coordinates(5, 0));
            Make_move_and_display_boards(ref game, white_key, new Coordinates(5, 0), new Coordinates(3, 2));
        }