前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >疯狂Java讲义_五子棋代码

疯狂Java讲义_五子棋代码

作者头像
Maynor
发布2021-04-09 15:56:50
1.3K0
发布2021-04-09 15:56:50
举报
文章被收录于专栏:最新最全的大数据技术体系

除此之外,我们还可以利用二维数组来完成五子棋、连连看、俄罗斯方块、扫雷等常见小游戏。 下面简单介绍利用二维数组实现五子棋。我们只要定义一个二维数组作为下棋的棋盘,每当一个棋手 下—步棋后,也就是为二维数组的一个数组元素赋值。下面程序完成了这个程序的初步功能∶

代码语言:javascript
复制
package FiveQI;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author ChinaManor
 * #Description Gobang
 * #Date: 4/8/2021 08:32
 */
public class Gobang {
    //定义一个二维数组来充当棋盘
    private String[][] board;
    //定义棋盘的大小
    private static int BOARD_SIZE = 15;
    public void initBoard(){
                board= new String[BOARD_SIZE][BOARD_SIZE];
//把每个元素赋为"十",用于在控制台画出棋盘
        for(int i = 0;i< BOARD_SIZE; i++){
            for( int j=0;j< BOARD_SIZE;j++){
                board[i] [j] = "十";
            }
        }
    }
    public void printBoard(){
        //打印每个数组元素
        for (int i = 0;i < BOARD_SIZE;i++){
            for (int j= 0;j< BOARD_SIZE ;j++){
//打印数组元素后不换行
                System.out.print(board[i][j]);
            }
//每打印完一行数组元素后输出一个换行符
                System.out.print ("\n");
        }
    }
    public static void main(String[] args) throws Exception {
        Gobang gb = new Gobang ();
        gb.initBoard();
        gb.printBoard();
///这是用于获取键盘输入的方法
        BufferedReader br = new BufferedReader(new InputStreamReader
                (System.in));
        String inputStr = null;
//br.readLine()∶ 每当在键盘上输入一行内容按回车键,刚输入的内容将被br 读取到
        while ((inputStr = br.readLine()) != null){
//将用户输入的字符串以逗号(,)作为分隔符,分隔成两个字符串
            String[] posStrArr= inputStr.split(",");
//将两个字符串转换成用户下棋的坐标
        int xPos = Integer.parseInt(posStrArr[0]);
        int yPos = Integer.parseInt(posStrArr[1]);
//把对应的数组元素赋为"●"。
            gb.board[xPos - 1][yPos - 1]= "●";
//                电脑随机生成两个整数,作为计算机下棋的坐标,赋给 board 数组
//                还涉及∶
//                1.坐标的有效性,只能是数字,不能超出棋盘范围
//                2.如果下棋的点已经有棋了,则不能重复下棋。
//                3.每次下棋后,需要扫描谁赢了
                gb.printBoard();
                System.out.println("请输入您下棋的坐标,应以x,y的格式∶");
            }
        }
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档