Java实现单人版中国象棋小游戏的实现,具有时间设置,认输,悔棋,求和,自动判断输赢功能。

3 篇文章 0 订阅
2 篇文章 0 订阅

说明:这个小游戏是小马猿用了一个多月,自己一边学习一边码出来的,接近3000行的代码,所有算法都是自己不断摸索得到的,作为小马猿第一个游戏成品,现在分享给各位小伙伴。如果伙伴们在使用这份代码发现有什么不完整或不完美的地方,期待大家的指正,也希望得到一丝包容,毕竟小马猿敲这份代码时才一年多点的码龄。其中的棋子和棋盘的图片全来自网络。龄

1.游戏界面展示:棋子和棋盘图片来自网络分享,需要的知识有Swing界面加监听器,awt绘图和线程。其他的基本都是简单的判断语句和循环语句构成。

 2.部分变量

ArrayList<Retract_Chess> array = new ArrayList<Retract_Chess>();
    //获取当前平面分辨率,例如:1920x1080
    int sWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
    int sHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
    BufferedImage chess = null;
    //保存坐标值
    int x = 0;
    int y = 0;
    //判断坐标
    int x1 = 0;
    int y1 = 0;
    //点击棋子
    int cilk_X = -1;
    int cilk_Y = -1;
    //记录点击
    int cilk_X0 = -1;
    int cilk_Y0 = -1;
    //移动棋子
    int getX = -1;
    int getY = -1;
    //选择棋子
    int chess_Cilk = -1;
    int chess_Cilk2 = -1;
    //判断黑方还是红方
    boolean b = false;
    //判断需应将方
    boolean Back_RG = false;
    boolean Red_RG = false;
    boolean General_RG = false;
    //判断行棋是否可行
    boolean Red_Will_Chess = true;
    //判断是否悔棋
    boolean Retract_chess = false;
    //悔棋的次数
    int Red_num = 5;
    int Back_num = 5;
    //是否连续悔棋
    int color = 0;
    //保存下过的棋
    int[][] allChess = new int[10][9];
    //判输赢
    int [][] RG_Red = new int[10][9];
    int j = 17;
    int j2 = 12;
    // 标识当前应该是红子还是黑子
    boolean isRed = true;
    // 控制游戏是否可以玩
    boolean canPlay = true;
    // 保存游戏信息
    String message = "红方先行";
    // 保存最多拥有多少时间(秒)
    int maxTime = 0;
    // 做倒计时的线程类
    Thread t = new Thread(this);
    // 保存黑方与白方的剩余时间
    int blackTime = 0;
    int whiteTime = 0;
    // 保存双方剩余时间的显示信息
    String blackMessage = "无限制";
    String whiteMessage = "无限制";
    //走棋
    ChessMoveRule rule = new ChessMoveRule();
    //应将
    RespondGeneral respondGeneral = new RespondGeneral();
    //自动判断输赢
    CanPlay Play = new CanPlay();
    //判断是否将死
    boolean Can_RG = true;

3.类目录:类自上而下依次是:启动游戏类,自动判断输赢类,行棋规则类,游戏界面类,象棋绘制类,将军判断类,棋子行为类。

完整代码奉上,希望有所帮助。

网盘:百度网盘 请输入提取码

提取码:gax2

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值