程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 用WPF實現獸棋游戲

用WPF實現獸棋游戲

編輯:關於.NET

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.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved