Пример #1
0
 public Game(ref PictureBox table, ref Label players_label)
 {
     this.table         = table;
     this.players_label = players_label;
     board = new Board();
     board.Init(ref table);
     selected1 = null;
     selected2 = null;
     player    = 1; //by default starting player is 1
 }
Пример #2
0
        public void Move()  //player is information wich player moves now 1/2. players_label is a
                            //labl changing text and colour on move (label above table) and coordinates contains x and y coordinate of mouse
        {
            if (selected1 == null || selected2 == null)
            {
                return;  //if player select onyl one node do nothing, waiting for secound
            }

            if (selected1.figure.Move(selected2_x, selected2_y, board))
            {
                if (selected2.figure != null)
                {
                    selected2.figure.Dead();
                }

                selected2.figure   = selected1.figure;
                selected2.figure.x = selected2_x;
                selected2.figure.y = selected2_y;
                selected1.figure   = null;


                selected1.colour = selected1.base_colour;
                selected2.colour = selected2.base_colour;
                selected1        = null;
                selected2        = null;

                if (player == 1)
                {
                    player = 2;
                    players_label.ForeColor = System.Drawing.Color.Orange;
                    players_label.Text      = ("Gracz 2");
                }
                else
                {
                    player = 1;
                    players_label.ForeColor = System.Drawing.Color.Green;
                    players_label.Text      = ("Gracz 1");
                }

                board.Draw();
            }
        }
Пример #3
0
        public void Init(ref PictureBox table)
        {
            this.table = table;

            for (int i = 0; i < 8; i++)
            {
                for (int j = 0; j < 8; j++)
                {
                    nodeTable[i, j] = new BoardNodes();
                }
            }

            FiguresInit();

            for (int i = 0; i < 8; i++)
            {
                for (int j = 0; j < 8; j++)
                {
                    nodeTable[i, j].x1 = j * 50;
                    nodeTable[i, j].y1 = i * 50;
                    nodeTable[i, j].x2 = (j * 50) + 50;
                    nodeTable[i, j].y2 = (i * 50) + 50;

                    if ((i + j) % 2 == 0)  //giving coulours for nodes
                    {
                        nodeTable[i, j].base_colour = (int)Colours.white;
                        nodeTable[i, j].colour      = (int)Colours.white;
                    }
                    else
                    {
                        nodeTable[i, j].base_colour = (int)Colours.black;
                        nodeTable[i, j].colour      = (int)Colours.black;
                    }
                }
            }

            Draw();
        }
Пример #4
0
        public void Select(Point coordinates)
        {
            int x;
            int y;

            Coordinates_to_nodes(out x, out y, coordinates);
            // board.nodeTable[x, y].colour = (int)Colours.red;


            if (board.nodeTable[x, y].figure != null)
            {
                if (selected1 == null && board.nodeTable[x, y].colour != (int)Colours.red && board.nodeTable[x, y].figure.player == player)
                {
                    board.nodeTable[x, y].colour = (int)Colours.red;
                    selected1   = board.nodeTable[x, y];
                    selected1_x = x;
                    selected1_y = y;
                }


                else if (selected1 != null && selected2 == null && board.nodeTable[x, y].colour != (int)Colours.red && board.nodeTable[x, y].figure.player != player)
                {
                    board.nodeTable[x, y].colour = (int)Colours.red;
                    selected2   = board.nodeTable[x, y];
                    selected2_x = x;
                    selected2_y = y;
                }
                else if (board.nodeTable[x, y].colour == (int)Colours.red)
                {
                    if (board.nodeTable[x, y] == selected1)
                    {
                        board.nodeTable[x, y].colour = board.nodeTable[x, y].base_colour;
                        selected1 = null;
                    }
                    else
                    {
                        board.nodeTable[x, y].colour = board.nodeTable[x, y].base_colour;
                        selected2 = null;
                    }
                }
            }
            else if (selected1 != null && selected2 == null && board.nodeTable[x, y].colour != (int)Colours.red)
            {
                board.nodeTable[x, y].colour = (int)Colours.red;
                selected2   = board.nodeTable[x, y];
                selected2_x = x;
                selected2_y = y;
            }

            else if (board.nodeTable[x, y].colour == (int)Colours.red)
            {
                if (board.nodeTable[x, y] == selected1)
                {
                    board.nodeTable[x, y].colour = board.nodeTable[x, y].base_colour;
                    selected1 = null;
                }
                else
                {
                    board.nodeTable[x, y].colour = board.nodeTable[x, y].base_colour;
                    selected2 = null;
                }
            }


            board.Draw();
        }