Questions tagged «hexagonal-grid»

对于涉及六角形网格上的数据的挑战。将此标签也用于三角形网格,即六角形网格的对偶(即,六角形网格的顶点形成三角形网格的面,反之亦然)。

30
创建一个鹦鹉程序
给定输入,输出该输入,然后不断地换行。 输入将是仅由可打印的ASCII字符(0x20-0x7E)和换行符(0x0A)组成的字符串。 如果输入长度为0,则不断输出换行符。 这是代码高尔夫球,因此每种语言中最少的字节会获胜!
15 code-golf  string  sequence  combinatorics  fastest-code  number  code-challenge  restricted-source  rosetta-stone  code-golf  arithmetic  decision-problem  integer  factorial  code-golf  arithmetic  decision-problem  integer  bitwise  code-golf  kolmogorov-complexity  code-golf  tips  vim  code-golf  quine  code-generation  code-golf  string  restricted-source  code-golf  string  random  unicode  code-golf  audio  code-golf  ascii-art  code-golf  decision-problem  code-golf  puzzle-solver  code-golf  restricted-source  code-golf  kolmogorov-complexity  permutations  hexagonal-grid  code-golf  string  math  combinatorics  fastest-code  code-golf  restricted-source  code-golf  string  code-golf  arithmetic  code-golf  math  number  code-golf  string  decision-problem  balanced-string  code-golf  binary  code-golf  string  number  code-challenge  restricted-source  code-golf  ascii-art  printable-ascii  interactive  code-golf  string  ascii-art  code-challenge  restricted-source  source-layout  code-golf  arithmetic  tips  functional-programming  golfing-language  code-golf  binary  encryption 

4
HexaGolf:Rotagons
另请参阅:字形 挑战 给定一个六角形和一个数字n作为输入,输出相同的六角形旋转n时间。 六边形 六角形将是这样的字符串: a b c d d e e f f o g g h h i i j k l 六边形将始终是规则的,并且将仅包含可打印的ASCII字符: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 回转 要找到旋转六边形n的角度,请乘以60度以获得旋转角度。例如,使用上述六边形,如果n为2 ,则将其乘以60得到120度。然后,将六角形旋转120度: j h f k h f d l i o d a i g e b g e c 请注意,每一侧都顺时针移动了两侧。 如果n为正,则应顺时针旋转六角形。如果n为负,则应逆时针旋转六角形。 …

3
标记基于堆栈的语言
我一直在研究另一种称为Stackgoat的基于堆栈的高尔夫语言。在这个挑战中,您将为Stackgoat(或实际上是任何通用的基于堆栈的语言)编写Tokenizer。 例子 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 规格 您需要处理的三种类型是: 弦乐,什么内"" 数字,任何数字序列 运算符,除空格外的任何其他单个字符 除非将其留在字符串中或将两个数字分隔开,否则实际上将忽略空格。 字符串/字符规范: 字符串以分隔",当\遇到时,下一个字符应转义。 字符前面加a ',后面的字符'应转换为字符串文字。'a->"a" ' 后面总会有一个角色 右引号应自动插入 规则: 没有形式eval允许 输入输出: 可以通过STDIN,函数参数或您的语言等效输入。 输出应为数组或您的语言最接近的等效数组。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

6
在六角形网格上运动
给定一系列代表六边形网格上运动的字符的输入,输出“指针”的最终坐标。 我们的六边形将按以下方式编号(想象一个矩形网格,每个奇数编号的列都会稍微向下移动): _____ _____ _____ _____ / \ / \ / \ / \ / -3,-2 \_____/ -1,-2 \_____/ 1,-2 \_____/ 3,-2 \ \ / \ / \ / \ / \_____/ -2,-1 \_____/ 0,-1 \_____/ 2,-1 \_____/ / \ / \ / \ / \ / -3,-1 \_____/ -1,-1 …

