Gibt die letzte Farbe der Eingabe in Manufactoria zurück

10

Dieses Puzzle ist das nächste in meiner Reihe von Manufactoria-Herausforderungen.

Hintergrund

Manufactoria ist eine Spiel- / zweidimensionale Programmiersprache. Der Player muss Programme erstellen, die eine Warteschlange manipulieren, um zur gewünschten Ausgabe zu gelangen. Es ist leicht zu erlernen, aber schwer zu meistern, weshalb es sich für eine Vielzahl von Herausforderungen eignet. Wenn Sie nicht wissen, wovon ich spreche, empfehle ich Ihnen, die ersten Tutorial-Levels des Spiels zu spielen.

Herausforderung

Ihre Herausforderung besteht darin, eine Maschine zu erstellen, die das allerletzte Element der Eingabezeichenfolge zurückgibt. Um dies noch schwieriger zu machen, kann die Eingabezeichenfolge eine beliebige Kombination aller vier Farben sein .

Die offizielle benutzerdefinierte Ebene, die verwendet werden soll, finden Sie hier:

http://pleasingfungus.com/Manufactoria/?ctm=Last_in_Line!;IN:_a_series_of_colors_OUT:_the_very_last_color;byrgyrbyrrgry:y|bbrrbryyyrrbr:r|ggrr r; 13; 3; 0 ;

Die Herausforderung dieser Woche konzentriert sich hauptsächlich auf die Idee der Komprimierung. Ich habe mich für diese Herausforderung entschieden, um ein großes Durcheinander an Förderbändern zu erfordern. Die Tatsache, dass alle vier Farben in der Eingabe erscheinen, bedeutet, dass es sehr schwierig ist, Informationen zu speichern.

Obwohl ich keine Komprimierung versuchte, hatte mein erster funktionierender Prototyp 114 Teile und passte in den 13x13-Raum, ohne dass Platz übrig blieb.

Wertung

Ziel dieser Herausforderung ist es, möglichst wenige Teile zu verwenden. Die Punktzahl ist die Anzahl der platzierten Teile und die niedrigste Punktzahl gewinnt.

Obwohl es nur 8 Testfälle gibt, sollte Ihre Erstellung theoretisch in jedem Testfall funktionieren können. Die bereitgestellten Testfälle dienen zum Debuggen.

Beispiele

in:  byrgyrbyrrgry
out: y
in:  ggryybrryr
out: r
in:         #don't you love degenerate cases?
out:
in:  gyrbrygbrygbyrb
out: b
PhiNotPi
quelle

Antworten:

6

65 Teile

Geben Sie hier die Bildbeschreibung ein Um ehrlich zu sein, konnte ich nicht einmal auf die Idee kommen, Leserpaare direkt gegeneinander auszuspielen, bis ich es in den bereits veröffentlichten Lösungen sah. Aber später fing ich an, mir viele Optimierungstricks auszudenken.

Verknüpfung

Feersum
quelle
... können Sie Förderbänder übereinander legen?
SuperJedi224
7

73 69 Teile

Geben Sie hier die Bildbeschreibung ein

Das Organisieren als Strip scheint viele Geräte zu sparen. Von links nach rechts lauten die Spalten "Letzte Farbe war Gelb", "Letzte Farbe war Blau", zwei Spalten mit Geräten, "Letzte Farbe war Rot", "Letzte Farbe war Grün" und "Alles erledigt".

