`
寒风如歌
  • 浏览: 4350 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

五子棋

 
阅读更多
**
* 判断输赢的方法
*
* @author Administrator
*
*/
public class Win {

// 定义一个存储棋子的数组属性
private int[][] chesses;

/**
* 构造函数
*/
public Win(int[][] chesses) {
this.chesses = chesses;
}

/**
* 判断横向输赢(是否有五颗棋子相连)
*
* @param row行
* @param column列
* @return 是否五子相连
*/
public boolean winH(int row, int column) {
// 定义一个统计棋子的变量
int count = 1;
System.out.println("棋子"+chesses[row][column]);
// 向右查找是否有相同的棋子出现,如果有,则count++,否则
for (int i = column + 1; i < chesses[row].length; i++) {
if (chesses[row][column] == chesses[row][i]) {
count++;
} else
break;
}

// 向左查找是否有相同的棋子出现,如果有,则count++,否则
for (int i = column - 1; i >= 0; i--) {
if (chesses[row][column] == chesses[row][i]) {
count++;
} else
break;
}
return validate(count);
}

/**
* 定义一个判断是否五子相连的方法
*
* @param count多少颗棋子相连的变量
* @return true和false
*/
public boolean validate(int count) {
// 判断是否有五颗棋子或者超过五颗
return count >= 5 ? true : false;
}

}
主要是越界问题,就是利用这个方法,可以使越界问题得到解决,不然用if判断虽是可以,但写起来实在是太多了......
分享到:
评论

相关推荐

    matlab-wuziqi.rar_matlab五子棋gui_五子棋_五子棋matlab_五子棋matlan_五子棋算法

    【标题】"matlab-wuziqi.rar"中包含的是一个使用MATLAB编程实现的五子棋GUI(图形用户界面)项目。这个项目是开发者基于MATLAB的M语言编写的,目的是为了创建一个可供人机对战或者双人对战的五子棋游戏。 【描述】...

    MFC 五子棋 一个简单的五子棋游戏

    《MFC实现的五子棋游戏详解》 五子棋是一种简单却富有策略性的棋类游戏,深受广大玩家喜爱。本文将围绕一个基于MFC框架实现的五子棋游戏进行详细解析,涵盖游戏的核心功能、数据结构设计以及关键算法。 首先,让...

    模拟连五子棋游戏,五子棋经典算法

    在IT行业中,游戏开发是一项既富有挑战性又充满乐趣的工作,尤其当涉及到经典的逻辑游戏时,如五子棋。五子棋是一种双人对弈的策略游戏,目标是在棋盘上形成连续的五个同色棋子,无论是横、竖还是斜线。在此,我们将...

    超强五子棋软件 奕心2015

    弈心——最强的五子棋引擎 尽管五子棋先后于1992年、2001年被计算机证明原始无禁手、原始有禁手规则下先手必胜,在五子棋专业比赛中采用现代开局规则(如基于无禁手的两次交换规则(Swap-2),基于有禁手的索索夫-8...

    五子棋素材五子棋素材

    【标题】"五子棋素材五子棋素材" 指的是与五子棋游戏相关的图形素材资源,可能包括棋盘、棋子等元素。在Java编程中,这些素材可能会被用于开发一个五子棋游戏应用程序,使得用户可以通过图形界面进行游戏。 【描述...

    使用c#联机五子棋使用c#联机五子棋

    在本文中,我们将深入探讨如何使用C#编程语言来实现一个联机五子棋游戏。五子棋是一种经典的双人对弈游戏,目标是通过在棋盘上连成五个同色的棋子来获胜。在C#中实现联机版五子棋涉及到网络通信、图形界面设计以及...

    用VC编写的一个五子棋:五子棋源代码

    《五子棋源代码解析与VC开发经验分享》 五子棋,又称连珠,是一种简单却富有策略性的双人对弈游戏。在计算机编程领域,实现五子棋的源代码是一个经典的练习项目,它涉及到图形用户界面设计、游戏逻辑算法以及事件...

    五子棋的实现(UML建模图)

    五子棋游戏软件的实现(UML建模图) 本文将对五子棋游戏软件的实现进行详细的介绍,包括软件的架构设计、类的构造、成员变量和成员函数的使用、消息机制的实现,以及游戏算法的概述。 首先,本文对 C++、MFC 和它...

    pythonAI五子棋_python教程_五子棋_

    五子棋是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。五子棋有两种玩法。玩法一:双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连线者获胜。玩法二:自己形成五子连线...

    alphabeta搜索五子棋

    《AlphaBeta搜索在五子棋中的应用》 五子棋是一种深受人们喜爱的智力游戏,其规则简单,但策略深奥。在计算机科学领域,如何让计算机在游戏中展现出高超的棋艺,一直是人工智能研究的重要课题。本文将深入探讨Alpha...

    基于L inux的嵌入式五子棋游戏_ 6818开 发板五子棋,基于linux

    在本项目中,我们关注的是一个基于Linux的嵌入式五子棋游戏,它特别针对6818开发板设计。这个项目的核心是利用Linux操作系统的能力,在嵌入式硬件平台上实现一个可玩的五子棋游戏,允许玩家与计算机进行对弈。下面将...

    wrenju五子棋黑石汉化版

    《五子棋黑石汉化版:探索顶尖人机对弈体验》 五子棋,又称连珠,是一项历史悠久、深受人们喜爱的智力游戏。它简单易懂,但蕴含着深奥的策略与技巧,是智慧与策略的对决。而“renju五子棋”作为一款业内知名的...

    MFC双人对战五子棋

    《MFC实现双人对战五子棋游戏详解》 MFC(Microsoft Foundation Classes)是微软提供的一套C++库,用于构建Windows应用程序。在这个项目中,“MFC双人对战五子棋”是一个利用MFC框架开发的桌面游戏,旨在帮助用户在...

    java_五子棋 实习报告

    【Java五子棋实习报告】主要探讨了使用Java编程语言设计和实现五子棋游戏的过程,包括人机对战和玩家间的联网对战功能。在报告中,作者详细阐述了五子棋游戏的背景和历史,以及选择Java作为开发语言的原因。Java因其...

    基于FPGA的五子棋游戏

    本项目“基于FPGA的五子棋游戏”是利用FPGA技术来实现一个五子棋游戏系统,通过Verilog语言编程,结合VGA显示技术,提供了一个互动的游戏平台,玩家可以通过五个按键来控制游戏的进行。 1. **FPGA基础**:FPGA由...

    五子棋人机对战_初级

    【标题】"五子棋人机对战_初级"是一个基于Java编程语言开发的简易五子棋游戏,专为初学者设计。这个项目的核心在于实现一个简单的命令行界面,允许玩家与计算机进行对战,从而体验到编程带来的乐趣和成就感。 ...

    VC 五子棋源代码

    《VC五子棋源代码解析与学习指南》 在编程世界中,开发一款游戏是学习新语言和技术的绝佳方式。本文将围绕“VC五子棋源代码”这一主题,深入探讨C++编程语言在实现五子棋游戏中的应用,以及如何通过VC(Visual C++...

    基于C++的程序员Rock视频教程学习五子棋人机对战设计源码

    本资源提供了一套基于C++的程序员Rock视频教程学习的五子棋人机对战设计源码,包含34个文件,其中包括8个PNG图片文件,7个MP3音频文件,以及5个C++源代码文件。此外,还包括5个JPEG图片文件,4个头文件,以及2个...

    用Java写的五子棋

    《Java实现的五子棋游戏详解》 五子棋,又称连珠,是一种深受人们喜爱的双人对弈策略游戏。在计算机编程领域,利用Java语言实现五子棋游戏是一项有趣的挑战,也是学习图形用户界面(GUI)、事件处理、算法设计等...

    QT五子棋人机对战人人对战

    QT五子棋是一款基于Qt框架开发的棋类游戏,它实现了经典的五子棋玩法,包括人与人之间的对战模式以及人与计算机的对战模式。在这款游戏中,玩家可以体验到传统五子棋的策略性和竞技性,同时,通过与AI的对弈,还能...

Global site tag (gtag.js) - Google Analytics