在此挑战中,您将在下面绘制棋盘,并允许进行移动。
1.图纸
每个白色正方形都有5x9的空间。
每个黑色正方形都有5x9冒号。
木板被冒号的边界包围。
这些作品宽5个字符,位于中央广场的最底行。
棋子有4个字符宽。它们的位置略偏离右侧中心,左侧有3个空白方块,右侧有2个空白方块。他们坐在正方形底部上方一行。
除可选的尾随换行符外,董事会区域之外不得有空格。
棋盘和西洋棋棋子的绘制应严格按照所示,但:
您可以
:
用黑色方块和边框中的代替不同的符号,也可以用@
黑色部分中的字母替代不同的符号(但黑色方块所用的符号不能相同)。如果愿意,可以将棋子向左移动一个字符。
。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: ::::::::: :::www::: _+_ ::::::::: ::::::::::
: |_|_| :: _,,::: (/) :::)@(::: )@( :::(/)::: _,, ::|_|_|:::
: |@| ::"- \~:: |@| :::|@|::: |@| :::|@|::: "- \~ :::|@|::::
: |@| :::|@|::: |@| :::|@|::: |@| :::|@|::: |@| :::|@|::::
: /@@@\ ::/@@@\:: /@@@\ ::/@@@\:: /@@@\ ::/@@@\:: /@@@\ ::/@@@\:::
:::::::::: ::::::::: ::::::::: ::::::::: :
:::::()::: () ::::()::: () ::::()::: () ::::()::: () :
:::::)(::: )( ::::)(::: )( ::::)(::: )( ::::)(::: )( :
::::/@@\:: /@@\ :::/@@\:: /@@\ :::/@@\:: /@@\ :::/@@\:: /@@\ :
:::::::::: ::::::::: ::::::::: ::::::::: :
: ::::::::: ::::::::: ::::::::: ::::::::::
: ::::::::: ::::::::: ::::::::: ::::::::::
: ::::::::: ::::::::: ::::::::: ::::::::::
: ::::::::: ::::::::: ::::::::: ::::::::::
: ::::::::: ::::::::: ::::::::: ::::::::::
:::::::::: ::::::::: ::::::::: ::::::::: :
:::::::::: ::::::::: ::::::::: ::::::::: :
:::::::::: ::::::::: ::::::::: ::::::::: :
:::::::::: ::::::::: ::::::::: ::::::::: :
:::::::::: ::::::::: ::::::::: ::::::::: :
: ::::::::: ::::::::: ::::::::: ::::::::::
: ::::::::: ::::::::: ::::::::: ::::::::::
: ::::::::: ::::::::: ::::::::: ::::::::::
: ::::::::: ::::::::: ::::::::: ::::::::::
: ::::::::: ::::::::: ::::::::: ::::::::::
:::::::::: ::::::::: ::::::::: ::::::::: :
:::::::::: ::::::::: ::::::::: ::::::::: :
:::::::::: ::::::::: ::::::::: ::::::::: :
:::::::::: ::::::::: ::::::::: ::::::::: :
:::::::::: ::::::::: ::::::::: ::::::::: :
: ::::::::: ::::::::: ::::::::: ::::::::::
: () ::::()::: () ::::()::: () ::::()::: () ::::()::::
: )( ::::)(::: )( ::::)(::: )( ::::)(::: )( ::::)(::::
: /__\ :::/__\:: /__\ :::/__\:: /__\ :::/__\:: /__\ :::/__\:::
: ::::::::: ::::::::: ::::::::: ::::::::::
:::::::::: ::::::::: www :::_+_::: ::::::::: :
:::|_|_|:: _,, :::(/)::: ) ( :::) (::: (/) :::_,,::: |_|_| :
::::| |::: "- \~ :::| |::: | | :::| |::: | | ::"- \~:: | | :
::::| |::: | | :::| |::: | | :::| |::: | | :::| |::: | | :
:::/___\:: /___\ ::/___\:: /___\ ::/___\:: /___\ ::/___\:: /___\ :
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
2.搬家
这些列从左到右分别标记为AH,从下到上分别标记为1到8。用户应能够以以下形式输入移动:
<start column><start row><space><destination column><destination row>
例如,B1 C3
意味着将骑士移动到主教的棋子前面的广场上(假设游戏刚刚开始)。
另外,也可以使用ICCF系统,其中的列标记为1到8而不是A到H。因此上述骑士移动变为21 33
。
下图(源)阐明了这两个系统:
将执行移动并显示新板。任何发生的捕获都应发生在移动中的棋手从棋盘上移开目的地方格的棋子的情况下。
无需检查合法的棋牌移动,因为其他挑战已经涵盖了这一点:最小的棋子程序和最小的国际象棋仲裁器如果用户尝试从一个空的正方形移动,则您的程序或功能应忽略该移动。如果用户尝试捕获友善的棋子,则可以忽略移动,也可以捕获静止的棋子。
无需支持传承或cast割。
您可能会假设输入格式正确,即始终采用上述格式。字母总是大小写相同,您可以决定是哪种情况。
3.计分和奖金
这是代码高尔夫。最短的代码获胜。
如果您的程序或功能允许晋升,则为-10%奖金。用户输入第三个输入,这次是以下字母之一:QBRN。仅当移动在最后一行以pawn结尾时,才应允许输入。典当被替换为命名的棋子。QBRN。
如果您的程序或函数实现了特殊的“撤消”动作以逆转动作(如果需要,可以回溯到游戏开始),则可获得-10%的奖励。显然,业余玩家可能会做出非法动作,他们可能希望撤消它们。您可以定义用户为该“撤消”动作必须提供的输入(必须始终相同)。如果用户尝试在游戏开始后进行撤消,则行为是不确定的。
奖金总和,即如果您同时获得这两种奖金,您将获得-20%。