gpt4 book ai didi

language-agnostic - Code Golf : 2D Platformer

转载 作者:行者123 更新时间:2023-12-03 10:28:06 24 4
gpt4 key购买 nike

锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或互动。








挑战

  • 到达关卡的尽头!
  • 如果您恰好击中每个 (C)oin 块 2 次,则可获得奖励积分。

  • 不允许
  • 以任何方式硬编码命令序列。
  • 您的最爱 《一字语言》碰巧只做一件事,那就是解决这个高尔夫问题。

  • 如何

    您的程序通过标准输入接收以下级别( 没有换行符 )。
    然后它必须打印出成功完成关卡所需的命令。

    等级
  • 小号 是你的起始位置。
  • E 完成关卡所需的位置。
  • C 是一个硬币块,里面有 2 个硬币,你永远不必跳过其中一个来完成关卡。
  • 两者 C _ 算地面,只有坚实的地面没有 float 平台。
  • | 是一堵墙,为了完成关卡,您需要跳起来的所有墙最多为 1 堵墙高,所有更高的墙您都可以认为是您无法以任何方式摆脱的深渊。
  • x 是尖刺,猜猜如果你触摸它们会发生什么。尖刺将始终低于围绕它们的地面一层。

  • 所有级别都是 4 行高,每行 63 个字符宽。这使得每个级别总共有 252 个字符。
    >                       ______  ____       ________  ___        <
    > C ______| | | | C __| | | | ____E<
    >S______ __ ____| | | |_____| |__| |___| <
    > xx xx xx <

    备注: >< 只是为了说明边界,它们是 不是 包含在程序的输入中。还要注意你的文本编辑器,因为我的空格多次搞砸了

    命令
  • = 将您向右移动 1,如果您下方没有地面,您将坠落,直到撞到它为止。您无法移动 当你坠落时。
  • J = 跳跃,在接下来的 3 个命令中将您向上移动 1,或者直到您击中 (C)oin 块。之后,您将坠落,直到到达地面。您只能在地面上跳跃。如果 M 使您与地面处于同一水平,则跳跃将被取消。
  • Ø = NOP,会让你等待/什么都不做。这样你就可以跳出只有 1 个方块宽的洞和尖刺(你不需要在上面的关卡中使用它,但如果你能解决需要它的关卡,你将获得额外的积分)。

  • 解决方案(使用硬币块)

    连续的命令堆叠在彼此的顶部。
    传真 表示你会跌倒的地方(记住你跌倒时不能做任何事情),
                                MMMF                 MMMF            
    M MMMMMMJ MMMMF M MMMMMMMMJ MMMF
    M J MMMFMMMF MMMMMMJ| | | |F J MMJ| | | |F MMMMME
    SMMMJMJ MJ MMMJ| | | |MMJMJ| |__| |MMJ|
    xx xx xx

    结果命令序列,75 个字符长:
    MMMMJJMMJMMMMJMMMMMMJMMMMMMJMMMMMMJMMMMMMMMMJJMMJMMJMMMMMMMMJMMMMMMMMJMMMMM

    希望这会产生一些有趣的结果......而不是大量的火焰:O

    编辑

    好的,有比我最初想到的更多的可能性,我为所有的编辑道歉。

    最佳答案

    Javascript:

    短版(334 280 256 240 238 236 233 223 207 205 196 184 182个字符)

    a=prompt();j=i=0;while(a[++j*63]<(o="M"));while(++i<62){while(a[h=j*63+i]<"_")j++;if(a[h-63]>"B")o+="JJ";if(a[h+1]>"z")o+="J",j--;if(a[h+3]+a[h+1]=="_ ")o+="JMM",i+=2;o+="M"}alert(o)

    注: Javascript 方法提示往往会删除某些浏览器(例如:Google Chrome)上的空间。由于这些浏览器的原因,它可能无法按预期工作。在其他人(例如:Firefox)上,它会正常工作。

    评论版
    a=prompt(); // Read the input //
    j=i=0;
    while(a[++j*63]<(o="M")); // Place the cursor at the "S" //
    while(++i<62){ // While we are not at the end point //
    while(a[h=j*63+i]<"_")j++; // If we are on a space, we fall //
    if(a[h-63]>"B")o+="JJ";// We jump for coins //
    if(a[h+1]>"z")o+="J",j--; // We jump when we reach a wall //
    if(a[h+3]+a[h+1]=="_ ")o+="JMM",i+=2; // We jump on gap //
    o+="M" // We add the movemment in the output
    }
    alert(o) // Output

    关于language-agnostic - Code Golf : 2D Platformer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3173415/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com