J'essaie de concevoir un circuit combinateur qui émettra un signal avec le contenu du train lorsqu'un train se trouve à l'arrêt (c'est-à-dire le même signal que le mode "Lire le contenu du train" de l'arrêt), mais lorsque le train part, il doit maintenir le signal au contenu du dernier train jusqu'à l'arrivée du train suivant.
En pseudo-code :
If T > 0 # If a train is at the station
Output = Everything # Output train contents
Else
Output = Output from previous tick
End
Pour l'instant, j'ai ça :
Le premier combinateur arithmétique est réglé sur Each * -1 -> Each
qui est ajouté au signal de l'arrêt du train au tick suivant pour donner les changements entre chaque tick comme un "signal delta".
Le combinateur du décideur est réglé sur T >= 0 -> Everything
de sorte que ce "signal delta" soit ignoré au moment où le train quitte la gare. (T > 0 indique qu'un train est en gare, donc le "delta-T" sera négatif lorsque le train partira).
Enfin, ces données sont introduites dans un simple système d'accumulation. Each + 0 -> Each
combinateur arithmétique qui s'alimente également lui-même, agissant comme la cellule mémoire du système.
Le résultat est que la cellule mémoire se met à jour en permanence si j'ajoute ou retire des éléments du train pendant qu'il est à la gare, et qu'elle se souvient correctement du contenu lorsque le train part.
Cependant, je n'ai pas réussi à trouver comment le réinitialiser correctement à l'arrivée du prochain train, donc actuellement, chaque train qui arrive à la gare ajoute au compte actuel plutôt que de l'écraser.
J'ai essentiellement besoin de m'assurer qu'à l'arrivée du train, le contenu actuel de la cellule mémoire est soustrait du "signal delta", mais je continue à me battre pour obtenir le bon timing tout en empêchant la valeur de T de la cellule mémoire (dont je ne me soucie pas par ailleurs) d'interférer sans utiliser une tonne de combinateurs.