疯狂Java讲义_五子棋代码
除此之外,我们还可以利用二维数组来完成五子棋、连连看、俄罗斯方块、扫雷等常见小游戏。
下面简单介绍利用二维数组实现五子棋。我们只要定义一个二维数组作为下棋的棋盘,每当一个棋手
下—步棋后,也就是为二维数组的一个数组元素赋值。下面程序完成了这个程序的初步功能∶
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讲义_五子棋代码相关推荐
- 疯狂JAVA讲义学习——基础代码练习——Interface——接口
Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...
- java画图颜色_手绘板,多种颜色选择。我抄的《疯狂java讲义》的,包我乱导的,但代码能用。...
[java]代码库import javax.swing.*; import java.awt.image.*; import java.awt.datatransfer.*; import javax ...
- 学习《疯狂Java讲义第4版》PDF+代码+课件+面试题分析
学习java选择了<疯狂java讲义>最新的第四版,用了两个多月时间看完,一边阅读,一边敲代码.对Java有了不少新的认识.书中实例清晰明了,讲解也是娓娓道来.Java可以编写图形桌面系统 ...
- 疯狂Java讲义_Chapter4_编写控制台的五子棋游戏
编写控制台的五子棋游戏 昨天复习了下<疯狂Java讲义>,完成前几章的习题, 现在基本完成了控制台五子棋游戏的编写,能够按照要求 保证用户下和电脑下的棋上不能已经有棋子 判断横.竖.左斜. ...
- 疯狂java讲义 光盘_书单丨24岁的Java,到底有多美?
Java诞生二十多年来尽管有坎坷有颠簸 但仍在计算核心层面占有重要地位 且多年来达成的辉煌仍无人能及 跟随本书单走进Java,一同领略Java之美 NO. 1 <码出高效:Java开发手册> ...
- 疯狂java讲义视频百度网盘_疯狂Java讲义(4)配书视频-百度云
[疯狂Java讲义(4)配书视频]由分享人菜**飞5于-03-1522:21上传到百度网盘.此页面由蜘蛛程序自动抓取,以非人工方式自动生成,只作交流和学习使用.本网站本身不储存任何资源文件,其资源文件 ...
- 【社区图书馆】疯狂 Java 讲义:但凡种种,不一而足
虽说酒香不怕巷子深,但是千里之外并不一定能闻到,有人看到这可能会感觉这不免有些杠的味道,其实我想表达的是好酒也需要宣传,比如今天我所要讲的这本书<疯狂Java讲义>. 这不是[赠书活动], ...
- 疯狂java讲义第四章习题答案
1.使用循环输出九九乘法表. 疯狂java讲义第四章课后习题第1题答案 2.根据给定的层数,使用循环输出等腰三角形. 疯狂java讲义第四章课后习题第2题答案 3.给定半径输出圆形. 需要注意的是,计 ...
- java下载pdf6_疯狂java讲义第6版 电子版(pdf格式)
疯狂java讲义第6版pdf是李刚打造的经典java编程图书的最新版,为了帮助更多的读者能真正掌握Java编程,感受到Java语言的魅力,领会到Java编程的快乐,作者根据多年来的Java授课经验,精 ...
最新文章
- 使用AI画一个冠状病毒
- win mysql 最大连接_常用的三种修改mysql最大连接数的方法
- flask-bootstrap-高亮-下划线-删除线-加粗-斜体
- 关于CPU的12个硬核干货!
- c mysql 编码_mysql编码转换 mysql编码设置详解
- mingw编译boost中bjam的toolset问题
- 所有IT人的大恩人永远的离开了
- java实现双向循环链表(循环双链表)
- VMware导致电脑蓝屏解决方案
- 用STM32F103C8芯片做流水灯
- 关于sap的Logon的几个参数
- MySQL基础学习(六)——聚合函数
- 程序员生涯快一年感悟
- TMS320F280049C 学习笔记11 控制率加速器 CLA 例程
- xcode请求日志在哪里看_如何查看运行日志
- 深度学习与自然语言处理教程(3) - 神经网络与反向传播(NLP通关指南·完结)
- 如何获取自己QQ里面的所有qq好友号码
- 雅虎通可以批量添加MSN用户了
- 微信小程序--上传图片加水印
- Mac平面设计师必备软件,懂word就会设计,内置海量模板。