粉末玩具中打高尔夫球的技巧


9

玩得开心,“粉玩具”是高尔夫运动中一个有趣的挑战,尤其是在摆球逻辑方面。

使TPT成为挑战的是许多解决问题的方法: Should I use Cellular Automaton rules, SWCH logic, Filt logic, subframe filt logic, and/or wall logic?

这样,TPT高尔夫球技巧的位置将非常有帮助,因此我提出了这个问题。

该线程可能会使用很多缩写。其中很多都是游戏中的元素,因此在Wiki进行搜索会带给您很多有关它们的信息,例如它们的外观。

这是您可能在此主题中看到的最常见的内容,并附有游戏内描述(及其全名),以供不希望搜索的人使用:

  • SPRK:电力。TPT中所有电子设备的基础是沿着电线和其他导电元件传播的。
  • 过滤:过滤。过滤光子,更改颜色。
  • ARAY:Ray Emitter。光线碰撞时会创建点。
  • BTRY:电池。产生无限电。
  • DRAY:复印机射线。复制前面的一行粒子。
  • CRAY:粒子射线发射器。创建由其ctype设置的粒子束,范围由tmp设置。
  • SWCH:切换。仅在打开时进行。(PSCN打开,NSCN关闭)

所有元素清单


1
@ mbomb007感谢您添加链接。我只是要问那个。我不了解TPT,并认为这对过去曾经-也许现在仍然如此-存在于洗涤剂包装中的玩具构成了挑战……:/
Arnauld

@Arnauld哈哈 哎呀 谢谢mbomb007:P
moonheart08

您甚至如何计算分数?
18Me21年

@ 12Me21目前,分数基于保存文件。您可以在此meta post中
moonheart08年

Answers:


2

仅在较小时使用子帧逻辑

而且,对于更复杂的机器,它通常要小得多。

子帧通常会产生以下开销:创建可靠的SPRK(大多数方向约为3像素,与仅BTRY相比要多一个像素),FILT“通道”(用于快速进行BRAY传输)并最大程度地减少非子帧逻辑的数量(即使较小) ,因为它慢很多倍(慢4到20到30倍!)。

子帧逻辑通常对复杂的操作很有用(这是这里的大多数挑战),但是对于较简单的操作,子帧逻辑可能不是最佳的。


请添加图像tyvm
仅使用ASCII

@ ASCII-only当我回到家时会做。
moonheart08年

3
如果您可以将所有内容拼写而不是使用太多缩写,那将是很好的。并非每个人都熟悉该游戏,但有些人可能会发现它很有趣。
mbomb007 '18

@ mbomb007请注意,FILT,BTRY,BRAY,SPRK等只是游戏中粒子的名称。游戏本身使用这些名称。我应该将游戏的Wiki放在主要帖子中吗?人们可以在那里搜索这些名称,然后很容易找出它们的名称。
moonheart08

1

了解您的FILT模式

至少对于FILT和子帧逻辑而言,FILT是TPT中计算的基石。因此,它具有多种技巧,可以通过多种模式来简化您的生活。您可以使用设置FILT模式tmp,但是描述这些模式的复杂性的完整列表现在并不是真正的事情。FILT接受两个输入:它是自己的颜色(CTYPE)以及与之交互的颜色(BRAY或CRAY)。在此列表中,我将分别标记这些FILTC和INTRC。

  • 模式0:

    最简单的模式是将INTRC设置为FILTC的值,仅此而已。

    INTRC = FILTC
    
  • 模式1:

    这是一个二进制AND,将INTRC和FILTC一起与,将INTRC设置为结果。

    INTRC = INTRC & FILTC
    
  • 模式2:

    这是一个二进制OR,它与INTRC和FILTC或运算,将INTRC设置为结果。

    INTRC = INTRC & FILTC
    
  • 模式3:

    此模式稍微复杂一些,它将FILTC和INTRC的逆运算加在一起,将INTRC设置为结果。

    INTRC = INTRC & (~FILTC)
    
  • 模式4:

    此模式很难描述。这是一个红移(二进制左移),

    这里要注意的是,它的偏移量受温度控制,公式为(Temperature-273.0)* 0.025,如果该值小于1,则默认偏移量为1。您可以实现任何所需量的偏移量通过将所需位数乘以40,再加上273.0。我称这个数量为X。

    这样,将INTRC左移X,将INTRC设置为结果。

    X = (temperature-273.0)*0.025
    INTRC = INTRC << X
    
  • 模式5:

    这本质上是模式4,但是右移。有关如何使用的信息,请参见模式4的信息。

    X = (temperature-273.0)*0.025
    INTRC = INTRC >> X
    
  • 模式6:

    什么也没做。

    INTRC = INTRC
    
  • 模式7:

    对INTRC和FILTC执行二进制XOR,将INTRC设置为结果。

    INTRC = INTRC ^ FILTC
    
  • 模式8:

    在INTRC上执行二进制NOT,将INTRC设置为结果。

    INTRC = ~INTRC
    
  • 模式9:

    将INTRC设置为随机颜色。

    INTRC = rand()
    
  • 模式10:

    执行不同版本的红移。

    [TODO:弄清楚如何描述]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC * LSB
    
  • 模式11:

    执行蓝移的其他版本。

    [TODO:弄清楚如何描述]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC / LSB
    
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.