4x4的方格作為棋盤
16張牌打亂之後背著放在棋盤的格子裡
牌分為黑紅兩隊
規則是象吃獅 獅吃虎 吃豹狼吃狗吃貓 吃鼠 最後鼠吃象 同級相吃兩個都消失
先手的那個人先翻一張牌,翻到什麼顏色就用什麼顏色.後翻的只能用另一種顏色
第一個翻開第一張牌確定了雙方各用什麼顏色的牌
然後第二個也翻一張,然後第一個人開始走第二步
他可以選擇繼續翻牌,或者用已經翻開的牌去撞他周圍的4張牌
撞完哪張就翻開哪張,如果是自己的的牌,就完成本回合,如果是對方的牌,按照規則,誰小誰被殺死.被撞得小的話就吃了它,然後占領他的格子
玩到後期的時候,棋盤就有空格了,這時候可以選擇上下左右走一步或者繼續撞牌
在中間沒有其他子的情況下,豹可以自由橫向豎向移動,其他棋子只能上、下、左、右移動一格
根據他所提供的說明,運用WPF,做了一個小軟件,其中翻牌效果應用了http://code.google.com/p/hackerzhou/downloads/detail?name=WPF_3D_Rotate.rar提供的效果。界面風格用了高手的動畫效果http://bbs.silverlightchina.net/forum.php?mod=viewthread&tid=14403
游戲主界面如下:
主要代碼實現:
1.初始化棋子:
ChessPiece rElephant = new ChessPiece("象",Colors.Red,7); listChess.Add(rElephant); ChessPiece rLion = new ChessPiece("獅",Colors.Red,6); listChess.Add(rLion); ChessPiece rTiger = new ChessPiece("虎",Colors.Red,5); listChess.Add(rTiger);
2.吃子規則:
/// <summary> /// 棋子互吃規則 /// </summary> /// <param name="movePiece"></param> /// <param name="targetPiece"></param> /// <returns></returns> private bool CanEat(ChessPiece movePiece,ChessPiece targetPiece) { //互吃的子必須顏色不同 if (movePiece.Color != targetPiece.Color) { if (movePiece.Name == "鼠" && targetPiece.Name == "象") { return true; } else if (movePiece.Name == "象" && targetPiece.Name == "鼠") { return false; } else if (movePiece.Index >= targetPiece.Index) { return true; } return false; } return false; }
3.