http://pleasingfungus.com/Manufactoria/?lvl=35&code=c10:8f2;q11:6f5;i11:7f0;p11:8f5;i12:6f4;q12:7f5;p12:8f5;c13:8f0;i10:7f6 i10: 6f6; i13: 6f7; i13: 7f7; c9: 6f3; c9: 7f3; c9: 8f3; q11: 9f3; q12: 9f3; c9: 9f2; i10: 9f3; i13: 9f2; g12: 12f3; c10 : 10f1; c13: 11f1; c13: 10f1; c10: 11f1; p12: 2f3; q12: 3f3; c13: 2f3; i13: 3f5; c11: 2f0; c10: 2f3; i10: 3f1; c11: 3f0; c9: 3f3 ; p11: 11f3; p12: 10f3; i11: 10f1; i12: 11f5; c14: 3f3; c14: 6f3; c14: 7f3; c14: 8f3; c14: 9f0; i14: 4f5; c14: 5f3; i13: 4f5; c13 : 5f3; y11: 12f3; c11: 13f2; c9: 4f3; c9: 5f3; c10: 4f3; c10: 5f3; b11: 5f1; c11: 4f2; c12: 4f2; c15: 4f3; c15: 5f3; c15: 6f3 ; c15: 8f3; c15: 7f3; c15: 9f3; c15: 10f3; c15: 11f3; c15: 12f3; c15: 13f0; c14: 13f0; c13: 13f0; r12: 5f1; & ctm = Last_in_Line !; IN: _a_series_of_ _the_very_last_color; byrgyrbyrrgry: y | bbrrbryyyrrbr: r | ggryybrryr: ​​r | b: b |: | gyrbrygbrygbyrb: b | brbrbryyrygbrg: g | rrrrrrrrr: 13; 3 ;

Keith Randall
quelle
1
Ich habe wie fünf verschiedene Lösungen für diese gebaut und sie waren alle über 100 Teile groß. Ihre Lösung haut mich um.
Brotkasten
4

91 88 Teile

Geben Sie hier die Bildbeschreibung ein

Das obere linke Gadget behandelt Grün / Blau, das untere rechte Gadget Rot / Gelb.

http://pleasingfungus.com/Manufactoria/?lvl=35&code=q8:6f5;c8:7f2;c9:5f2;p9:6f4;q9:7f2;i10:5f7;c10:6f0;p10:7f3;i12:6f6 i13: 6f6; c13: 11f0; i14: 6f6; p14: 10f3; r14: 11f0; c15: 6f0; p15: 9f6; q15: 10f0; c15: 11f2; c16: 6f0; q16: 9f5; c16: 10f0; i16 : 11f3; c17: 6f0; c17: 7f1; c17: 8f1; c17: 9f1; c17: 11f1; b10: 8f2; i11: 8f7; c12: 4f3; c12: 7f3; c12: 8f3; i12: 9f5; i12: 10f1 ; c12: 11f3; i12: 12f5; c14: 3f3; c14: 4f3; c9: 4f2; i10: 4f7; i11: 4f7; c7: 8f2; i8: 8f3; c9: 8f3; c9: 9f2; c10: 9f2; i11 : 9f7; i13: 9f7; c14: 9f2; c13: 10f0; i11: 10f6; c10: 10f0; c9: 10f0; c8: 10f1; c8: 9f1; c15: 7f0; i14: 7f6; i13: 7f6; c15: 8f0 i14: 8f6; c13: 8f3; c8: 4f2; c16: 7f0; g8: 5f1; y16: 8f1; q12: 3f7; c13: 2f3; i13: 3f5; c13: 4f3; i11: 3f6; c10: 3f3; p12 : 2f7; c11: 2f3; c7: 6f3; c7: 7f3; c11: 5f3; i11: 6f6; c11: 7f3; c12: 5f3; c13: 5f3; c14: 5f3; c17: 10f1; c11: 11f3; c11: 12f2 ; c13: 12f2; c14: 12f2; c15: 12f2; c16: 12f1; & ctm = Last_in_Line !; IN: _a_series_of_colors_OUT: _the_very_last_color; byrgyrbyrrgry:y | bbrrbryyyrrbr: r | ggryybrryr: ​​r | b: b |: | gyrbrygbrygbyrb: b | brbrbryyrygbrg: g | rrrrrrrrrr: r; 13; 3; 0;;

Keith Randall
quelle
+1 - mehrere Ideen: Verschieben Sie den oberen rot / blauen Teiler drei Stellen nach Süden, Sie können den unteren linken Teil speichern (eine nach links verschieben)
Howard
4

99 90 84 81 Teile

last in line - weitere Optimierungen

Ja - das ist ein Durcheinander von Förderbändern. Aber schließlich deutlich weniger als 100 Teile - auch dank Volatility.

