面向对象五子棋版
package com.qf.test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Gobang gobang = new Gobang();
Scanner scan = new Scanner(System.in);
boolean flag = true;
while(true){
System.out.println("请" + ((flag)?"黑":"白") + "子输入坐标:");
int x = scan.nextInt() - 1;
int y = scan.nextInt() - 1;
int play = gobang.play(x, y, flag);
if(play == -1){
System.out.println("坐标错误 - 坐标超出棋盘范围,请重新输入");
continue;
}else if(play == -2){
System.out.println("坐标错误 - 坐标上已有棋子,请重新输入");
continue;
}
gobang.printGobang();
flag = !flag;
}
}
}
package com.qf.test;
public class Gobang {
private int length = 20;
private String[][] gobang = new String[length][length];
private String[] nums = {"⒈","⒉","⒊","⒋","⒌","⒍","⒎","⒏","⒐","⒑","⒒","⒓","⒔","⒕","⒖","⒗","⒘","⒙","⒚","⒛"};
private String add = "┼";
private String black = "●";
private String white = "○";
public Gobang() {
this.init();
this.printGobang();
}
private void init(){
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;
}
}
}
}
public void printGobang(){
for (String[] strings : gobang) {
for (String str : strings) {
System.out.print(str);
}
System.out.println();
}
}
public boolean isIndexOutOfGobang(int x,int y){
if(x<0 || x>length-2 || y<0 || y>length-2){
return false;
}
return true;
}
public boolean isPiece(int x,int y){
if(!gobang[x][y].equals(add)){
return false;
}
return true;
}
public int play(int x,int y,boolean flag){
if(!isIndexOutOfGobang(x, y)){
return -1;
}
if(!isPiece(x, y)){
return -2;
}
String piece = (flag)?black:white;
gobang[x][y] = piece;
return 1;
}
}