C#實現的象棋遊戲程式

來源:互聯網
上載者:User

這個程式是為我的學生做的一個象棋遊戲,裡面涉及大家有興趣的朋友可以下載來看看

其中繪製了一個虛擬網格,其中網格分布為9X10分布,和正規象棋布局一樣,即GridX,GridY作為該網格的X,Y座標,所有座標點均採用此虛擬網格進行轉換

其中定義了一個棋子介面,所有棋盤和棋子之間的互動均來自此介面

public interface IChessItem
{
/**//// <summary>
/// 為藍方還是紅方
/// </summary>
Enums.ChessType type{get;set;}
/**//// <summary>
/// 是否被按下
/// </summary>
bool IsChecked{get;set;}
/**//// <summary>
/// 移動的步長X
/// </summary>
int StepX{get;}
/**//// <summary>
/// 移動的步長Y
/// </summary>
int StepY{get;}
/**//// <summary>
/// 在棋盤網格中的X座標
/// </summary>
int GridX{get;set;}
/**//// <summary>
/// 在棋盤網格中的Y座標
/// </summary>
int GridY{get;set;}
/**//// <summary>
/// 移動棋子
/// </summary>
/// <param name="ChessX">將要移動的網格X座標</param>
/// <param name="ChessY">將要移動的網格Y座標</param>
/// <returns>是否成功移動</returns>
bool MoveItem(int ChessX,int ChessY);
/**//// <summary>
/// 初始化棋子
/// </summary>
void InitItem();
/**//// <summary>
/// 移除棋子,作為被其他棋子吃掉
/// </summary>
void Remove();
}

其中有兩個比較重要的事件 private void cib_Click(object sender, EventArgs e)此事件為棋子被點機事件,由它來響應棋子的選中以及吃別的棋子,名字沒改,呵呵,不好意思

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)此事件做為棋子實現移動

所有棋子移動均來源於IChessItem介面中的

bool MoveItem(int ChessX,int ChessY);

由於是給我學生看,此程式比較簡單,所以流程也比較簡單.學習C#的朋友可以來看一下,呵呵

其中演算法麻煩一點的是炮的翻山,馬的蹩腳,象的蹩腳

所有棋子繼承ChessItemBase,其中一些棋子重寫函數public virtual bool LimitPoint(int ChessX,int ChessY)以實現自己的特殊限制移動,比如炮,馬,象,兵等

Demo Soure http://www.cnblogs.com/Files/KeithDan/Chess.rar

http://www.cnblogs.com/KeithDan/archive/2006/12/06/583472.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.