五子棋的实现 Java课程设计
简单的无禁手五子棋实现
- 效果图
- 功能
- 运行环境说明
- 源码
- Board
- 还有一个 Game , 组合即可
- 源文件
- 有疑问看这里
效果图
先来看一下效果图:
功能
悔棋,和棋不做详细说明。
胜场数在效果展示中有相关。
背景可以根据自己的喜好在文件夹中更换,改变背景图片。
落子和触发功能按键时伴有音效。
运行环境说明
编码时使用IDE: eclipse 2020-03
JDK 版本: JDK 1.8
源码
Board
import java.util.Stack;
import java.applet.Applet;
import java.applet.AudioClip;
import java.io.*;
import java.net.*;
class Previous{int x;int y;Previous(int x,int y){this.x=x;this.y=y;}
}
public class Board
{int sum=1;int chess[][];int step[][];//创建一个栈用来存放每一步的走式;Stack<Previous> all;public Board() {chess=new int [15][15];step=new int[15][15];all=new Stack<>();}//检查是否能放棋子boolean CheckPut(int x,int y) {if(chess[x][y]==0) return true;return false;}//判断输赢public int CanWin(int x,int y,int clr) { //根据五子棋规则,黑子先手,则应该有clr=1为黑棋,clr=2为白棋int win=0;//横向判断输赢for(int i=x-4;i<x+5;i++) {if(i<0) continue; //左右两边出界if(i>14) break;if(chess[i][y]==clr) win++;else win=0;if(win==5) return clr;}win=0;//纵向判断for(int j=y-4;j<y+5;j++) {if(j<0) continue;if(j>14) break;if(chess[x][j]==clr) win++;else win=0;if(win==5) return clr;}win=0;//副对角线判断for(int i=x-4,j=y+4;i<x+5&&j>y-5;i++,j--) {if(i<0||j<0||i>14||j>14) continue;if(chess[i][j]==clr) win++;else win=0;if(win==5) return clr;}win=0;//主对角线判断for(int i=x-4,j=y-4;i<x+5&&j<y+5;i++,j++) {if(i<0||j<0) continue;if(i>14||j>14) break;if(chess[i][j]==clr) win++;else win=0;if(win==5) return clr;}return 0;}//此处下棋,并检查下棋后是否胜利public int ChessHere(int x,int y,int clr) {if(CheckPut(x,y)) {step[x][y]=sum++;chess[x][y]=clr;Previous p=new Previous(x,y);all.push(p);return CanWin(x,y,clr); //检查此时是否胜利}else return -1; //CanWin中return 0,在后面会有条件判断}//获取棋盘当前落子状态public int[][] GetChess(){return chess;}//获取步数public int[][] GetStep(){return step;} //重开public void ReStart() {for(int i=0;i<15;i++) {for(int j=0;j<15;j++) {chess[i][j]=0;//step[i][j]=0; //步数置零与否都可}}all.clear();sum=1;}//悔棋public void Regret() {if(all.isEmpty()) return ;Previous c=all.pop();chess[c.x][c.y]=0;}public void Music(String s)
{ try {File f;URI uri;URL url;AudioClip music; f = new File("src/"+s+".wav"); uri = f.toURI();url = uri.toURL();music = Applet.newAudioClip(url);music.play(); } catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} //解析地址
}
}
还有一个 Game , 组合即可
源文件
需要的话点击,迷宫 五子棋 源码 + 报告
笔者邮箱: lzzy604@126.com
对您有帮助的话,就点赞,评论支持一下作者吧。
有疑问看这里
有疑问的话,请在评论区留言或私信笔者。
五子棋的实现 Java课程设计相关推荐
- 五子棋 java 课设,五子棋java课程设计
五子棋java课程设计 目目 录录 一.课程设计任务及要求 1 二.需求分析. 1 2.1 棋盘板块 .1 2.2 聊天板块 .1 2.3 ChatSever .1 2.4 编译环境 .1 2.5 参 ...
- 大学java课程设计-简单五子棋
大学java课程设计-简单五子棋 前言 效果图 课设要求 五子棋介绍 五子棋介绍 游戏玩法 系统需求分析 系统的设计与实现 项目工程结构 运行环境 代码设计 前言 第一次写博客,不知道写些什么,就打算 ...
- JAVA课程设计——“小羊吃蓝莓”小游戏
JAVA课程设计--"小羊吃蓝莓"小游戏 1. 团队课程设计博客链接 http://www.cnblogs.com/HXY071/p/7061216.html 2. 个人负责模块或 ...
- Java课程设计基于ssm的微信小程序
Java课程设计, 基于ssm的微信小程序 后端涉及技术spring.mysql等 效果查看请扫一扫 喜欢可以点赞哟
- ATM柜员机JAVA课程设计_ATM柜员机学年论文设计(Java课程设计)
内容简介: ATM柜员机学年论文设计(Java课程设计),共23页,4599字,附源程序. 一. 程序介绍3 二. 开发环境搭建3 1. MyEclipse 5.5.1 GA安装3 2. MyEcli ...
- java中国象棋网络对弈,java课程设计---中国象棋对弈系统
java课程设计---中国象棋对弈系统 1 目目 录录 摘要 1 关键字 1 正文 2 1.程序设计说明. 2 1.1 程序的设计及实现 2 1.1.1搜索引擎的实现(engine包) . 2 1.1 ...
- 计算器小程序java课程设计,java课程设计----计算器小程序报告.doc
java课程设计----计算器小程序报告.doc #####学院JAVA语言课程设计报告小程序计算器系统管理班级:#######姓名:#####指导老师:###时间:2012年6月25日至6月29日2 ...
- ATM柜员机JAVA课程设计_JAVA课程设计报告银行ATM机系统.doc
JAVA课程设计报告银行ATM机系统 Java课程设计报告 题 目 银行ATM机系统 所在院系 软件学院 学生姓名 金磊 专 业 R机械+软件 班 级 R机械094 学 号 2011年 7 月 15日 ...
- java课程设计 考试系统,java课程设计考试系统.
java课程设计考试系统.Tag内容描述: 1.目 录 第一章第一章 引言引言 3 1 1目的 3 1 2名词解释 3 1 3参考资料 3 1 4文档结构 3 第第 2 章章远景远景 4 2 1项目概 ...
- Java课程设计报告--绩效考核信息管理系统
Java课程设计报告 题目 绩效考核信息管理系统 学生姓名 学 号 院 系 年级专业计算机科学与技术 班 ...
最新文章
- spring aop 应用实例
- VTK:vtkNew<vtkDenseArray<double>>用法实战
- 使用myeclipse建立maven项目(重要)
- 一文读懂视频监控系统全过程内容
- 想在“双十一”做“爆款”?你的数据库存能支撑吗?
- app开发第二次总结
- intellij idea 使用 git stash
- 精细加工领域中超快激光的应用
- 一元云购qq互联回调地址错误解决办法
- murmur3哈希算法
- DGV中复选框第一列可编辑 ,第一列固定显示
- HSSFWorkbook EXCEL导出
- poj java 提交_POJ代码提交器 QNetworkAccessManager post get
- ABAP 供应商主数据批量导入
- SPEC2000程序编译和性能热点分析
- 俄方产量也将削减恐左右油价未来走势
- java 设计一个动物声音“模拟器”
- e代理与和合首创达成战略合作,共创WealthTech生态圈
- mac(object c)开发入门
- 智能导诊--菜鸡的程序人生