简单井字游戏_新濠天地网 简单井字游戏_新濠天地网

新濠天地网

简单井字游戏

1年以前  |  官网数:209 次  |    

package homework;
import java.util.ArrayList;
import java.util.Scanner;
public class 井字游戏{
//构建棋盘
static ArrayList bulidLine(int n){
ArrayList line = new ArrayList();
for(int i =0;i<2*n+1;i++)
line.add("-");
return line;
}
static ArrayList bulidBlanks(int n){
ArrayList blanks= new ArrayList();
for(int i=0;i<n;i++){
blanks.add("|");
blanks.add(" ");
}
blanks.add("|");
return blanks;
}
static ArrayList bulidPlaste(int n){
ArrayList plate = new ArrayList();
for (int i =0;i<n;i++){
plate.add(bulidLine(n));
plate.add(bulidBlanks(n));
}
plate.add(bulidLine(n));
return plate;
}
static void show(ArrayList plate){
for (int i = 0;i<plate.size();i++){
ArrayList row=(ArrayList)plate.get(i);
for(int j=0;j<row.size();j++)
System.out.print(row.get(j));
System.out.println();
}
}
//下棋
static boolean drop(ArrayList plate,int r,int c,String piece) {
r = 2 * r - 1;
c = 2 * c - 1;
ArrayList row = (ArrayList) plate.get(r);
if (row.get(c) == " "){
row.set(c, piece);
return true;
}
return false;
}
//判定胜负
public static boolean judge(ArrayList plate,int n,String piece){
//判断行
int r;
int count;
for(r=1;r<2*n+1;r+=2) {
//判断行
count=0;
ArrayList row = (ArrayList) plate.get(r);
for (int j = 1; j < 2 * n + 1; j += 2) {
if (row.get(j) == piece) {
count += 1;
if (count == n)
return true;
}
}
}
//判断列
for(int i=1;i<2*n+1;i+=2){
count=0;
ArrayList row=(ArrayList)plate.get(i);
for(int j=1;j<2*n+1;j+=2) {
if (row.get(j) == piece) {
count += 1;
if (count == n)
return true;
}
}
}
//判断捺
for(int i=1;i<2*n+1;i+=2){
count=0;
ArrayList row=(ArrayList)plate.get(i);
if (row.get(i)==piece){
count+=1;
if (count==n)
return true;
}
}
//判断撇
for (int i= 2*n-1;i>0;i-=2){
count=0;
ArrayList row=(ArrayList)plate.get(i);
if(row.get(i)==piece){
count+=1;
if(count==n)
return true;
}
}
return false;
}
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("输入棋盘阶数");
int n=reader.nextInt();
ArrayList plate= bulidPlaste(n);
show(plate);
String piece = "x";
int s=0;
while (true) {
System.out.println("请输入落子的行号");
int row = reader.nextInt();
System.out.println("请输入落子的列号");
int col = reader.nextInt();
if (!drop(plate, row, col, piece)){
System.out.println("该处已有棋子,重新落子");
continue;
}
s++;
if(s==n*n){
if(judge(plate,n,piece)){
System.out.println(piece+" win");
break;
}
else
System.out.println("平局");
break;
}
show(plate);
if(judge(plate,n,piece)){
System.out.println(piece+" win");
break;
}
piece=piece=="x"?"o":"x";
}
}
}

相关新濠天地:


SSH 登录失败:Host key verification failed

PHP分页新濠天地制作新濠天地讲解

将二进制数据转为16进制以便新濠天地

PHP自定义新濠天地获取搜索引擎来源关键字的方法

Java生成UUID

获取IMSI

在Zeus Web Server中安装PHP语言支持

让你成为最历害的git提交人

获取IMEI

再谈PHP中单双引号的区别详解

Python 2与Python 3版本和编码的对比

PHP实现简单爬虫的方法

php+ajax+json 详解及实例app

wget使用技巧

php封装的page分页类完整实例

php实现数组中索引关联数据转换成json新濠天地的方法

php数组合并array_merge()新濠天地使用注意事项

桌面中心(一)创建数据库

指定应用ID以获取对应的应用名称

PHP设计模式之工厂模式与单例模式
qy77千亿国际富爸爸娱乐官网qy77千亿国际