Dremi的专栏

过程重于结果。因为虽然梦想的实现可以改变生活,但你为了梦想而努力的过程,却恰恰是生活本身。 *...

人机博弈之(六)------代码实现(1)常量数据

package constdata;

//数据表示
//


public class ConstData
...{
    
public final static byte NOCHESS        = 0;    //无子
    
//黑方
    public final static byte B_KING            = 1;    //黑帅
    public final static byte B_CAR            = 2;    //黑车
    public final static byte B_HORSE        = 3;    //黑马
    public final static byte B_CANON        = 4;    //黑炮
    public final static byte B_BISHOP        = 5;    //黑士
    public final static byte B_ELEPHANT     = 6;    //黑象
    public final static byte B_PAWN            = 7;    //黑兵

    
public final static byte B_BEGIN        = 1;
    
public final static byte B_END            = 7;
    
//红方
    public final static byte R_KING            = 8;    //红将
    public final static byte R_CAR            = 9;    //红车
    public final static byte R_HORSE        = 10;    //红马
    public final static byte R_CANON        = 11;    //红炮
    public final static byte R_BISHOP        = 12;    //红仕
    public final static byte R_ELEPHANT     = 13;    //红相
    public final static byte R_PAWN            = 14;    //红卒

    
public final static byte R_BEGIN        = 8;
    
public final static byte R_END            = 14;

    
//定义每种棋的价值
    
//兵100,士250,象250,马350,炮350车500
    public final static int BASEVALUE_PAWN        = 100;
    
public final static int BASEVALUE_BISHOP    = 250;
    
public final static int BASEVALUE_ELEPHANT     = 250;
    
public final static int BASEVALUE_HORSE        = 350;
    
public final static int BASEVALUE_CANON        = 350;
    
public final static int BASEVALUE_CAR        = 500;
    
public final static int BASEVALUE_KING        = 10000;

    
//定义各种棋子的灵活性
    
//也就是每多一个可走位置应加上的值
    
//兵15,士1,象1,车6,马12,炮6,王0
    public final static int FLEXIBLE_PAWN        = 15;
    
public final static int FLEXIBLE_BISHOP        = 1;
    
public final static int FLEXIBLE_ELEPHANT     = 1;
    
public final static int FLEXIBLE_HORSE        = 12;
    
public final static int FLEXIBLE_CANON        = 6;
    
public final static int FLEXIBLE_CAR        = 6;
    
public final static int FLEXIBLE_KING        = 0;
    
    
//初始棋盘
    public  final static byte INITCHESSBOARD[][]=
    
...{
        
...{2,  3651,  5632},
        
...{000,    0,  00,  0,    00},
        
...{040,    0,  00,  0,    40},
        
...{7,  07,  0,  7,  0,  7,     07},
        
...{000,    0,  00,  0,    00},
        
...{000,    0,  00,  0,    00},
        
...{14,  014,     0,  14,  0,  14014},
        
...{0110,    0,  00,  0,    110},
        
...{000,    0,  00,  0,    00},
        
...{9,   1013128,  121310,9}
    }
;

    
//判断chessID是否是黑棋
    public static boolean isBlack(byte chessID)
    
...{
        
return (chessID >= B_BEGIN && chessID <= B_END);
    }

    
//判断chessID是否是红棋
    public static boolean isRed(byte chessID)
    
...{
        
return (chessID >= R_BEGIN && chessID <= R_END);
    }

    
//判断chessID1和chessID2是否是同色
    public static boolean isSameSide(byte chessID1, byte chessID2)
    
...{
        
return ( (isBlack(chessID1)&&isBlack(chessID2))||(isRed(chessID1) && isRed(chessID2)));
    }


}
 
阅读更多
文章标签: byte class
个人分类: 开发设计
想对作者说点什么? 我来说一句

PC游戏编程(人机博弈)

2012年03月13日 2.15MB 下载

PC游戏编程(人机博弈)_含源码

2010年01月02日 9.93MB 下载

PC游戏编程(人机博弈)源代码

2010年11月26日 1.81MB 下载

中国象棋人机博弈源码

2012年01月01日 2.19MB 下载

五子棋(人机博弈)源代码汇总

2010年05月08日 20.1MB 下载

PC游戏编程(人机博弈

2012年12月10日 8.44MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