9
不对称KOTH:抓住猫(猫螺纹)
不对称的KOTH:抓住猫 更新: 由于Controller.java没有捕获到异常(仅错误),因此更新了主文件(包括新的子任务)。现在,它确实可以捕获错误和异常并打印它们。 这个挑战包括两个线程,这是cat线程,catcher线程可以在这里找到。 控制器可以下载 此处。 这是一个不对称的KOTH:每个提交都是猫还是一个捕手。每对猫和捕手之间都有游戏。猫和捕手的排名各不相同。 捕手 六角形网格上有一只猫。您的任务是尽快捕获它。每转一圈,您都可以在一个网格单元上放置一个水桶,以防止猫能够去那里。但是猫不是(也许)那么笨,每当您放置一个桶时,猫都会移动到另一个网格。由于网格是六角形的,因此猫可以向6个不同的方向移动。您的目标是用水桶包围猫,速度越快越好。 猫 您知道捕手想通过在您周围放水桶来接住您。当然,您会设法逃避,但是由于您是一只懒惰的猫(就像猫一样),您当时确实迈出了一步。这意味着您不能待在同一个地方,而是必须移至周围的六个景点之一。每当您看到捕手放了一个新的水桶时,您就会进入另一个牢房。当然,您尝试逃避的时间越长越好。 格网 网格是六边形的,但是由于我们没有六边形的数据结构,因此我们采用一个11 x 11正方形的2d数组并模仿该六边形的“行为”,即猫只能在6个方向上移动: 拓扑是环形的,这意味着如果您踩到阵列“外部”的单元格,您将被转移到阵列另一侧的相应单元格。 游戏 猫从网格中的给定位置开始。捕手可以先走,然后猫及其捕手交替走动,直到猫被抓到为止。步骤数是该游戏的分数。猫试图获得尽可能高的分数,捕手试图获得尽可能低的分数。您参与的所有游戏的平均总和就是您提交的分数。有两个单独的等级,一个用于猫,一个用于捕手。 控制者 给定的控制器是用Java编写的。作为捕手或猫,您每个人都必须完整地实现一个Java类(已经有一些原始示例)并将其放置在players包中(并更新Controller类中的猫/捕手列表),但是您也可以编写该类中的其他功能。控制器随附了简单的cat / catcher类的每两个工作示例。 该字段是一个11 x 112D int数组,用于存储单元格当前状态的值。如果一个单元格为空,则它具有值0;如果有一只猫,它具有值-1;如果有一个存储桶,则有一个值1。 您可以使用一些给定的功能:isValidMove()/ isValidPosition()用于检查您的移动(cat)/位置(catcher)是否有效。 每次轮到您时,takeTurn()都会调用您的函数。参数包含当前网格的副本,并具有类似于read(i,j)读取处的单元格的方法(i,j),以及isValidMove()/ isValidPosition()检查答案是否正确的方法。这也可以管理环形拓扑的环绕,这意味着即使网格只有11 x 11,您仍然可以访问单元格(-5,13)。 该方法应返回一个int包含两个元素的数组,这些元素代表可能的移动。对于猫来说,{-1,1},{0,1},{-1,0},{1,0},{0,-1},{1,-1}它们代表了猫想去的位置的相对位置,而捕手则返回了他们想要放水桶的位置的绝对坐标{i,j}。 如果您的方法产生无效举动,则您的提交将被取消资格。如果在您的目的地已经是一个铲斗或不允许该举动/目的地已经被占用(作为猫),或者如果已经有一个铲斗/猫(作为捕手),则该举动被视为无效。您可以使用给定的功能事先检查一下。 您的提交应该相当快地工作。如果您的方法每个步骤花费的时间超过200毫秒,则也将被取消比赛资格。(最好少得多...) 程序可以在步骤之间存储信息。 意见书 您可以根据需要进行任意数量的提交。 请不要显着改变您已经提交的内容。 请每个提交一个新的答案。 每个提交最好都具有唯一的名称。 提交内容应包括您班级的代码以及可以告诉我们您提交内容的工作方式的描述。 您可以在<!-- language: lang-java -->源代码前写一行,以自动突出显示语法。 计分 所有猫都将与所有捕手竞争相同的次数。我将尝试经常更新当前分数,当活动减少时将确定获胜者。 这项古老的Flash游戏启发了这一挑战 感谢@PhiNotPi进行测试并提供一些建设性的反馈。 …

6
ASCII六边形链
问题 画一条x长六边形的链,每条的边y长 输入值 x -链的长度<= 50 y -每边的长度<= 50 例子 x=1,y=1 _ / \ \_/ x=4,y=1 _ _ / \_/ \_ \_/ \_/ \ \_/ \_/ x=3,y=2 __ __ / \ / \ / \__/ \ \ / \ / \__/ \__/ \ / \__/ 规则 以字节为单位的最短有效答案为准。 允许前导和尾随的换行符。 允许尾随空白。

4
六面体:Validagons
挑战 给定ASCII艺术形状,您必须找出形状是否为正六边形。 六边形 使用两个规则定义正六边形: 它有六个侧面 每边有相等数量的字符 例如,以下形状是规则的,但没有六个边,因此不是规则的六边形: B a a h s a i d y o u r g a o t 类似地,以下形状具有六个边,但是具有不同长度的边,因此不是正六边形: * * * * * * * * * * * * * * 但是,以下形状具有六个边,并且所有边均具有相同数量的字符,因此它是正六边形: T h e h e x a g o n s …

