public MainWindow()
        {
            InitializeComponent();
            this.Text = this.Text + " - Wersja " + Application.ProductVersion.ToString();
            this.random = new Random();
            this.dbg = new DebugWindow();
            this.btnShowDebugWindow_Click(null, null);

            this.pawn_matrix = new PawnType[8, 8];
            this.field_matrix = new Label[8, 8];
            this.selected_color_matrix = new Color[8, 8];
            this.normal_color_matrix = new Color[8, 8];

            this.selected_field = PointExt.Invalid;

            for (int r = 0; r < 8; r++)
                for (int c = 0; c < 8; c++)
                {
                    string cname = string.Format("p{0}{1}", (char)('A' + r), 1 + c);
                    this.field_matrix[r, c] = this.panel1.Controls[cname] as Label;

                    this.normal_color_matrix[r, c] = (r + c) % 2 == 0 ? Color.White : Color.Silver;
                    this.selected_color_matrix[r, c] = (r + c) % 2 == 0 ? Color.FromArgb(255 - 50, 255, 255 - 50) : Color.FromArgb(192 - 50, 192, 192 - 50);

                    this.field_matrix[r, c].BackColor = this.normal_color_matrix[r, c];
                }

            this.current_turn = PawnColor.None;
            this.cpu_color = PawnColor.None;
            this.human_color = PawnColor.None;
            this.ShowGameState();

            // uruchomienie bota
            this.bot = new MojBot();
            this.lblBotAuthor.Text = this.bot.GetAuthor();
            this.lblBotDescription.Text = this.bot.GetDescripion();

            try
            {
                this.bot.Initialize();
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("Wyjątek podczas uruchamiania metody Bot.Initialize():\n{0}", ex.Message),
                    Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 public VirtualBoard(MainWindow base_form, DebugWindow dbg, PawnType[,] pawn_matrix)
 {
     this.base_form = base_form;
     this.dbg = dbg;
     this.pawn_matrix = pawn_matrix.Clone() as PawnType[,];
 }