文档章节

国际象棋 测试

一贱书生
 一贱书生
发布于 2016/11/24 08:56
字数 275
阅读 4
收藏 0

有个国际象棋游戏程序使用了放法:boolean canMoveTo(int x,int y),这个方法是Piece类的一部分,可以判断某个棋子能否移动到位置(x,y)。说明如何测试该方法。

 

解答:

测试类型1:极限情况测试(错误输入或异常输入)

1)测试x和y为负数的情况

2)测试x大于棋盘宽度的情况

3)测试y大于棋盘高度的情况

4)测试一个满是棋子的棋盘

5)测试一个空或接近空的棋盘

6)测试白子多于黑子的情况

7)测试黑子多于白子的情况

 

测试类型2:一般情况测试

国际象棋一共有6种棋子,测试每一种棋子,在所有可能的方向上,向其他所有棋子移动的情况。

 

对每一种棋子a:

     对其他每一种棋子b(6种及空白)

          对每一个方向d

               创建有a的棋盘

               将b放在方向d上

               试着移动——检查返回值

© 著作权归作者所有

共有 人打赏支持
一贱书生
粉丝 19
博文 724
码字总数 600123
作品 0
国际象棋冠军程序Rybka被发现剽窃开源引擎

续四届世界电脑国际象棋锦标赛(WCCC)冠军Rybka,被发现剽窃了开源国际象棋引擎Crafty和Fruit,Rybka被取消资格,被终生禁止参加WCCC锦标赛,并被要求退回奖杯和奖金。 Rybka的作者是国际象...

红薯
2011/06/30
2.5K
11
用数据说话,硬盘速度竟能影响 CPU 性能?

近期,存储设备的价格不断飙升,尤其是内存,已经屡次突破历史最高点。因此玩家们在装机选购硬件的过程中更要把每一分钱都花在刀刃上,最大限度提升平台整体的性能。然而,近期在我们日常测试...

达尔文
2017/09/25
3.5K
23
精通国际象棋的AI研究员:AlphaZero真的是一次突破吗?

     近日,Jose Camacho Collados 在 Medium 上发表了一篇题为《Is AlphaZero really a scientific breakthrough in AI?》的文章,对 AlphaZero 在 AI 领域的真正科学价值提出质疑。作者...

深度学习
2017/12/15
0
0
观点 | 精通国际象棋的AI研究员:AlphaZero真的是一次突破吗?

  选自 Medium   机器之心编译   参与:路雪、 刘晓坤      近日,Jose Camacho Collados 在 Medium 上发表了一篇题为《Is AlphaZero really a scientific breakthrough in AI?》的...

机器之心
2017/12/14
0
0
深度学习机器72小时自学国际象棋达到大师水平

Photo by Maarten van den Heuvel on Unsplash 导读 英文原文发布于2015年9月, 当时 旗下公司 的(即)尚未战胜人类的职业围棋选手. 今天, 我们已经知道旧版战胜李世石和柯洁的(包括后来的)都以...

fesoncn
02/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
11分钟前
1
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
19分钟前
0
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
29分钟前
15
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
55分钟前
1
0
区块链技术中的那些能商用的企业级应用

WEPOWER是一家立陶宛初创企业,旨在改变可再生电力项目的付费方式。WePower公司创始人Nick Martyniuk表示,政府统一收购价的存在推动了全球风能与太阳能市场的发展。因此,他的公司希望帮助那...

问题终结者
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部