1
拯救大雁免于灭绝
被称为Alex A的鹅种以其居于由64个单元格组成的三角形网格中而闻名: (图片来自这个无关的欧拉项目问题。) 我们将用数字标记每个单元格,0使其63从第一行开始,然后在其下方的每一行中从左向右移动。因此,顶部的单元格是0,而右下角的单元格是63。 每个单元都有三个边界。我们可以在表格a,b中标记每个边框,其中a和b是共享该边框的单元格的编号。例如,单元格0和之间的边界2将被称为0,2或2,0(将它们置于哪个顺序都没有关系)。 网格最边缘的边框的标记系统是不同的,因为网格边缘的单元格具有不与其他单元格共享的边界。如果边框只是一个单元格的一部分,我们将使用字母X。例如,小区的三个边框0是0,2,0,X和0,X。 一些细胞含有鹅。但是,如果您不保护它们,这些鹅将会被邪恶的狐狸杀死(来自网格外部)。如果所有的鹅都死了,那么BrainSteel会很难过。因此,我们将编写一个程序在鹅周围建起篱笆,以保护它们免受狐狸侵害。鹅应该存在于单个完全封闭的栅栏多边形中。我们的围栏预算很低,因此请使用尽可能少的围栏。 输入说明 从0到的逗号分隔的数字列表63,代表包含鹅的细胞。例: 6,12 输出说明 为了成功保护鹅,需要在其上建立围栏的边界列表。这应该是最小数量的围栏。例: 5,6 6,7 11,12 12,13

22
ASCII魔方
灵感来自这和以下聊天: 您的任务是输出以下内容: _ _ _ /_/_/_/\ /_/_/_/\/\ /_/_/_/\/\/\ \_\_\_\/\/\/ \_\_\_\/\/ \_\_\_\/ 允许额外的前导或尾随空格,只要它不会更改多维数据集的外观即可。与往常一样,允许从函数返回上面的内容或字符串列表。 这是代码高尔夫球,因此最短答案以字节为单位!

3
音位错误
性格 我们将这些Unicode字符称为英语IPA辅音: bdfhjklmnprstvwzðŋɡʃʒθ 我们将这些Unicode字符称为 英语IPA元音: aeiouæɑɔəɛɜɪʊʌː (是的,ː这只是长元音标记,但出于此挑战的目的,请将其视为元音。) 最后,这些是主要和次要压力标记: ˈˌ 注意,ɡ(U + 0261)不是小写的g,主应力标记ˈ(U + 02C8)不是撇号,并且ː(U + 02D0)不是冒号。 你的任务 给出一个单词,将元音堆叠在跟随的辅音之上,并将重音标记放置在其跟随的辅音下方。(正如问题标题所暗示的,这样的书写系统将辅音元音序列作为一个单元打包在一起,称为abugida。)给定输入ˈbætəlʃɪp,产生输出: æə ɪ btlʃp ˈ 甲字被保证是声母,韵母和应力标记的字符串,如上面所定义。永远不会有连续的重音标记,它们将始终放置在单词的开头和/或辅音之前。 测试用例 可能有连续的元音。例如,kənˌɡrætjʊˈleɪʃən变为 ɪ ə æ ʊeə knɡrtjlʃn ˌ ˈ 如果一个词以元音开头,打印在“基线”与辅音:əˈpiːl变 ː i əpl ˈ 一个测试用例的初始,强调元音:ˈælbəˌtrɔs变 ə ɔ ælbtrs ˈ ˌ 一句话:ˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəs变成 æ ː ː ʊ uə aə …

1
绘制并标记ASCII六角形网格
在上一个挑战中,我主要是手工绘制了第一张图(借助vim的可视块模式)。但是肯定有更好的方法... 给定一个二维输入(宽度和高度),则输出具有这些尺寸的六边形网格(在ASCII艺术中)。 这是在简介中引用的图表(进行少量修改),它应该是输入的输出width=7, height=3: _____ _____ _____ / \ / \ / \ _____/ -2,-1 \_____/ 0,-1 \_____/ 2,-1 \_____ / \ / \ / \ / \ / -3,-1 \_____/ -1,-1 \_____/ 1,-1 \_____/ 3,-1 \ \ / \ / \ / \ / \_____/ -2,0 \_____/ 0,0 \_____/ …

