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 }
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(); } }
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(); }
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(); }