进入主页https://www.chess.com/home:


随便选一个特殊玩法点进去

进去之后滑动到右侧边栏底部,选择Edit Rules

在Presets中选择4 player

在Mix & Match中选Fog of War

选择teams模式,这样对家就互为友军

只要有一方的国王被吃掉,他和他的队友就都输了:

展开more菜单可以进行详细设置:

第一个参数:时间:一个玩家的累计有效时间(由第3个参数决定)上界,如果累计有效时间超过这个值,就直接输掉游戏(“不同的规则下可能不同-有些规则是根据吃掉的棋子的总分数来评判胜负的”,在该网站对classic chess-就是用默认的普通国际象棋规则,不进行任何设置的情况下是这样的)
第二个参数:时间:一个玩家的单个回合时间上界,如果某一个走棋回合超过这个上界,根据第3个参数来决定如何处理
第三个参数:
Increment情况下如果一个玩家的单个回合时间超过第二个参数,直接输掉游戏;有效时间定义为累计回合时间(所有单个回合时间的累加)
Delay情况下如果一个玩家的单个回合时间超过第二个参数,开始扣除第一个参数中对应的时间,即有效时间定义为累计超时时间(所有这样的回合求和(超过了第二个参数的单个回合时间减去第二个参数))


裁判员收集双方玩家的开局部署图,确认符合限制后

用鼠标拖动棋子到对应的位置,调整它们的排列次序

比如这里红方玩家为了避免被对手猜到开局的时候王在哪里,把王放到了角落里作为开局部署

开局部署限制
要实现自定义开局棋子部署功能,这里给出约束条件:对于每一个玩家,兵线不能动,国王所在的行的棋子的排列可以完全自定义,不能引入特殊单位,由裁判员(人)检查对战双方的4位玩家提交的开局部署图是否符合规范,并在Edit Position中按照双方的要求为双方部署开局位置,并启动对局。

4位参与的玩家需要首先进入到变体游戏界面(登录网页版并进入变体界面)

裁判员点invite players大框框以后,输入四个玩家的用户名
需要选择exclude me,即裁判员本人不参与对战


参与玩家接收邀请:


给4个玩家分配颜色,就可以启动游戏,这里我使用机器人代替2个玩家
裁判员选择开始游戏:


互为队友的玩家可以实时看到队友的战术标记:右键单击单元格标记圈,右键从一个单元格拖动到另一个单元格产生箭头
真人玩家1-chrome

真人玩家2-firefox

双方可以同时进行战术标记-firefox

裁判员可以全程观战、监督比赛-edge

裁判员可以切换迷雾视角,查看双方的战争迷雾情况:


走棋顺序是顺时针
棋盘比双人玩家玩的时候要大,可以设置兵走到距离底线第几个可以晋升,以及可以晋升的棋子种类,不需要到对家的底线才晋升。晋升时系统有弹窗提示,比如

比如设置成这样:

兵冲两格到4th行就直接可以晋升


特殊单位:网站提供的特殊单位都由经典的国际象棋棋子的走法规则组合而来,同时还加入了中国象棋的马(在垂直方向的相邻格子有棋子存在时会绊马脚),类似于中国象棋的炮(不能像城堡一样沿垂直直线走无数格,但是可以跳到所在直线上的第一个棋子后的地方),走得更远的马(骆驼,普通马即骑士走2*1或者1*2,骆驼走3*1或1*3)、中国象棋的象作为基础棋子,这些特殊的基础棋子和传统棋子也有组合棋子,比如龙主教就是结合了中国象棋的马和经典国际象棋的主教产生的。
此外还有向量化走法的棋子,如双骑士:

合法的移动范围是普通骑士沿一个方向连续移动多步构成的范围集合。
布置棋子的时候把棋子拖到棋盘外可以清除棋子:

中国象棋的象:

游戏规则制定者要学习这些棋子的走法,可以在变种象棋规则编辑面板中把对应的棋子拖到棋盘上
然后点Anaylsis


之后按照走棋顺序一个人控制四个玩家进行模拟走棋,轮到对应玩家时点一下想学的那个棋子就可以看到它的合法移动范围--点(合法移动)和圈(合法吃子)表示

一局结束后点PGN4,然后点下面那个下载按钮,保存复盘文件到电脑(写了不要点的那个下载的是PGN文件,只能对经典国际象棋进行复盘)

在4players & variants界面选择archieve,可以看到自己玩的最近几局的复盘,任意点开一个:

之后选择PGN4

点open...

选自己保存的复盘文件:

然后就展示出了你自己保存的复盘,所有类型的变种都可以这么操作:

逐步复盘

在对战时上图窗口也可以查看已经走过的棋。
采用标准的PGN格式,而不是上述变种国际象棋的PGN4格式
在play-Archive中可以看到,这个Archive菜单和变种象棋的不是同一个

点进去之后:

在右边可以看到每一回合的移动。可以逐步回放
如果要导入现存的PGN文件:



在变种象棋的编辑规则中也可以选择标准国际象棋的规则:
之后也可以得到复盘的PGN4文件或者PGN文件-这里是标准国际象棋,所以可以存PGN文件

说明:
PGN只适用于标准的国际象棋复盘 默认是.pgn后缀
PGN4适用于所有变种象棋的复盘,默认是.pgn4.txt后缀

复盘也可以在变种国际象棋页面选择Anaylsis:

变种象棋分析这里只允许使用PGN4


在railstutorial中,作者为什么选择使用这个(代码list10.25):http://ruby.railstutorial.org/chapters/updating-showing-and-deleting-usersnamespace:dbdodesc"Filldatabasewithsampledata"task:populate=>:environmentdoRake::Task['db:reset'].invokeUser.create!(:name=>"ExampleUser",:email=>"example@railstutorial.org",:passwo
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐
我有一个数组数组,想将元素附加到子数组。+=做我想做的,但我想了解为什么push不做。我期望的行为(并与+=一起工作):b=Array.new(3,[])b[0]+=["apple"]b[1]+=["orange"]b[2]+=["frog"]b=>[["苹果"],["橙子"],["Frog"]]通过推送,我将推送的元素附加到每个子数组(为什么?):a=Array.new(3,[])a[0].push("apple")a[1].push("orange")a[2].push("frog")a=>[[“苹果”、“橙子”、“Frog”]、[“苹果”、“橙子”、“Frog”]、[“苹果”、“
给定一个元素和一个数组,Ruby#index方法返回元素在数组中的位置。我使用二进制搜索实现了我自己的索引方法,期望我的方法会优于内置方法。令我惊讶的是,内置的在实验中的运行速度大约是我的三倍。有Rubyist知道原因吗? 最佳答案 内置#indexisnotabinarysearch,这只是一个简单的迭代搜索。但是,它是用C而不是Ruby实现的,因此自然可以快几个数量级。 关于Ruby#index方法VS二进制搜索,我们在StackOverflow上找到一个类似的问题:
随着ruby被引入为新的编程救世主,我想知道是否有人基于易用性、运行所需的资源、可用性和易定制性而有偏好。两者有更好的吗? 最佳答案 好吧,任何基于Rails的社交网络应用程序的比较都应该包括insoshi(http://portal.insoshi.com/)。话虽这么说,这三个都非常相似,区别在于实现细节。Lovd和Insoshi都是完整的Rails应用程序;它旨在供您将它们用作入门工具包,并使用您自己的自定义功能对其进行扩展。另一方面,CommunityEngine是一个Rails插件。这意味着您可以更轻松地向现有Rail
目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式
我看到有两种写作风格:deffind_nest(animal)returnunlessanimal.bird?GPS.find_nest(animal.do_crazy_stuff)end对比deffind_nest(animal)ifanimal.bird?GPS.find_nest(animal.do_crazy_stuff)endend哪个更正确/更可取/遵循最佳实践?还是无所谓? 最佳答案 根据Rubystyleguide,Preferaguardclausewhenyoucanassertinvaliddata.Aguar
您可能知道,从Rails2.2开始,Rails附带了一个简单的本地化和国际化后端。默认情况下,您可以将需要翻译的字符串存储在config文件夹中的本地化文件中。config/locales/en.ymlconfig/locales/it.yml但是Rails也提供了本地化模板和局部的能力。例如,MainController#index操作可以根据模板文件名和当前区域设置选择本地化模板。apps/views/main/index.it.html.erbapps/views/main/index.en.html.erb当您需要翻译单个字符串或短段落时,第一个功能很有用。当同一Action根
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion我目前正在使用guard来监视我的.coffee和.scss文件的变化并适本地编译它们。现在,gruntjs和yeoman提供了类似的功能。从guard转向gruntjs或yeoman的动机是什么?使用yeoman和gruntjs有什么好处,反之亦然?谢谢!