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

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的格式∶");}}}

疯狂Java讲义_五子棋代码相关推荐

  1. 疯狂JAVA讲义学习——基础代码练习——Interface——接口

    Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...

  2. java画图颜色_手绘板,多种颜色选择。我抄的《疯狂java讲义》的,包我乱导的,但代码能用。...

    [java]代码库import javax.swing.*; import java.awt.image.*; import java.awt.datatransfer.*; import javax ...

  3. 学习《疯狂Java讲义第4版》PDF+代码+课件+面试题分析

    学习java选择了<疯狂java讲义>最新的第四版,用了两个多月时间看完,一边阅读,一边敲代码.对Java有了不少新的认识.书中实例清晰明了,讲解也是娓娓道来.Java可以编写图形桌面系统 ...

  4. 疯狂Java讲义_Chapter4_编写控制台的五子棋游戏

    编写控制台的五子棋游戏 昨天复习了下<疯狂Java讲义>,完成前几章的习题, 现在基本完成了控制台五子棋游戏的编写,能够按照要求 保证用户下和电脑下的棋上不能已经有棋子 判断横.竖.左斜. ...

  5. 疯狂java讲义 光盘_书单丨24岁的Java,到底有多美?

    Java诞生二十多年来尽管有坎坷有颠簸 但仍在计算核心层面占有重要地位 且多年来达成的辉煌仍无人能及 跟随本书单走进Java,一同领略Java之美 NO. 1 <码出高效:Java开发手册> ...

  6. 疯狂java讲义视频百度网盘_疯狂Java讲义(4)配书视频-百度云

    [疯狂Java讲义(4)配书视频]由分享人菜**飞5于-03-1522:21上传到百度网盘.此页面由蜘蛛程序自动抓取,以非人工方式自动生成,只作交流和学习使用.本网站本身不储存任何资源文件,其资源文件 ...

  7. 【社区图书馆】疯狂 Java 讲义:但凡种种,不一而足

    虽说酒香不怕巷子深,但是千里之外并不一定能闻到,有人看到这可能会感觉这不免有些杠的味道,其实我想表达的是好酒也需要宣传,比如今天我所要讲的这本书<疯狂Java讲义>. 这不是[赠书活动], ...

  8. 疯狂java讲义第四章习题答案

    1.使用循环输出九九乘法表. 疯狂java讲义第四章课后习题第1题答案 2.根据给定的层数,使用循环输出等腰三角形. 疯狂java讲义第四章课后习题第2题答案 3.给定半径输出圆形. 需要注意的是,计 ...

  9. java下载pdf6_疯狂java讲义第6版 电子版(pdf格式)

    疯狂java讲义第6版pdf是李刚打造的经典java编程图书的最新版,为了帮助更多的读者能真正掌握Java编程,感受到Java语言的魅力,领会到Java编程的快乐,作者根据多年来的Java授课经验,精 ...

最新文章

  1. 使用AI画一个冠状病毒
  2. win mysql 最大连接_常用的三种修改mysql最大连接数的方法
  3. flask-bootstrap-高亮-下划线-删除线-加粗-斜体
  4. 关于CPU的12个硬核干货!
  5. c mysql 编码_mysql编码转换 mysql编码设置详解
  6. mingw编译boost中bjam的toolset问题
  7. 所有IT人的大恩人永远的离开了
  8. java实现双向循环链表(循环双链表)
  9. VMware导致电脑蓝屏解决方案
  10. 用STM32F103C8芯片做流水灯
  11. 关于sap的Logon的几个参数
  12. MySQL基础学习(六)——聚合函数
  13. 程序员生涯快一年感悟
  14. TMS320F280049C 学习笔记11 控制率加速器 CLA 例程
  15. xcode请求日志在哪里看_如何查看运行日志
  16. 深度学习与自然语言处理教程(3) - 神经网络与反向传播(NLP通关指南·完结)
  17. 如何获取自己QQ里面的所有qq好友号码
  18. 雅虎通可以批量添加MSN用户了
  19. 微信小程序--上传图片加水印
  20. Mac平面设计师必备软件,懂word就会设计,内置海量模板。

热门文章

  1. NET Framework 4.0
  2. 芯讯通/SIMCOM LTE 模组接入 ThingsCloud
  3. windows service 无法访问映射的网络驱动器
  4. 安全的即时沟通软件主要表现在哪些方面
  5. 037 PHP登录、注册、留言、个人中心设计
  6. L1 L2 LASSO问题
  7. 海明检验码和循环冗余校验码
  8. .net敏捷软件开发框架核心功能特点
  9. Image Matting 客观评价指标、数据集及主观评价
  10. 抓取Foursquare网页信息的爬虫