public che(player.colour a) { this.type = game.type.che; this.color = a; switch (color) { case player.colour.black: this.pic = Image.FromFile("./pic/1.png"); return; case player.colour.red: this.pic = Image.FromFile("./pic/11.png"); return; } }
public xiang(player.colour a) { this.type = game.type.xiang; this.color = a; switch (color) { case player.colour.black: this.pic = Image.FromFile("./pic/5.png"); return; case player.colour.red: this.pic = Image.FromFile("./pic/51.png"); return; } }
/// <summary> /// initialize the the board /// put chess on board /// </summary> /// <param name="g"></param> public void init(Graphics g) { qipan = new chessboard(); drawing = new drawing(g, qipan); switch (gamemode) { case mode.free_local: playerA = new player(this); playerA.seat = player.set.top; playerA.playersource = player.source.local; playerA.color = player.colour.black; playerA.ini(); playerB = new player(this); playerB.seat = player.set.bottom; playerB.playersource = player.source.local; playerB.color = player.colour.red; playerB.ini(); break; case mode.turn_local: playerA = new player(this); playerA.seat = player.set.top; playerA.playersource = player.source.local; playerA.color = player.colour.black; playerA.ini(); playerB = new player(this); playerB.seat = player.set.bottom; playerB.playersource = player.source.local; playerB.color = player.colour.red; playerB.ini(); playerB.turn = true; this.turn = turnm.playerB; break; case mode.networking: break; case mode.AI: break; } }
public override void clicked(Point point, player.colour color) { foreach (var piece1 in game.qipan.qz) { if (piece1.position == point && piece1.color == color) { foreach (var piece2 in game.qipan.qz) { if (piece2.selected && piece2.position == piece1.position)//if it's select, and clicked on it again, then dis-select it. { piece2.selected = false; return; } else if (piece2.selected && piece2.color == piece1.color) //if the one clicked and the one selected are in the same color, then select the one clicked. { piece2.selected = false; piece1.selected = true; return; } else if (piece2.selected && piece2.color != piece1.color) //吃子 { game.move(piece2.position, piece1.position); //p.position = point; //p.selected = false; return; } } piece1.selected = true; return; } } foreach (var piece1 in game.qipan.qz) { if (piece1.selected) { game.move(piece1.position, point); return; } } }
public virtual void clicked(Point p, player.colour color) { }