软件测试 因果+决策案例--中国象棋中走马

news/2024/11/23 9:57:44/

软件测试 因果+决策案例–中国象棋中走马

题目: 因果+决策案例

中国象棋中走马的实际情况:

1.如果落点在棋盘外,则不移动棋子;

2.如果落点与起点不构成日字型,则不移动棋子;

3.如果落点处有自己方棋子,则不移动棋子;

4.如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;

5.如果不属于1-4条,且落点处无棋子,则移动棋子;

6.如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;

7.如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束

解答:

分析题目可得原因和结果如下所示:

原因结果
1.落点在棋盘上21.不移动棋子
2.落点与起点构成日字22.移动棋子
3.落点处为自己方棋子23.移动棋子,并除去对方棋子
4.落点方向的邻近交叉点无棋子24.移动棋子,并提示战胜对方,结束游戏
5.落点处无棋子
6.落点处为对方棋子(非老将)
7.落点处为对方老将

由此可得因果图如下所示:

software-testing/20200501204227

注:1、添加中间节点11,目的是作为导出结果的进一步原因。

2、考虑结果不能同时发生,所以对其施加唯一约束O。

3、原因5、6、7不能同时发生,所以对其施加异约束E。

根据因果图建立判定表(分为两表):

software-testing/20200501204426

software-testing/20200501204457

software-testing/20200501204533

software-testing/20200501204614

注:1、表2中部分列被合并表示不可能发生的现象。

2、通过中间节点将用例的判定表简化为两个小表,减少了工作量。

3、用例因不方便写入原始表格中,故另单独用表列出。其中己方为红棋。

4、假定棋谱中10条横线从上到下分别用小写字母a、b、c、d、e、f、g、h、i、j表示,9条竖线从左到右分别用数字1、2、3、4、5、6、7、8、9表示。例如黑炮位置c2。

母a、b、c、d、e、f、g、h、i、j表示,9条竖线从左到右分别用数字1、2、3、4、5、6、7、8、9表示。例如黑炮位置c2。

software-testing/20200501204637


http://www.ppmy.cn/news/430069.html

相关文章

中国象棋(react hooks版)

文章目录 前言功能展示新增模块功能搭建项目框架配置React Router配置React Store配置i18n配置主题色React动画React ColorPicker打谱记录单元测试 核心功能优化落子音效dom解耦小结 结语 前言 它终于来了。终于来了,在第一版的基础上,历时近两个月终于…

中国象棋博弈

文章目录 棋盘表示着法生成搜索算法最小值-最大值搜索搜索alpha-beta剪枝优化 棋局评估棋子子力棋子位置 棋盘UI不足参考文献 棋盘表示 中国象棋的棋盘为10*9的矩形,一般采用10*9的二维数组来表示。 chessBoard: [["BR1","BN1","BB1&quo…

java实现中国象棋 源代码

java实现中国象棋 在网上找了很久中国象棋实现的源代码,终于找到了,下面就是源代码。 /**中国象棋Java版V3.0*源文件:Chess.java*添加功能:实现了当前棋局的保存*/import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.uti…

中国象棋,博大精深

文章目录 象棋简介象棋玩法棋子分数 象棋简介 象棋,是汉族棋类益智游戏,中国象棋在中国有着三千多年的历史,属于二人对抗性游戏的一种。由于用具简单、趣味性强,成为流行广泛的棋艺活动。是我国正式开展的78个体育项目之一。 象…

中国象棋详细设计分析

目 录 第一章 引言(概述) - 1 - 第二章 可行性分析 - 2 - 2.1 总体分析 - 2 - 2.2 开发环境介绍 - 2 - 2.2.1 软件开发环境 - 2 - 第三章 需求设计 - 2 - 第四章 详细设计 - 3 - 4.1 功能设计 - 3 - 4.1.1 功能说明 - 3- 4.1.2 对弈规则 - 4 - 4.1.3 相…

【180629】C++版智商超高的中国象棋游戏源码

这个中国象棋游戏可谓智商比较高,有时候你就是比不过电脑,哈,不服气不行, 试着玩了一局,没有赢电脑,因时间关系没有下第二局。不过,程序中还是有一点点缺憾,希望高人能够修正&#x…

C++实现双人中国象棋(一)——算法篇(附完整代码)

一、简介 最近突发奇想,要使用C做一个双人象棋的程序,昨天肝了一天,终于把算法部分完成了,下面把开发过程中的经验分享一下。 开发环境:Visual Studio 2019 语言标准:C11及以上 纠错:暂无 二、…

Java游戏开发——中国象棋联机版

游戏介绍: 中国象棋是起源于中国的一种棋戏,属于二人对抗性游戏的一种,在中国有着悠久的历史。由于规则简单,趣味性强,成为流行极为广泛的棋类游戏。 中国象棋使用方形格状棋盘及红黑二色圆形棋子进行对弈&#xff0c…