首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你好!我是高尔夫队的治安官!

你好!我是高尔夫队的治安官!
EN

Code Golf用户
提问于 2018-07-26 09:33:01
回答 1查看 5.9K关注 0票数 30

几个月前使用Twitter的人很可能都会知道“你好!我是X的警长”这个迷因。在这里,一个简单的治安官图片是用表情符号画出来的,并改变了一个主题。所以,我想是时候轮到高尔夫代码郡长了。他就是这样的:

代码语言:javascript
复制
    ###
   #####
    ###
    ###
    ###
     #
   #####
  #  #  #
 #   #   #
 #   #   #
     #
    ###
   #   #
   #   #
   #   #
   #   #

这一个特别有‘像素’,是一个字符宽,一个字符高。要产生他,论点将是1和1。

如果他比他高得多怎么办?

代码语言:javascript
复制
      ######
    ##########
      ######
      ######
      ######
        ##
    ##########  
  ##    ##    ##
##      ##      ##
##      ##      ##
        ##
      ######
    ##      ##
    ##      ##
    ##      ##
    ##      ##

他身高1,宽2。

规则:

  • 挑战是编写代码,以尽可能少的字符画出你自己的代码高尔夫郡长。
  • 使用你心中想要的任何编程语言。
  • 对于警长的高度和宽度,您的代码应该使用两个参数,这两个参数都是整数。
  • 输出应由背景的单个空白和您为警长选择的任何其他字符(S)组成。(我在测试用例中使用过散列,但不管您使用什么)。
  • 应该有可能的高度是一个负整数,倒置图像。
  • 宽度可以是一个负整数,但由于图像是对称的,它将与它的正值相同。
  • 尾随空格是不相关的。
  • 如果其中一个参数为0,则该维度将被“平坦”为单个行或列。这一行的长度是另一个参数,分别乘以警长的高度或宽度。
  • 如果这两个参数都是0,则两行都是“扁平的”,只留下一个正字符。
  • 不重要,但请提供一个指向在线解释器(如tio.run )的链接。
  • 输出应该是一个字符串,跨多行,或者输出到控制台。

测试用例

1个高,1个宽

代码语言:javascript
复制
    ###
   #####
    ###
    ###
    ###
     #
   #####
  #  #  #
 #   #   #
 #   #   #
     #
    ###
   #   #
   #   #
   #   #
   #   #   

2高1宽

代码语言:javascript
复制
    ###
    ###
   #####
   #####
    ###
    ###
    ###
    ###
    ###
    ###
     #
     #
   #####
   #####
  #  #  #
  #  #  #
 #   #   #
 #   #   #
 #   #   #
 #   #   #
     #
     #
    ###
    ###
   #   #
   #   #
   #   #
   #   #   
   #   #
   #   #
   #   #
   #   #  

1个高,2个宽

代码语言:javascript
复制
      ######
    ##########
      ######
      ######
      ######
        ##
    ##########  
  ##    ##    ##
##      ##      ##
##      ##      ##
        ##
      ######
    ##      ##
    ##      ##
    ##      ##
    ##      ##

2高2宽

代码语言:javascript
复制
      ######
      ######
    ##########
    ##########
      ######
      ######
      ######
      ######
      ######
      ######
        ##
        ##
    ##########  
    ##########  
  ##    ##    ##
  ##    ##    ##
##      ##      ##
##      ##      ##
##      ##      ##
##      ##      ##
        ##
        ##
      ######
      ######
    ##      ##
    ##      ##
    ##      ##
    ##      ##
    ##      ##
    ##      ##
    ##      ##
    ##      ##

-1个高,1个宽

代码语言:javascript
复制
   #   #
   #   #
   #   #
   #   #   
    ###
     #
 #   #   #
 #   #   #
  #  #  #
   #####
     #
    ###
    ###
    ###
   #####
    ###

1高-1宽

代码语言:javascript
复制
    ###
   #####
    ###
    ###
    ###
     #
   #####
  #  #  #
 #   #   #
 #   #   #
     #
    ###
   #   #
   #   #
   #   #
   #   #   

0高0宽

代码语言:javascript
复制
#

1高0宽

代码语言:javascript
复制
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#

0高,2宽

代码语言:javascript
复制
##################

玩得开心,你们!

EN

回答 1

Code Golf用户

发布于 2018-07-26 14:14:15

木炭,61字节

代码语言:javascript
复制
NθNη¿θF⪪”{“↷C¿2t´⁴Q19·“*Ty”!E↔θ∨⭆ι×μ↔η#×#∨×⁵↔η¹‖OO←∨↔η¹¿‹θ⁰‖↓

在网上试试!链接是详细的代码版本。解释:

代码语言:javascript
复制
NθNη

输入尺寸。

代码语言:javascript
复制
¿θF⪪”{“↷C¿2t´⁴Q19·“*Ty”!

如果高度不是零,就绕着警长的右半部分.

代码语言:javascript
复制
E↔θ

..。重复绝对高度的次数..。

代码语言:javascript
复制
∨⭆ι×μ↔η#

..。如果宽度为非零,则重复每个字符的绝对次数,否则为#

代码语言:javascript
复制
×#∨×⁵↔η¹

但如果高度为零,则重复# 5倍的绝对宽度,但至少1 #

代码语言:javascript
复制
‖OO←∨↔η¹

反映出治安官的左半部分。

代码语言:javascript
复制
¿‹θ⁰‖↓

如果高度为负值,就把警长翻过来。

票数 7
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/169284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档