利于二维数组写一个五子棋,棋盘14x14
来源:互联网 发布:网络歌曲女生唱的 编辑:程序博客网 时间:2024/05/22 05:11
package com.lanou.homework0;
import java.util.Scanner;
public class WuZiQi {
publicstatic void main(String[] args) {
Scanner scanner =new Scanner(System.in);
int[ ][ ]map = newint [14][14];
for(inti = 0 ;i < map.length ; i++){
for(intj = 0 ; j <map[i].length ;j++){
System.out.print(map[i][j] + " ");
}
System.out.println();
}
while(true){
intm;
intn;
do{
do{System.out.println("请输入白棋的横坐标");
m = scanner.nextInt();
}while(m >=map.length ||m < 0);
do{System.out.println("请输入白棋的纵坐标");
n = scanner.nextInt();
}while(n >=map[m].length ||n < 0);
}while(map[m][n] == 1 ||map[m][n] == 2);
map [m][n] = 1;
for(inti = 0 ;i < map.length ; i++){
for(intj = 0 ; j <map[i].length ;j++){
System.out.print(map[i][j] + " ");
}
System.out.println();
}
//判断条件
for(inth=0;h <= 5;h++){
for(intk=0; k <= 5;k++){ //遍历一次左上的6x6数组 首先确定一个起始点
if(map[h][k] == 1 &&map[h][k] ==map[h+1][k+1]&&map[h][k] ==map[h+2][k+2]&&map[h][k] ==map[h+3][k+3]&&map[h][k] ==map[h+4][k+4]
||map[h][k] == 1 &&map[h][k] ==map[h+1][k]&&map[h][k] ==map[h+2][k]&&map[h][k] ==map[h+3][k]&&map[h][k] ==map[h+4][k]
||map[h][k] == 1 &&map[h][k] ==map[h][k+1]&&map[h][k] ==map[h][k+2]&&map[h][k] ==map[h][k+3]&&map[h][k] ==map[h][k+4]
){
System.out.println("白棋获胜" );
return;
}
}
}
for(inth=4;h <= 9;h++){
for(intk=0; k <= 5;k++){
if(map[h][k] == 1 &&map[h][k] ==map[h-1][k+1]&&map[h][k] ==map[h-2][k+2]&&map[h][k] ==map[h-3][k+3]&&map[h][k] ==map[h-4][k+4]){
System.out.println("白棋获胜了");
return;
}
}
}
intx;
inty;
do{
do{
System.out.println("请输入黑棋的横坐标");
x = scanner.nextInt();
}while(x >=map.length ||x < 0);
do{
System.out.println("请输入黑棋的纵坐标");
y = scanner.nextInt();
}while(y >=map[x].length ||y < 0);
}while(map[x][y] == 1 ||map[x][y] == 2);
map [x][y] = 2;
for(inti = 0 ;i < map.length ; i++){
for(intj = 0 ; j <map[i].length ;j++){
System.out.print(map[i][j] + " ");
}
System.out.println();
}
//判断条件
for(inth=0;h <= 5;h++){
for(intk=0; k <= 5;k++){
floatsum4=0;
floatsum5=0;
floatsum6=0;
for(intj = 0;j <= 4;j++){
sum4=sum4+map[h+j][k];
sum5 = sum5+map[h][k+j];
sum6 =sum6+map[h+j][k+j];
}
if(sum4/5== 2 || sum5/5 ==2 ||sum6/5 == 2){
System.out.println("黑棋获胜");
return;
}
}
}
for(inth=4;h <= 9;h++){
for(intk=0; k <= 5;k++){
floatsum=0;
for(intj = 0;j <= 4;j++){
sum = sum+map[h-j][k+j];
}
if(sum/5 == 2){
System.out.println("黑棋获胜了");
return;
}
}
}
}
}
}
- 利于二维数组写一个五子棋,棋盘14x14
- 新手学java-运用数组写一个五子棋小程序
- 一种五子棋棋盘的数组表示
- 写一个二维数组排序算法
- 一个寒假写的五子棋
- 【经典游戏编程题】C语言:编写一个棋盘游戏,与二维数组结合
- 提高:写一个五子棋的游戏
- 用面向过程写一个五子棋
- 二维数组做得五子棋(基于控制台)
- 二维数组的应用举例(生态)/(五子棋)
- 输出一个二维数组
- new一个二维数组
- 创建一个二维数组
- 返回一个二维数组
- new一个二维数组
- new一个二维数组
- 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换
- 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换
- [编程题] 洗牌
- Symfony Twig模板引擎——基础知识总结
- [POJ 3259] Wormholes [SPFA]
- Java出现null指针的九种情况
- C# 学习1: 网上摘录以备学习-------MVC
- 利于二维数组写一个五子棋,棋盘14x14
- CSDN如何转载别人的博客文章
- Mysql数据库优化学习总结
- uva 514
- 《秘密》· 东野圭吾
- 【Linux】安装Mysql,Navicat以及MySQLdb
- Struts2的执行流程
- 找不到windows.h源文件
- cocos2dx游戏资源加密之XXTEA