笑笑象棋游戏简介

笑笑象棋游戏简介

  • 需求说明

        近来正值新年伊始,伴随瘟疫产生,憋闷在家中,随手写了个小程序,以此解闷,请喜欢这款游戏的朋友可以给我发邮件或加我QQ来索要程序代码,见笑了,此游戏为中国象棋游戏的一个变体。

  1. 棋盘与棋子:见左图中的棋盘。棋盘为中国象棋棋盘的一半,即为4*8的棋盘,棋子放于格子里面而不是横线与直线的交叉点上,棋子只能在这个4*8的棋盘之内移动。棋子的种类和个数,与中国象棋一样。开局之前,把所有的棋子背面朝上,进行混洗之后,放到如下图棋盘上的位置上。

 

笑笑象棋游戏简介_第1张图片 棋盘信息图一

 

  1. 棋手个数:2 个棋手下棋。
  2. 走棋的方式:双方交替的走棋(必需交替,也就是说,任何一方不能说“我停一招,让对方多走一步” )。
  • 游戏规则解析:
  1. 棋盘与棋子:见上图中的棋盘。棋盘为中国象棋棋盘的一半,即为4*8的棋盘,棋子放于格子里面而不是横线与直线的交叉点上,棋子只能在这个4*8的棋盘之内移动。棋子的种类和个数,与中国象棋一样。开局之前,把所有的棋子背面朝上,进行混洗之后,放到如下图棋盘上的位置上。 
  2. 棋手个数:2 个棋手下棋。
  3. 走棋的方式:双方交替的走棋(必需交替,也就是说,任何一方不能说“我停一招,让对方多走一步” )。
  4. 决定颜色:第一步,任选一个棋手,此棋手翻开第一个棋子,此棋子的颜色即为此棋手的棋子颜色,另一个棋手自然选择另一个棋子颜色。之后,轮到对方走棋,然后双方交替。
  5. 胜利:就是一方把另一方的棋子吃光,或者另一方认输。
  6. 和棋:双方都不能吃光对方的棋子,为和棋。

 

 

笑笑象棋游戏简介_第2张图片 棋盘信息图二

 

 

笑笑象棋游戏简介_第3张图片 棋盘信息图三
  • 关于走棋方式的细节:
  1. 每一步棋可以为如下方式之一:
  • 翻子:把背面朝上的一个棋子翻过来;
  • 移动:在已经翻开的棋子里,选择某个自己颜色的棋子,如果与他相临的位置(水平相邻或者竖直相邻)上没有子,那么可以将此棋子移动到此相邻位置上;
  • 兑子:在已经翻开的棋子里,选择某个自己颜色的棋子,如果与他相临的位置(水平相邻或者竖直相邻)的子是已经翻开的,并且是对方颜色的,并且这两个子的大小相同,比如“象”和“相”大小相同,“炮”与“砲”大小相同),那么可以让这两个子兑掉(从棋盘上一起拿下);
  • 吃子:在已经翻开的棋子里,选择某个自己颜色的棋子(以下称为主动子),可以去按照如下方式之一吃别的子(以下称为被吃子) 。吃完吃后,被吃子被从棋盘上拿掉,主动子被放到被吃子原来的位置上;
  1. 如果为“炮”:
  • 需要隔着一个棋子去吃被吃子;
  • 主动子,被吃子和隔着的,需要在一条直线上(水平或者竖直);
  • 隔着的棋子可以为任意棋子(未翻开的,翻开的,红色的,黑色的);
  • 被吃子可以是未翻开的和已翻开的。 如果是已经翻开的, 必须为对方颜色的棋子。
  • 主动子和隔着的棋子之间可以是任意距离, 只要之间的位置是空着的 (即没有其他棋子);
  • 被吃子和隔着的棋子之间可以是任意距离, 只要之间的位置是空着的 (即没有其他棋子);
  1. 如果主动子为“兵卒”:
  • 此子可以吃相邻位置(水平相邻或者竖直相邻)的已经翻开的对方“将帅”。
  1. 如果主动子为其他子:
  • “大”的子可以吃相邻位置(水平相邻或者竖直相邻)的已经翻开的对方的比较“小”的子。子的大小顺序为:将帅>士>象>马>车>炮。比如:士可以吃对方的炮。
  • 此外,任何子,除了将帅,均可以吃相邻位置(水平相邻或者竖直相邻)的已经翻开的对方的兵卒。
  • 操作说明
  1. 用户点击开始“开始下棋”按钮,弹出棋盘和棋子图目,用户开始下棋;
  2. 玩家A每走完一步棋,需点击“玩家A走完”的按钮;
  3. 玩家B每走完一步棋,需点击“玩家B走完”的按钮;
  4. 在玩棋时间内玩家A或B随时可以点击认输或者和棋按钮来结束玩棋。
  • 质量属性:
  1. 软件优点:
  • 此软件代码为HTML5和JavaScript软件;
  • 既可以单机执行,又可以将其嵌入到Web应用或者C/S模式软件;
  • 伸缩性和可修改性都很容易。
  1. 软件编译及运行:
  • 此软件不需要编译,直接点击index.html文件,打开Web浏览器既可以看到软件界面;
  • 运行环境为可适用浏览器:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗等;
  • 不支持IE8及以下浏览器。
  1. 软件缺定:
  • 可读性和安全性不是很优秀,当部署到Web应用时容易被hacker黑或盗用;
  • 此代码为脚本代码,需要在页面做处理才能不被共享,如果需要共享,请联系作者。
  • 源代码说明:
  • 此代码基本实现了需求中描述的下棋界面和下棋规则,以及评判胜败的条件。
  • 软件的界面是在网上下载的,JS框架引用了JQuery界面库和JavaScript的类架构。
  • Bug列表:
  • 棋手走棋有时会遇到卡顿,但是多选几次棋子就可以;
  • 当选择炮棋子时,杀吃隔一个棋子后,当要吃的棋子是未翻开的棋子时,我感觉不能吃,因为很有可能会误吃到自己的棋子,因此此功能没有做;
  • 当然,炮隔子吃翻开的棋子功能完成。
  • 测试用例:
  1. 用例种类:
  • 测试棋盘加载成功与否;
  • 测试棋子的位置是否正确;
  • 测试棋子是否随机产生;
  • 测试棋子是否超出规定的棋盘范围;
  • 测试棋子是否正确翻转;
  • 测试玩家A(第一个玩家)的棋子颜色;
  • 测试棋子移动是否正确;
  • 测试棋子杀吃是否正确;
  • 测试同类棋子兑子是否正确;
  • 测试炮棋子的隔子杀吃是否正确;
  • 测试玩家是否输棋;
  • 测试玩家是否赢棋;
  • 测试玩家是否认输;
  • 测试玩家是否和棋;
  • 测试提示栏信息是否显示正确。
  • 所用时间:
  • 代码编写用时:4天*4小时=16小时
  • 代码调试用时:4天*2小时=8小时
  • 代码测试用时:4天*2小时=8小时
  • 文档编写用时:2小时
  • 总共用时:16+8+8+2=34小时
  • 联系作者:
  • 作者:奔跑者
  • QQ:3182296177
  • Email:[email protected]
  • 欢迎指教,加QQ或发Email来索取软件代码和文档

你可能感兴趣的:(笑笑象棋游戏简介,深度学习,javascript,css,html5,jquery)