2
中国跳棋动作最长
在中文跳棋中,一件作品可以通过跳到其他任何一件作品上或通过进行一系列这样的跳跃来移动。您的任务是找到可能的最长跳数序列​​。 输入值 121个零或一的序列,每个零代表一个在板上的位置。零表示该地点为空;一个表示该位置已被占用。位置从左到右列出;从上到下。例如,输入这种设置将 1011110011000001000000000000000000000000100000000001000000000000000000000000000001000000000000000000000001000001100111111 说明: 最上面的位置被一块绿色占据,因此输入中的第一位是1。第二行有一个空位置,然后有一个占用位置,所以01接下来是。第三行已全部占用,因此111。第四行有两个空白和两个占用的空间(从左到右),所以0011。然后是下一行的五个0,一个1和七个0,依此类推。 就像在该设置中一样,有一个角指向上。板上可以有任意数量的部件(从1到121)。请注意,不同颜色的块表示方式不同。 输出量 合法跳的最大长度,使用板上的任何一块。您可能不能多次访问同一个地方(包括起点和终点)。但是,您可能会多次跳过同一块。如果没有合法的跃点,则输出0。不要考虑是否存在合法的非跳跃动作。 例如,上述设置的输出为3。 输入和输出可以通过stdin和stdout,命令行参数,函数调用或任何类似方法来完成。 测试用例 输入: 0100000010000000000000000100000000000000000000000000000001010010000000000000000000000101000000000000000000100000000100001 输出:(0没有两个相邻的部分) 输入: 0000000000111100000000011100000000011000000000100000000000000000000000000000000000000000000000000000000000000000000000000 输出:(1在左上角为一名玩家设置的初始设置)

2
六角坐标:极地直角坐标
Wikipedia谈到极坐标: 在数学中,极坐标系是二维坐标系,其中平面上的每个点由距参考点的距离和距参考方向的角度确定。 这似乎非常适合描述六角形网格。以以下六角形网格为例: A B C D E F G H I J K L M N O P Q R S 我们的参考点将是六边形('J')的中心,我们的参考角将是六边形('A')的左上角。但是,我们将根据从该点开始围绕六边形外部的顺时针台阶数(而不是角度)来描述角度。因此,我们将其称为“步数”而不是角度。 例如,“ C”在(2,2)处,因为它的半径为2(因为距中心“ J”有两个环),并且步数为2(从“ A”向前顺时针走了2个步) ')。类似地,“ O”位于(1、3),因为它距中心一圈,并且从“ E”(在参考角上)向前顺时针走了三步。 为了完整起见,“ J”位于(0,0),因为您需要0步和顺时针0步才能到达。 现在,您还可以使用笛卡尔坐标来描述六边形,但是由于偏移,这有点奇怪。就像极坐标一样,我们将中心设为(0,0)。每个空间也占据一个坐标,因此“ K”位于(2,0),而不是(1,0)。这会将“ A”置于(-2,2),将“ O”置于(1,-1)。 挑战 给定极坐标六边形坐标,以笛卡尔坐标输出相同的坐标。您可以采用这些坐标,并以任何合理的格式输出答案。这意味着您可以根据需要颠倒输入的顺序。这也意味着您可以将坐标输出为(Y,X),但是如果这样做,请在答案中提及这一点以避免混淆。 您不必处理负半径,但可能会遇到负角,或者角度超过六边形完整一圈。例如,您可能会收到(1,10)或(1,-2)作为输入。这些都将对应于我们先前的六角形中的“ N”。你不是要处理非整数输入。 样品IO #Polar #Cartesian (0, 0) (0, 0) (1, 2) (2, …

2
X大于3,且X和Y之间至少相差2
我试图打败一些C ++。是否可以使这种情况更短? X > 3 & X - Y > 1 (当然,除了删除空白。) 所以,X至少4,但X >= Y + 2。 X和Y是[0,5]间隔中的整数。 我试图找到一些按位公式,但失败了。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

4
进行ASCII六边形环平铺
使用ASCII打印六边形环瓦的一部分。 这是一小部分: /\__/\ /_/ \_\ /\__/\ \__/ /\__/\ /_/ \_\/__\/_/ \_\ \ \__/ /\__/\ \__/ / \/__\/_/ \_\/__\/ /\__/\ \__/ /\__/\ /_/ \_\/__\/_/ \_\ \ \__/ /\__/\ \__/ / \/__\/_/ \_\/__\/ \ \__/ / \/__\/ 这是一个较大的部分: \ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\ …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.