国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

C#一個象棋游戲程序

2019-11-18 16:50:12
字體:
供稿:網(wǎng)友

這個程序是為我的學(xué)生做的一個象棋游戲,里面涉及大家有興趣的朋友可以下載來看看

其中繪制了一個虛擬網(wǎng)格,其中網(wǎng)格分布為9X10分布,和正規(guī)象棋布局一樣,即GridX,GridY作為該網(wǎng)格的X,Y坐標(biāo),所有坐標(biāo)點(diǎn)均采用此虛擬網(wǎng)格進(jìn)行轉(zhuǎn)換

其中定義了一個棋子接口,所有棋盤和棋子之間的交互均來自此接口
public interface IChessItem
    {
        /**//// <summary>
        /// 為藍(lán)方還是紅方
        /// </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>
        /// 在棋盤網(wǎng)格中的X坐標(biāo)
        /// </summary>
        int GridX{get;set;}
        /**//// <summary>
        /// 在棋盤網(wǎng)格中的Y坐標(biāo)
        /// </summary>
        int GridY{get;set;}
        /**//// <summary>
        /// 移動棋子
        /// </summary>
        /// <param name="ChessX">將要移動的網(wǎng)格X坐標(biāo)</param>
        /// <param name="ChessY">將要移動的網(wǎng)格Y坐標(biāo)</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)此事件為棋子被點(diǎn)機(jī)事件,由它來響應(yīng)棋子的選中以及吃別的棋子,名字沒改,呵呵,不好意思

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

所有棋子移動均來源于IChessItem接口中的
bool MoveItem(int ChessX,int ChessY);
由于是給我學(xué)生看,此程序比較簡單,所以流程也比較簡單.學(xué)習(xí)C#的朋友可以來看一下,呵呵
其中算法麻煩一點(diǎn)的是炮的翻山,馬的蹩腳,象的蹩腳

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

Demo Soure http://m.survivalescaperooms.com/Files/KeithDan/Chess.rar
http://m.survivalescaperooms.com/KeithDan/archive/2006/12/06/583472.html


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 荆州市| 临安市| 金华市| 疏勒县| 休宁县| 梅州市| 饶河县| 松原市| 扎鲁特旗| 靖远县| 井研县| 常宁市| 安顺市| 临沂市| 子长县| 福海县| 信宜市| 蓝山县| 垣曲县| 射阳县| 淮南市| 闸北区| 马公市| 洱源县| 百色市| 同江市| 紫金县| 西丰县| 靖安县| 分宜县| 彭山县| 蒲江县| 海兴县| 蒙城县| 会同县| 合肥市| 甘谷县| 社旗县| 河西区| 古田县| 建阳市|