本文实例为大家分享了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实现简易五子棋游戏相关推荐

  1. 五子棋java百度文库_JAVA课程设计 五子棋(内附完整代码).doc

    JAVA课程设计 五子棋(内附完整代码) JAVA课程设计 设计题目:五子棋游戏 简要的介绍五子棋 五子棋的起源 五子棋,又被称为"连五子.五子连.串珠.五目.五目碰.五格.五石.五法.五联 ...

  2. java 五子棋项目_Java项目实现五子棋小游戏

    本文实例为大家分享了Java实现五子棋小游戏的具体代码,供大家参考,具体内容如下 项目名称 五子棋小游戏 项目描述 可以改变获胜棋子数,率先连成棋数的人获胜 代码实现 测试类 public class ...

  3. java做五子棋 视频_java swing实现五子棋小游戏项目源码附带视频指导运行教程...

    <p> <span style="color:#555555;font-family:"font-size:16px;background-color:#FFFF ...

  4. 扑克牌游戏java代码_java实现简易扑克牌游戏

    本文实例为大家分享了java实现扑克牌游戏的具体代码,供大家参考,具体内容如下 游戏功能描述 1.创建一副扑克牌: 包括四种花色:黑桃,红桃,梅花,方片 包括十三种点数:2-10,J,Q,K,A 2. ...

  5. java五子棋设计_Java课程设计——五子棋

    一.项目简介 五子棋是全国智力运动会竞技项目之一,是一种两人对弈的纯粹型棋类游戏.通常双方分别使用黑白两色棋子,下在棋盘直线与横线的交叉点上,先形成五子连线的一方获胜. 玩法规则:1.双方各执一色棋子 ...

  6. 发扑克牌java程序_Java实现简易扑克牌游戏

    功能描述 1.创建扑克牌.包括四种花色(黑桃,红心,梅花,方块),十三种点数(2-10,J,Q,K),不考虑大小王. 2.创建两个玩家.包括玩家id.姓名.手牌等集合,手牌为扑克牌的集合. 3.洗牌. ...

  7. java简易扑克牌游戏设计报告_Java第三季 简易扑克牌游戏 练习完成(已自测通过)...

    /** * 扑克牌类 * Created by yuyong on 2017/3/8. */ public class Card { public String color; // 花色 public ...

  8. java socket 工具_java Socket简易聊天工具

    本文实例为大家分享了一款Socket简易聊天工具,希望大家喜欢. 代码运行如图,看起来还不错 服务端 package qiu; import java.awt.BorderLayout; import ...

  9. JAVA实现简单“伪植物大战僵尸“游戏

    用两天时间试着用JAVA模拟植物大战僵尸写的游戏 程序只用了2天时间完成,BUG较多,也没有做过多优化,功能也很简单,最后也没有想去改进 源代码免费提供,CSDN上的需要积分下载,可以去GIT上下载* ...

最新文章

  1. 超壮观!10只波士顿动力机器狗,拖动大卡车,步伐整齐划一如同仪仗队
  2. putty/xshell/Secure CRT远程工具详解
  3. python 03 字符串详解
  4. 利用脚本将文字插入到图片或进行多个图片拼接
  5. webpack+vue+mint-ui 实现上拉加载更多(Loadmore组件)
  6. flask页面操作gpn接口
  7. Diango博客--7.自动生成文章摘要
  8. 笔记:数据绑定表达式(一)
  9. Nginx是什么 ? 能干嘛 ?
  10. mysql sys cpu_MySQL SYS CPU高的案例分析(一)
  11. SQL Server 2012笔记分享-10:理解数据压缩
  12. python maketrans函数_python中maketrans
  13. GridView点击行触发SelectedIndexChanged事件
  14. Android JNI的调用
  15. ShaderForge - 纹理水平垂直翻转
  16. 大唐移动骨干集体出走 TD人才考验大唐
  17. 基于深度学习的音乐推荐系统(一)音频频谱图绘制
  18. Error connecting to node kafka1:9092 (id: 0 rack: null) ,marathon docker镜像添加hosts
  19. ppt全屏播放卡死退出
  20. 南邮ctf-web的writeup

热门文章

  1. Python爬虫:常用的user_agent请求头
  2. 【市场观点学习】【转载】市场细分
  3. 接天莲叶无穷碧,映日荷花别样红 1
  4. 易聚社怎么样?怎么操作好这个网络兼职平台?
  5. 学习-python-办公自动化-统计excel里文本中每个单词出现频次
  6. 对于MAC地址的认识,以及MAC地址和IP地址的区别,MAC地址和IP地址各起到什么作用?
  7. 搭建Free NAS环境
  8. 暑假N天乐【比赛篇】 —— 2019牛客暑期多校训练营(第三场)
  9. 宇视摄像机存储在SD卡的录像能否在PC上播放
  10. MLOps极致细节:16. Azure ML Pipeline(机器学习管道),Azure Compute Instance搭建与使用