五子棋java_实现一个Java五子棋

五子棋手把手教你写:

写在前面的话:

回想起从前初学代码的五子棋简直写的不像样子。今天闲来无事就写了个五子棋的小程序。

一来呢回忆一下很久以前写代码时的感觉。

二来呢顺便帮下诸位有需求的学生,顺利的Ctrl+C。

五子棋的运行效果如下。

fe279855d5cb34621c277c9dc4a8ee33.png

开发环境:

这个小程序是基于Java实现的。因此呢需要提前安装JDK环境。(老油条忽略此条信息)

开发环境jdk1.8 + eclipse

eclipse 目录结构如下所示,就三个类啊。

5b378a181afc67e0eee04cce941705f1.png

棋盘数据结构核心:

无论你做数据库开发还是做一些小程序,第一时间考虑的必须是需求+建模。把核心设计出来。

此次我们用一个二维数组作为棋盘,每条线交叉的地方设为二维数组的值,并约定:

0=空

1=白棋

2=黑棋

然后对应的把下棋,悔棋,判断输赢(横竖斜)和清盘的算法都实现出来。

具体展现如下:

悔棋时候我们需要用一个栈来保存我们之前下棋的信息:

/**

* 在该位置下棋 1:white 2:black

* @param x 横坐标

* @param y 纵坐标

* @param var 棋子种类

* @return 1:white 赢 2:black赢*/

public int ChessIt(int x,int y,int var) {if(__CanInput(x,y)) {

core[x][y]=var;

Chess chess= newChess(x,y);

stack.push(chess);return checkVictory(x, y, var);

}else return -1;

}//悔棋

publicboolean RetChess() {if(stack.isEmpty()) return false;

Chess chess=stack.pop();

core[chess.x][chess.y]= 0;return true;

}

总体:Core.java 的代码如下·:

package main;

import java.util.Stack;/**

* @author GodofOrange

* 棋盘数据结构*/

public classCore {//棋盘大小

private int[][] core;private intx;private inty;//记录下棋的类

classChess{intx;inty;public Chess(int x,inty) {this.x=x;this.y=y;

}

}//栈

Stackstack;//构造方法

public Core(int x,inty) {

stack= new Stack<>();

core= new int[x][y];this.x=x;this.y=y;

}//检查该地是否有空位置

private boolean __CanInput(int x,inty) {if(core[x][y]==0) return true;else return false;

}//判断输赢

private int checkVictory(int x,int y,int var) {//横向判断

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值