1、初始化棋盘数据
2、打印棋盘
3、判断坐标是否超出棋盘范围
4、判断坐标上是否有棋子
5、落子
6、置反
7、打印棋盘
作为一个五子棋首先得有棋盘们才能下一把五子棋,应该首先初始化棋盘,什么样得棋子和棋盘
然后就得把棋盘打印出来,用的就是一个二维数组,在其中打印 ”+“号,然后最后排和列打印数字‘
我们下棋时得在空得地方写,重叠得时候不能下
还有是否超出棋盘得范围都是不能下得
然后就是下棋了,在空白地方落子,然后再反转,每次一下
最后打印棋盘;
(最后没有设置赢的方法,欢迎补充。谢谢)
package com.dream.test01;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
int length = 20;//棋盘长度
String[][] goBang = new String[length][length];//棋盘的容器
String add = "╋";
String black = "●";
String white = "○";
String[] nums = {"⒈","⒉","⒊","⒋","⒌","⒍","⒎","⒏","⒐","⒑","⒒","⒓","⒔","⒕","⒖","⒗","⒘","⒙","⒚","⒛"};
for (int i = 0; i < goBang.length; i++) {
for (int j = 0; j < goBang[i].length; j++) {
if(j == length-1){
goBang[i][j] = nums[i];
}else if(i == length-1){
goBang[i][j] = nums[j];
}else{
goBang[i][j] = add;
}
}
}
for (String[] strings : goBang) {
for (String string : strings) {
System.out.print(string);
}
System.out.println();
}
Scanner scan = new Scanner(System.in);
boolean flag = true;//true-黑子 false-白子
while(true){
System.out.println("请" + ((flag)?"黑":"白") + "子输入坐标:");
int x = scan.nextInt()-1;
int y = scan.nextInt()-1;
if(x < 0 || x > length-2 || y < 0 || y > length-2){
System.out.println("坐标超出棋盘范围,请重新输入...");
continue;
}
if(!goBang[x][y].equals(add)){
System.out.println("坐标上有棋子,请重新输入...");
continue;
}
goBang[x][y] = (flag)?black:white;
flag = !flag;
for (String[] strings : goBang) {
for (String string : strings) {
System.out.print(string);
}
System.out.println();
}
}
}