Java 小游戏 - 井字棋 v1.0 (初步完成) (2018.4.16更新)
package MYGAME;
import java.util.Scanner;
public class Mygame {
static int winnerx = 0;
static int winnero = 0;
static int row; // 行
static int rank; // 行
static int[][] x = new int[3][3]; // X玩家的棋子
static int[][] o = new int[3][3]; // O玩家的棋子
public static void main(String[] args) {
inputmap();
for (int p = 0; p < 9; p++) {
if (p % 2 == 1) {
oplay();
if (winnero==1){
System.out.println("o选手胜利");
break;
}
} else {
xplay();
if (winnerx==1){
System.out.println("x选手胜利");
break;
}
}
}
System.out.println("游戏结束");
}
// 输出棋盘
public static void inputmap() {
System.out.println(" ");
for (int m = 0; m < 3; m++) {
for (int n = 0; n < 3; n++) {
if (x[m][n] == 1) {
System.out.print("x|");
} else if (o[m][n] == 1) {
System.out.print("o|");
} else {
System.out.print(" |");
}
}
System.out.println(" ");
}
}
// x选手开始下棋
public static void xplay() {
Scanner input = new Scanner(System.in);
System.out.print("轮到x选手下棋\n");
System.out.print("请选择第几行\n");
row = input.nextInt() - 1;
System.out.print("请选择第几列\n");
rank = input.nextInt() - 1;
x[row][rank] = 1;
inputmap();
win();
}
// o选手开始下棋
public static void oplay() {
Scanner input = new Scanner(System.in);
System.out.print("轮到o选手下棋\n");
System.out.print("请选择第几行\n");
row = input.nextInt() - 1;
System.out.print("请选择第几列\n");
rank = input.nextInt() - 1;
o[row][rank] = 1;
inputmap();
win();
}
// 手动清屏=。=
public static void cleanscreen() {
for (int i = 0; i < 50; i++) {
System.out.println("");
}
}
//判断是否胜利
public static void win() {
if (
(x[0][0] == 1 & x[1][0] == 1 & x[2][0] == 1)||
(x[0][1] == 1 & x[1][1] == 1 & x[2][1] == 1)||
(x[0][2] == 1 & x[1][2] == 1 & x[2][2] == 1)||
(x[0][0] == 1 & x[0][1] == 1 & x[0][2] == 1)||
(x[1][0] == 1 & x[1][1] == 1 & x[1][2] == 1)||
(x[2][0] == 1 & x[2][1] == 1 & x[2][2] == 1)||
(x[0][0] == 1 & x[1][1] == 1 & x[2][2] == 1)||
(x[0][2] == 1 & x[1][1] == 1 & x[2][0] == 1)
){
winnerx=1;
}
if (
(o[0][0] == 1 & o[1][0] == 1 & o[2][0] == 1)||
(o[0][1] == 1 & o[1][1] == 1 & o[2][1] == 1)||
(o[0][2] == 1 & o[1][2] == 1 & o[2][2] == 1)||
(o[0][0] == 1 & o[0][1] == 1 & o[0][2] == 1)||
(o[1][0] == 1 & o[1][1] == 1 & o[1][2] == 1)||
(o[2][0] == 1 & o[2][1] == 1 & o[2][2] == 1)||
(o[0][0] == 1 & o[1][1] == 1 & o[2][2] == 1)||
(o[0][2] == 1 & o[1][1] == 1 & o[2][0] == 1)
){
winnero=1;
}
}
}
Java 小游戏 - 井字棋 v1.0 (初步完成) (2018.4.16更新)的更多相关文章
- Pascal小游戏 井字棋
一个很经典的井字棋游戏 Pascal源码Chaobs奉上 注意:1.有的FP版本不支持汉语,将会出现乱码.2.别想赢电脑了,平手不错了. 井字过三关: program TicTacToe; uses ...
- C++小游戏——井字棋
#include<cstdio> #include<windows.h> #include<ctime> int main() { srand(time(NULL) ...
- Java实现简单井字棋
Java第一次实验,老师让做一个井字棋,电脑随机下棋. 然后就想能不能聪明一点,可以判断出走哪一步棋:然后只能做到不会输,还是不够聪明,只能呆板地堵住用户,smartRobot的第三个判断逻辑找不到最 ...
- python 游戏(井字棋)
1. 游戏思路和流程图 实现功能,现实生活中的井字棋玩法 游戏流程图 2. 使用模块和游戏提示 import random def game_info(): print('欢迎来到井字棋游戏') pr ...
- [HTML5实现人工智能]小游戏《井字棋》发布,据说IQ上200才能赢
一,什么是TicTacToe(井字棋) 本 游戏 为在下用lufylegend开发的第二款小游戏.此游戏是大家想必大家小时候都玩过,因为玩它很简单,只需要一张草稿纸和一只笔就能开始游戏,所以广受儿 ...
- 『HTML5实现人工智能』小游戏《井字棋》发布,据说IQ上200才能赢【算法&代码讲解+资源打包下载】
一,什么是TicTacToe(井字棋) 本游戏为在下用lufylegend开发的第二款小游戏.此游戏是大家想必大家小时候都玩过,因为玩它很简单,只需要一张草稿纸和一只笔就能开始游戏,所以广受儿童欢迎. ...
- Java井字棋游戏
试着写了一个井字棋游戏,希望各位能给予一些宝贵的建议. 一.棋盘类 package 井字棋游戏; public class ChessBoard { private int number; Perso ...
- 井字棋小游戏(C语言)
最近沉迷于<NetHack>.<DCSS>等字符游戏,对其很感兴趣,于是用C语言写了个字符界面的井字棋小游戏.欢迎大家指教. 编写时遇到了一些问题,我原先准备用循环,直到读取到 ...
- 程序设计入门—Java语言 第五周编程题 2井字棋(5分)
2 井字棋(5分) 题目内容: 嗯,就是视频里说的那个井字棋.视频里说了它的基本思路,现在,需要你把它全部实现出来啦. 你的程序先要读入一个整数n,范围是[3,100],这表示井字棋棋盘的边长.比如n ...
随机推荐
- 洛谷P3128 [USACO15DEC]最大流Max Flow (树上差分)
###题目链接### 题目大意: 给你一棵树,k 次操作,每次操作中有 a b 两点,这两点路上的所有点都被标记一次.问你 k 次操作之后,整棵树上的点中被标记的最大次数是多少. 分析: 1.由于数 ...
- 解决python安装第三方库超时问题
这里说明一下,配置文件中的url还可以换成下面的URL 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.u ...
- ASP.NET Core 2.2 WebApi 系列【三】AutoFac 仓储接口的依赖注入
一.准备工作 通过程序包管理器控制台安装AutoFac: Install-Package Autofac.Extensions.DependencyInjection 创建新类库(.NetCore 2 ...
- 上传图片到七牛云(服务端 node.js sdk)
大体思路 前端要上传图片到七牛云,需要有一个token进行授权操作,而获取这个上传的upload token(以下简称upToken),在服务端需要一定的身份校验,比如说:只有登录的vip用户才能拿到 ...
- The PostgreSQL installation in windows
Summary: in this tutorial, we will show you how to install PostgreSQL on your local system for learn ...
- linux系统安全加固
版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明. 本文地址:https://www.cnblogs.com/wannengachao/p/12068256.html 1.文件上 ...
- 【论文阅读】Second-order Attention Network for Single Image Super-Resolution
概要 近年来,深度卷积神经网络(CNNs)在单一图像超分辨率(SISR)中进行了广泛的探索,并获得了卓越的性能.但是,大多数现有的基于CNN的SISR方法主要聚焦于更宽或更深的体系结构设计上,而忽略了 ...
- [JavaScript]父子窗口间参数传递
概述 当页面嵌入一个iframe,或者打开一个子窗口.这个时候如果父窗口需要与子窗口之间通讯,如果直接用DOM访问对方窗口window,会受到跨于安全机制影响. javascript提供一个方法,可以 ...
- 注意设置httpclient连接数
在使用Httpclient的过程中,当访问量增大的时候,会发现本地的连接等待时间急剧增加,例如从400ms增加到 78000ms,之前一直以为是航信系统问题,后面经过检查才发现,原来是本地httpcl ...
- 集成Hive和HBase
1. MapReduce 用MapReduce将数据从本地文件系统导入到HBase的表中, 比如从HBase中读取一些原始数据后使用MapReduce做数据分析. 结合计算型框架进行计算统计查看HBa ...