废话不说直接上代码:
import java.util.Arrays;
import java.util.Scanner;
/**
* Created by 许东明 on 2018/11/13.
*/
public class Wuziqi {
public static void main(String[] args) {
String[] arr1 = {" 0 ", "1 ", "2 ", "3 ", "4 ", "5 ", "6 ", "7 ", "8 ", "9 "};
System.out.println(Arrays.toString(arr1));
String[][] arr = {
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
{"□", "□", "□", "□", "□", "□", "□", "□", "□", "□"},
};
for (int i = 0; i < arr.length; i++) {
System.out.print(i);
System.out.println(Arrays.toString(arr[i]));
}
System.out.println("☺欢迎来到许东明的梦幻五子棋小游戏☹添加企鹅:☛1392373019☚");
System.out.println();
out:for (; ; ) {
for (; ; ) {
System.out.println("黑方走请输入横坐标");
int b = new Scanner(System.in).nextInt();
System.out.println("黑方走请输入纵坐标");
int a = new Scanner(System.in).nextInt();
if (a >= 0 && a < arr.length && b >= 0 && b < arr[0].length&&!arr[a][b].equals("★") && !arr[a][b].equals("●") ) {
arr[a][b] = "★";
} else {
System.out.println("位置占用了或者索引越界请重新输入");
continue;
}
System.out.println(Arrays.toString(arr1));
for (int i = 0; i < arr.length; i++) {
System.out.print(i);
System.out.println(Arrays.toString(arr[i]));
}
int sum = 0;
for (int i = b; i >0;) {
if (arr[a][b].equals(arr[a][--i])) {
sum++;
} else {
break;
}
}
for (int i = b; i <arr[0].length-1; ) {
if (arr[a][b].equals(arr[a][++i])) {
sum++;
} else {
break;
}
}
if (sum >= 4) {
System.out.println("黑方获胜");
break out;
} else {
sum = 0;
}
for (int i = a; i >0;) {
if (arr[a][b].equals(arr[--i][b])) {
sum++;
} else {
break;
}
}
for (int i = a; i < arr.length-1;) {
if (arr[a][b].equals(arr[++i][b])) {
sum++;
} else {
break;
}
}
if (sum >=4 ) {
System.out.println("方棋获胜");
break out;
} else {
sum = 0;
}
for (int i = b,j=b; j>0 && i> 0; ) {
if (arr[a][b].equals(arr[--j][--i])) {
sum++;
} else {
break;
}
}
for (int i=b,j=a; i< arr[0].length-1 && j < arr.length-1;) {
if (arr[a][b].equals(arr[++j][++i])) {
sum++;
} else {
break;
}
}
if (sum >= 4) {
System.out.println("方棋获胜");
break out;
} else {
sum = 0;
}
for (int i = b,j=a; i < arr[0].length-1 && j > 0;) {
if (arr[a][b].equals(arr[--j][++i])) {
sum++;
} else {
break;
}
}
for (int i = b,j=a; i>0 && j <arr.length-1;) {
if (arr[a][b].equals(arr[++j][--i])) {
sum++;
} else {
break;
}
}
if (sum >= 4) {
System.out.println("方棋获胜");
break out;
} else {
sum=0;
System.out.println("悔棋请按1否则按其他键");
int as=new Scanner(System.in).nextInt();
if (as==1) {
arr[a][b]="□";
for (int i = 0; i < arr.length; i++) {
System.out.print(i);
System.out.println(Arrays.toString(arr[i]));
}
}else{
break;
}
}
}
for (; ; ) {
System.out.println("白方走请输入横坐标");
int b = new Scanner(System.in).nextInt();
System.out.println("白方走请输入纵坐标");
int a = new Scanner(System.in).nextInt();
if (a >= 0 && a < arr.length && b >= 0 && b < arr[0].length&&!arr[a][b].equals("★") && !arr[a][b].equals("●") ) {
arr[a][b] = "●";
} else {
System.out.println("位置占用了或者索引越界请重新输入");
continue;
}
System.out.println(Arrays.toString(arr1));
for (int i = 0; i < arr.length; i++) {
System.out.print(i);
System.out.println(Arrays.toString(arr[i]));
}
int sum = 0;
for (int i = b; i > 0; ) {
if (arr[a][b].equals(arr[a][--i])) {
sum++;
} else {
break;
}
}
for (int i = b; i < arr[0].length-1;) {
if (arr[a][b].equals(arr[a][++i])) {
sum++;
} else {
break;
}
}
if (sum >= 4) {
System.out.println("白方获胜");
break out;
} else {
sum = 0;
}
for (int i = a; i > 0;) {
if (arr[a][b].equals(arr[--i][b])) {
sum++;
} else {
break;
}
}
for (int i = a; i < arr.length-1;) {
if (arr[a][b].equals(arr[++i][b])) {
sum++;
} else {
break;
}
}
if (sum >= 4) {
System.out.println("白方获胜");
break out;
} else {
sum = 0;
}
for (int i = b,j=a; i >0 && j >0;) {
if (arr[a][b].equals(arr[--j][--i])) {
sum++;
} else {
break;
}
}
for (int i = b,j=a; i < arr.length-1 && j < arr[0].length-1;) {
if (arr[a][b].equals(arr[++j][++i])) {
sum++;
} else {
break;
}
}
if (sum >= 4) {
System.out.println("白方获胜");
break out;
} else {
sum = 0;
}
for (int i = b,j=a; i < arr[0].length-1 && j > 0;) {
if (arr[a][b].equals(arr[--j][++i])) {
sum++;
} else {
break;
}
}
for (int i = b,j=a; i>0 && j <arr.length-1;) {
if (arr[a][b].equals(arr[++j][--i])) {
sum++;
} else {
break;
}
}
if (sum >=4) {
System.out.println("白方获胜");
break out;
} else {
sum=0;
System.out.println("悔棋请按1否则按其他键");
int as=new Scanner(System.in).nextInt();
if (as==1) {
arr[a][b]="□";
for (int i = 0; i < arr.length; i++) {
System.out.print(i);
System.out.println(Arrays.toString(arr[i]));
}
}else{
break;
}
}
}
}
}
}