Suggerimenti per giocare a golf in The Powder Toy


9

Divertiti con questo, The Powder Toy è una sfida interessante per il golf, in particolare con la logica dei filtri.

La cosa che rende TPT una sfida sono i molti molti molti molti modi per affrontare un problema: Should I use Cellular Automaton rules, SWCH logic, Filt logic, subframe filt logic, and/or wall logic?

Come tale, una posizione per suggerimenti per il golf TPT sarebbe molto utile, quindi ho fatto questo thread di domande.

Questo thread probabilmente utilizzerà molte abbreviazioni. Molti di questi saranno elementi di gioco, quindi cercarli nel Wiki ti fornirà molte informazioni su di essi, come quelli che sono.

Ecco quelli più comuni che probabilmente vedrai in questa discussione, con la descrizione del gioco in allegato (e il loro nome completo), per le persone che non vogliono andare a cercare:

  • SPRK: elettricità. La base di tutta l'elettronica in TPT, viaggia lungo fili e altri elementi conduttivi.
  • FILT: Filtro. Filtro per fotoni, cambia il colore.
  • ARAY: Ray Emitter. I raggi creano punti quando si scontrano.
  • BTRY: batteria. Genera elettricità infinita.
  • DRAY: raggio duplicatore. Replica una linea di particelle davanti ad essa.
  • CRAY: Emettitore di particelle. Crea un raggio di particelle impostato dal suo tipo, con un intervallo impostato da tmp.
  • SWCH: interruttore. Esegue solo quando acceso. (PSCN si accende, NSCN si spegne)

Elenco di tutti gli elementi


1
@ mbomb007 Grazie per aver aggiunto il link. Lo stavo solo per chiedere. Non conosco la TPT e ho pensato che fosse una sfida per i giocattoli che erano - e forse lo sono ancora - trovati in confezioni di detersivo ...: /
Arnauld

@Arnauld Haha. Ops. Grazie mbomb007: P
moonheart08

Come si calcola il punteggio?
12

@ 12Me21 Al momento, il punteggio si basa sul file di salvataggio. Puoi discuterne in questo meta post
moonheart08,

Risposte:


2

Utilizzare la logica del sottotelaio solo quando è più piccolo

E, per macchine più complesse, è spesso molto più piccola.

Il sottotelaio generalmente impone il sovraccarico di creare SPRK solido (circa 3 pixel per la maggior parte delle direzioni, un pixel in più rispetto a un solo BTRY), i 'canali' FILT (per un veloce trasferimento BRAY) e minimizzare la quantità di logica non sub-frame, anche se è più piccola , perché è molte volte (da 4 a 20x-30x più lento!) più lento.

La logica del sottotelaio è spesso utile per operazioni complesse (che rappresentano la maggior parte delle sfide qui), ma per quelle più semplici, la logica del sottotelaio non è probabilmente ottimale.


per favore aggiungi immagini tyvm
solo ASCII

@ Solo ASCII Lo farà quando torno a casa.
moonheart08

3
Sarebbe bello se potessi precisare le cose invece di usare così tante abbreviazioni. Non tutti hanno familiarità con il gioco, ma alcuni potrebbero trovarlo interessante.
mbomb007,

@ mbomb007 Solo per notare, FILT, BTRY, BRAY, SPRK, ecc. sono solo nomi di particelle in-game. Il gioco stesso usa quei nomi. Devo invece inserire la wiki del gioco nel post principale? Le persone possono cercare quei nomi lì e capire cosa sono abbastanza facilmente.
moonheart08

1

Conosci le tue modalità FILT

FILT è, almeno per la logica FILT e dei sottotelai, la pietra angolare dell'informatica in TPT. E come tale, ha un sacco di trucchi per semplificarti la vita, sotto forma di varie modalità. Puoi impostare una modalità FILT usando tmp, ma un elenco completo che descrive la complessità di queste modalità non è davvero una cosa al momento. FILT accetta due input: il proprio colore (CTYPE) e il colore con cui interagisce, BRAY o CRAY. Etichetterò questi FILTC e INTRC, rispettivamente, per questo elenco.

  • Modalità 0:

    La modalità più semplice, imposta INTRC sul valore di FILTC, niente di più.

    INTRC = FILTC
    
  • Modalità 1:

    Questo è un binario AND, che unisce INTRC e FILTC, impostando INTRC sul risultato.

    INTRC = INTRC & FILTC
    
  • Modalità 2:

    Si tratta di un OR binario, che raggruppa INTRC e FILTC, impostando INTRC sul risultato.

    INTRC = INTRC & FILTC
    
  • Modalità 3:

    Questa modalità è leggermente più complicata, e unisce l'inverso di FILTC e INTRC, impostando INTRC sul risultato.

    INTRC = INTRC & (~FILTC)
    
  • Modalità 4:

    Questa modalità è un po 'più difficile da descrivere. È uno spostamento rosso (spostamento binario a sinistra),

    Il problema qui è che la quantità da cui viene spostata è controllata dalla sua temperatura, con l'equazione (Temperatura-273,0) * 0,025, che passa a uno spostamento predefinito di 1 se il valore è inferiore a 1. È possibile ottenere uno spostamento di qualsiasi quantità richiesta moltiplicando il numero di bit necessari per 40 e aggiungendo 273.0. Chiamerò l'importo spostato X.

    Pertanto, INTRC viene spostato a sinistra di X, impostando INTRC sul risultato.

    X = (temperature-273.0)*0.025
    INTRC = INTRC << X
    
  • Modalità 5:

    Questa è essenzialmente la modalità 4, ma con uno spostamento giusto invece. Vedi le informazioni sulla modalità 4 per come usarlo.

    X = (temperature-273.0)*0.025
    INTRC = INTRC >> X
    
  • Modalità 6:

    Non fa nulla.

    INTRC = INTRC
    
  • Modalità 7:

    Esegue un XOR binario su INTRC e FILTC, impostando INTRC sul risultato.

    INTRC = INTRC ^ FILTC
    
  • Modalità 8:

    Esegue un binario NOT su INTRC, impostando INTRC sul risultato.

    INTRC = ~INTRC
    
  • Modalità 9:

    Imposta INTRC su un colore casuale.

    INTRC = rand()
    
  • Modalità 10:

    Esegue una versione diversa di un turno rosso.

    [TODO: capire come descrivere]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC * LSB
    
  • Modalità 11:

    Esegue una versione diversa di un turno blu.

    [TODO: capire come descrivere]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC / LSB
    
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.