java 五子棋 简单_java实现简易五子棋游戏
本文实例为大家分享了java实现简易五子棋游戏的具体代码,供大家参考,具体内容如下
编写一个简易五子棋,棋盘在控制台中绘制,棋盘每- - 个点都有对应的坐标,下棋者输
入对应坐标落棋子,运行效果如图所示。两位数字表示的坐标中,第-一个数字表示横坐标,
第二个数字表示纵坐标,运行结果如图所示。
代码:
package Test;
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
int flag = 0; //偶数玩家一操作,奇数玩家二操作
int works=0; //判断是否胜利,若胜利则为4
int works_x=0; //胜利时最后一步的x值
int works_y=0; //胜利时最后一步的y值
String list[][] = start(); //棋盘的生成,和显示
for (int i = 0; i < list.length; i++) {
for (int j = 0; j < list[i].length; j++) {
System.out.print(list[i][j]);
}
System.out.println();
}
while (true) { //循环操作和显示结果,胜利时跳出
Scanner sc = new Scanner(System.in);
System.out.print("位置:");
String temp = sc.next(); //棋手输入的x值和y值(此方法中为0-9的数)
int x = Integer.parseInt(temp.substring(0,1));
int y = Integer.parseInt(temp.substring(1));
if (flag % 2 == 0){//玩家一操作,此位置为" - "时可操作,否则重新输入
if (list[x+1][y+1]==" - ")
list[x+1][y+1] = " O ";
else
flag--;
}
else{ //玩家二操作,此位置为" - "时可操作,否则重新输入
if (list[x+1][y+1]==" - ")
list[x+1][y+1] =" X ";
else
flag--;
}
flag++; //每次操作成功+1,下一玩家操作
for (int i = 0; i < list.length; i++) {//显示操作结果
for (int j = 0; j < list[i].length; j++) {
System.out.print(list[i][j]);
///*
if (list[i][j]!=" - "){//判断是否胜利,只有非“ - ”时判断
if(work(list,i,j)==4){
works=work(list,i,j);
works_x=x;
works_y=y;
}
}
//*/
}
System.out.println();
}
if(works!=0){//最后值为“ O ”时,玩家一胜出;最后值为“ X ”时,玩家二胜出。
if(list[works_x][works_y]==" O ")
System.out.println("玩家一胜出");
else
System.out.println("玩家二胜出");
System.out.println("结束");
break;
}
}
}
public static String[][] start() { //生成一个10*10的空棋盘
String list[][] = new String[11][11];
for (int i = 0; i < list.length; i++) {
for (int j = 0; j < list[i].length; j++) {
if(i == 0 && j==0)
list[i][j] = " ";
else if (i == 0 && j!=0)
list[i][j] = " "+(j-1)+" ";
else if (j==0 && i!=0)
list[i][j] = " "+(i-1)+" ";
else
list[i][j] = " - ";
}
}
return list;
}
public static int work(String list[][],int x,int y) {//判断是否胜利
//if(x-5>0 || y-5>0 ||x+5
int temp=0;
if(x-4>0 ){
if(y-4>0 ){ //左上角是否五子连线
for(int i=0;i<4;i++){
if (list[x][y]==list[x-5+i][y-5+i])
temp++;
else
break;
}
}
else if(y+4
for(int i=0;i<4;i++){
if (list[x][y]==list[x-4+i][y+4-i])
temp++;
else
break;
}
}
else{
for(int i=0;i<4;i++){ //正上角是否五子连线
if (list[x][y]==list[x-4+i][y])
temp++;
else
break;
}
}
}
else if(x+4
if(y-4>0 ){
for(int i=0;i<4;i++){
if (list[x][y]==list[x+4-i][y-4+i])
temp++;
else
break;
}
}
else if(y+4
for(int i=0;i<4;i++){
if (list[x][y]==list[x+4-i][y+4-i])
temp++;
else
break;
}
}
else{
for(int i=0;i<4;i++){ //正下角是否五子连线
if (list[x][y]==list[x+4-i][y])
temp++;
else
break;
}
}
}
else{
if(y-4>0 ){
for(int i=0;i<4;i++){ //正左角是否五子连线
if (list[x][y]==list[x][y-4+i])
temp++;
else
break;
}
}
else if(y+4
for(int i=0;i<4;i++){
if (list[x][y]==list[x][y+4-i])
temp++;
else
break;
}
}
}
return temp;
}
}
更多有趣的经典小游戏实现专题,分享给大家:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
java 五子棋 简单_java实现简易五子棋游戏相关推荐
- 五子棋java百度文库_JAVA课程设计 五子棋(内附完整代码).doc
JAVA课程设计 五子棋(内附完整代码) JAVA课程设计 设计题目:五子棋游戏 简要的介绍五子棋 五子棋的起源 五子棋,又被称为"连五子.五子连.串珠.五目.五目碰.五格.五石.五法.五联 ...
- java 五子棋项目_Java项目实现五子棋小游戏
本文实例为大家分享了Java实现五子棋小游戏的具体代码,供大家参考,具体内容如下 项目名称 五子棋小游戏 项目描述 可以改变获胜棋子数,率先连成棋数的人获胜 代码实现 测试类 public class ...
- java做五子棋 视频_java swing实现五子棋小游戏项目源码附带视频指导运行教程...
<p> <span style="color:#555555;font-family:"font-size:16px;background-color:#FFFF ...
- 扑克牌游戏java代码_java实现简易扑克牌游戏
本文实例为大家分享了java实现扑克牌游戏的具体代码,供大家参考,具体内容如下 游戏功能描述 1.创建一副扑克牌: 包括四种花色:黑桃,红桃,梅花,方片 包括十三种点数:2-10,J,Q,K,A 2. ...
- java五子棋设计_Java课程设计——五子棋
一.项目简介 五子棋是全国智力运动会竞技项目之一,是一种两人对弈的纯粹型棋类游戏.通常双方分别使用黑白两色棋子,下在棋盘直线与横线的交叉点上,先形成五子连线的一方获胜. 玩法规则:1.双方各执一色棋子 ...
- 发扑克牌java程序_Java实现简易扑克牌游戏
功能描述 1.创建扑克牌.包括四种花色(黑桃,红心,梅花,方块),十三种点数(2-10,J,Q,K),不考虑大小王. 2.创建两个玩家.包括玩家id.姓名.手牌等集合,手牌为扑克牌的集合. 3.洗牌. ...
- java简易扑克牌游戏设计报告_Java第三季 简易扑克牌游戏 练习完成(已自测通过)...
/** * 扑克牌类 * Created by yuyong on 2017/3/8. */ public class Card { public String color; // 花色 public ...
- java socket 工具_java Socket简易聊天工具
本文实例为大家分享了一款Socket简易聊天工具,希望大家喜欢. 代码运行如图,看起来还不错 服务端 package qiu; import java.awt.BorderLayout; import ...
- JAVA实现简单“伪植物大战僵尸“游戏
用两天时间试着用JAVA模拟植物大战僵尸写的游戏 程序只用了2天时间完成,BUG较多,也没有做过多优化,功能也很简单,最后也没有想去改进 源代码免费提供,CSDN上的需要积分下载,可以去GIT上下载* ...
最新文章
- 超壮观!10只波士顿动力机器狗,拖动大卡车,步伐整齐划一如同仪仗队
- putty/xshell/Secure CRT远程工具详解
- python 03 字符串详解
- 利用脚本将文字插入到图片或进行多个图片拼接
- webpack+vue+mint-ui 实现上拉加载更多(Loadmore组件)
- flask页面操作gpn接口
- Diango博客--7.自动生成文章摘要
- 笔记:数据绑定表达式(一)
- Nginx是什么 ? 能干嘛 ?
- mysql sys cpu_MySQL SYS CPU高的案例分析(一)
- SQL Server 2012笔记分享-10:理解数据压缩
- python maketrans函数_python中maketrans
- GridView点击行触发SelectedIndexChanged事件
- Android JNI的调用
- ShaderForge - 纹理水平垂直翻转
- 大唐移动骨干集体出走 TD人才考验大唐
- 基于深度学习的音乐推荐系统(一)音频频谱图绘制
- Error connecting to node kafka1:9092 (id: 0 rack: null) ,marathon docker镜像添加hosts
- ppt全屏播放卡死退出
- 南邮ctf-web的writeup
热门文章
- Python爬虫:常用的user_agent请求头
- 【市场观点学习】【转载】市场细分
- 接天莲叶无穷碧,映日荷花别样红 1
- 易聚社怎么样?怎么操作好这个网络兼职平台?
- 学习-python-办公自动化-统计excel里文本中每个单词出现频次
- 对于MAC地址的认识,以及MAC地址和IP地址的区别,MAC地址和IP地址各起到什么作用?
- 搭建Free NAS环境
- 暑假N天乐【比赛篇】 —— 2019牛客暑期多校训练营(第三场)
- 宇视摄像机存储在SD卡的录像能否在PC上播放
- MLOps极致细节:16. Azure ML Pipeline(机器学习管道),Azure Compute Instance搭建与使用