http://pleasingfungus.com/Manufactoria/?lvl=33&code=p12:9f3;i12:2f1;c11:9f0;c9:8f2;c10:8f2;i11:8f7;i12:8f5;i12:4f5;i12:5f5 ; c12: 6f3; i12: 7f1; i13: 9f3; c14: 8f3; i13: 8f3; q12: 3f3; q15: 4f7; p15: 5f7; c14: 5f3; i14: 6f1; i14: 7f1; i13: 7f0; i13 : 6f0; i13: 5f4; c11: 7f3; c10: 7f2; c15: 7f0; c16: 5f3; c16: 7f0; c11: 2f3; c13: 2f0; c14: 2f0; c15: 2f0; c16: 3f1; c16: 4f1 ; c16: 2f0; c17: 4f0; c17: 5f1; c17: 7f1; c17: 8f1; c8: 8f1; c8: 7f1; c8: 5f1; c8: 4f2; c16: 6f3; c17: 6f1; g15: 6f0; c8 : 6f1; c8: 9f1; c8: 10f1; c9: 9f1; c9: 10f0; p10: 9f7; q10: 10f3; b10: 11f2; c11: 10f2; c11: 11f2; i12: 10f5; c12: 11f3; c13: 10f1 ; c13: 11f0; c16: 10f2; c17: 9f1; c17: 10f1; c12: 12f3; p14: 9f7; q14: 10f7; r14: 11f0; c15: 9f1; c15: 8f1; c15: 10f2; c11: 3f3; q11 : 4f3; p11: 5f3; y11: 6f2; c10: 5f3; c10: 6f3; c9: 4f2; c10: 4f2; c13: 3f3; c13: 4f2; c14: 4f2; & ctm = Last_in_Line !; IN: _a_series_of_col_ byrgyrbyrrgry: y | bbrrbryyyrrbr: r | ggryybrryr: ​​r | b: b |: | gyrbrygbrygbyrb:b | brbrbryyrygbrg: g | rrrrrrrrrr: r; 13; 3; 0;;

Howard
quelle
Eine kleine Neuordnung der Förderbänder reduzierte dies auf 81 Teile. Siehe hier . Das Ändern der Farben scheint es auch schneller zu machen (obwohl es wirklich egal ist) von 6:23 auf 5:38. In dieser Einfügung finden Sie die URL.
Volatilität
@Volatility Danke für die 3 Teile. Das scheint schneller zu sein, hängt total von den Testfällen ab, also spielt es wirklich keine Rolle ;-)
Howard
2

75 Teile

Screenshot des 75-teiligen Manufactoria-Programms zum Extrahieren der letzten Eingabefarbe

http://pleasingfungus.com/Manufactoria/?lvl=34&code=c11:9f1;q11:11f3;p11:12f7;g11:13f2;i12:9f1;i12:10f1;i12:11f1;i12:12f5;p13:9f7 ; i13: 11f1; i13: 12f5; i14: 11f0; q13: 10f3; c14: 9f0; c15: 11f0; c14: 12f1; i14: 10f4; c15: 9f3; c15: 10f3; c10: 12f1; i10: 11f0; i10 : 10f0; c10: 9f1; c9: 11f1; c9: 10f1; c9: 9f1; b13: 13f0; c11: 10f0; c9: 6f2; c9: 7f1; c9: 8f1; c10: 5f3; i10: 6f5; i10: 7f1 ; c10: 8f2; r11: 4f2; i11: 5f0; i11: 6f4; q11: 7f5; p11: 8f1; c12: 4f3; i12: 5f1; i12: 6f5; i12: 7f5; i12: 8f5; y13: 4f0; p13 : 5f1; q13: 6f5; c13: 7f2; c13: 8f3; c14: 5f3; i14: 6f5; i14: 7f5; c14: 8f3; c15: 6f3; c15: 7f3; c15: 8f3; p12: 2f7; q12: 3f3 ; c11: 3f0; i14: 3f5; c13: 3f2; c15: 3f3; c15: 4f3; c15: 5f3; c14: 4f3; c10: 4f3; c9: 5f3; c9: 4f3; c9: 3f3; c10: 2f3; c14 : 2f3; c13: 2f2; c11: 2f0; i10: 3f1; & ctm = Last_in_Line !; IN: _a_series_of_colors_OUT: _the_very_last_color; byrgyrbyrrgry: y | bbrrbryyyrrbr g | rrrrrrrrrr: r; 13; 3; 0;;

Ja, ich weiß, es sind sechs Teile mehr als Keith Randalls Lösung , aber was kann ich sagen? Ich mag die Symmetrie.

Ilmari Karonen
quelle