zoukankan      html  css  js  c++  java
  • java实现简单的五子棋

    import java.io.*;
    import java.io.BufferedReader;
    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;
    		while((inputStr = br.readLine()) != null)
    		{
    			String[] posStrArr = inputStr.split(",");
    			int xPos = Integer.parseInt(posStrArr[0]);
    			int yPos = Integer.parseInt(posStrArr[1]);
    			gb.board[yPos-1][xPos-1] = "●";
    			/*
    				此处应为电脑随机生成两个数,作为电脑下棋的坐标,赋给board数组不同与实心圆的白色棋子。
    				涉及:
    					1、坐标的有效性,只能是数字,不能超出棋盘的范围
    					2、下过棋的点,不能重复下棋
    					3、每次下棋后,需要扫描谁赢了
    			*/
    			gb.printBoard();
    			/*
    				并在此进行四次循环扫描,判断横、竖、左斜、右斜是否有五个棋连在一起。
    			*/
    			System.out.println("请输入您下棋的坐标,应以x,y的格式:");
    		}
    	}
    }


  • 相关阅读:
    C++ 派生类对象的构造与析构过程
    C++ lvalue(左值)和rvalue(右值)
    enum class 用法
    gcc 编译选项
    using用法总结
    const用法及与constexpr区别总结
    Lanbda表达式
    CMake 用法总结(转载)
    ElasticSearch学习文档
    Maven学习笔记
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3100650.html
Copyright © 2011-2022 走看看