HW7.9



import java.util.Scanner;
public class Solution
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
char[][] chessboard = new char[7][7];
int x, y;
for(int i = 0; i < 7; i++)
for(int j = 0; j < 7; j++)
chessboard[i][j] = ' ';
for(int i = 0; i < 7; i += 2)
for(int j = 0; j < 7; j++)
chessboard[i][j] = '-';
for(int i = 1; i < 7; i += 2)
for(int j = 0; j < 7; j += 2)
chessboard[i][j] = '|';
display(chessboard);
while(true)
{
System.out.print("Enter a row(1, 2, or 3) for player X: ");
x = input.nextInt();
System.out.print("Enter a column(1, 2, or 3) for player X: ");
y = input.nextInt();
putChess(chessboard, x, y, 'X');
display(chessboard);
if(judge(chessboard) == true)
{
System.out.println("X player won");
break;
}
System.out.print("Enter a row(1, 2, or 3) for player O: ");
x = input.nextInt();
System.out.print("Enter a column(1, 2, or 3) for player O: ");
y = input.nextInt();
putChess(chessboard, x, y, 'O');
display(chessboard);
if(judge(chessboard) == true)
{
System.out.println("O player won");
break;
}
if(isFull(chessboard))
{
System.out.println("Draw");
break;
}
}
}
public static void display(char[][] array)
{
for(int i = 0; i < 7; i++)
{
for(int j = 0; j < 7; j++)
System.out.print(array[i][j]);
System.out.println();
}
}
public static void putChess(char[][] array, int x, int y, char ch)
{
array[2 * x - 1][2 * y - 1] = ch;
}
public static boolean judge(char[][] array)
{
for(int i = 1; i < 7; i += 2)
{
if(array[i][1] == array[i][3] && array[i][1] == array[i][5] && array[i][1] != ' ')
return true;
if(array[1][i] == array[3][i] && array[1][i] == array[5][i] && array[1][i] != ' ')
return true;
}
if(array[1][1] == array[3][3] && array[1][1] == array[5][5] && array[1][1] != ' ')
return true;
if(array[5][1] == array[3][3] && array[5][1] == array[1][5] && array[5][1] != ' ')
return true;
return false;
}
public static boolean isFull(char[][] array)
{
for(int i = 0; i < array.length; i++)
for(int j = 0; j < array[0].length; j++)
if(array[i][j] == ' ')
return false;
return true;
}
}
HW7.9的更多相关文章
- HW7.18
public class Solution { public static void main(String[] args) { int[][] m = {{1, 2}, {3, 4}, {5, 6} ...
- HW7.17
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HW7.16
import java.util.Arrays; public class Solution { public static void main(String[] args) { int row = ...
- HW7.15
public class Solution { public static void main(String[] args) { double[][] set1 = {{1, 1}, {2, 2}, ...
- HW7.14
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HW7.13
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HW7.12
import java.util.Scanner; public class Solution { public static void main(String[] args) { double[] ...
- HW7.11
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HW7.10
public class Solution { public static void main(String[] args) { int[][] array = new int[3][3]; for( ...
随机推荐
- 作为 .Net 攻城师,所必需掌握的 .Net Profiling 技术
众所周知,性能问题是所有实用应用在迭代过程中必然要面对的问题.对于此类问题,简单地投入更多硬件资源的做法可能会取得一定效果.但总的来看,此类做法的边际成本是不断上升的.换言之,随着性能需求的上涨,要换 ...
- 盘点 OSX 上最佳的 DevOps 工具
[编者按]对于运维人员来说,他们往往需要各种各样的工具来应对工作需求,近日 Dustin Collins 通过「The Best DevOps Tools on OSX」一文对 OSX 平台上的工具进 ...
- HDU 5039 Hilarity
题意:一棵树n个结点,每条边有0.1两种权值,每次询问权值为奇数的路径数目,或者改变某一条边的权值. 分析:这个题目很巧妙低利用了异或和的特性,dfs得到每个点到根结点的权值异或和,然后奇数则为1,偶 ...
- [itint5]单词变换
http://www.itint5.com/oj/#42 基本上就是word ladder.直接来BFS,记录前驱. vector<string> transform(set<str ...
- border-radius的水平和竖直半径
通常我们设置border-radius都只区分四个角的, 如border-radius: 1em 2em. 其实每个角的border-radius都由两部分组成, 水平半径和竖直半径. 要设置水平和竖 ...
- R语言学习笔记:数据的可视化
本文参考数据挖掘与R第二章节 读入数据 方法1,下载Data mining with r的配套包 install.packages('DMwR') 方法2,下载txt数据,并且读入数据.方法见上文. ...
- Flex 选项卡加载方式简介
Flex中选项卡默认只加载选中的选项,所以在初始化的时候给其他的选项卡中的对象赋值或是其他操作,都会出现空对象错误. 解决办法:给选项卡设置属性 creationPolicy=”all” 如:< ...
- Dreamweaver CS6破解教程[序列号+破解补丁]
Dreamweaver CS6破解教程[序列号+破解补丁] Adobe Dreamweaver CS6中文简体版下载地址:Dreamweaver CS6中文简体版下载[带破解] 破解之前的准备 1 ...
- linux0.11文件分析
在kernel包中有几个重要的文件夹和文件,他们各司其职,处理着有关内核的一些功能操作.其中文件夹有三个:blk_drv(块设备驱动),chr_drv(字符设备驱动),math(数学协处理器) 文件 ...
- 【开源推荐】AllJoyn:打造全球物联网的通用开源框架
摘要:随着智能设备的发展,物联网逐渐进入了人们的生活.据预测,未来几乎一切东西(超过500亿台设备)都可以互联.高通公司发布了开源项目AllJoyn,这是一个能够使连接设备间进行互操作的通用软件框架和 ...