Alt-F4 #31 - Rychlý Kurz Kombinátorů 16-04-2021
přeložil oof2win2
Po rychlé týdenní pauze, Alt-F4 je zpět s 31. vydáním. V tomto, pocarski se vrací s ještě dalšími způsoby, jak postavit počítačovou logiku v Factoriu, představující kombinátory, které jsou lehčí, než by jste si mysleli. Poté, Big Community Games ohlásí další zajímavý event, tentokrát s Industriální Revolucí jako hlavním objektivem.
Kombinátory a proč by jste se jich neměli bát pocarski
Existuje mnoho technologií v stromě výzkumu, které nejsou nutné k dohrání hry, a proto jsou často odsouvány. Některé jsou kompletně srozumitelné, třeba jako vojenské výzkumy na mírném režimu. Některé nejsou vůbec počítány, i když dokážou přidat extrémně dobré vylepšení. Jedna z těchto technologií je obvodová síť, kterou budu zkoumat v tomto článku.
Existují čtyři hlavní komponenty v obvodové síti: kabely, konstantní kombinátory, rozhodovací kombinátory a aritmetické kombinátory.
Konstantní kombinátory mají ten výstup, na který je nastavíte (a také nepotřebují elektřinu); rozhodovací kombinátory mají výstup signálu, pokud nastavená logická podmínka je docílena; aritmetické kombinátory provádí matematické operace. Kabely se chovají jako “signálový oblak”, kde všechny signály, které jsou vypuštěny do drátu se z něj dají číst. Červené a zelené kabely mají identickou funkcionalitu, ale oba můžou být připojeni k stejnému zařízení, bez toho, aniž by se navzájem přerušovali.
Základní elementy
Podívejme se na tři velmi lehké moduly s pouze jedním kombinátorem, které se často používají. Tři moduly jsou: pulzátor, RS západka a počítač. Začneme s pulzátore, který vypadá takto:
Pulzátor je nejlehčí na pochopení. Vstup je hned dán na výstup červeného drátu, a poté je invertován zpět na červený drát po jednom tiku kombinátorového zpoždění. Obě hodnoty jsou na stejném drátu, což znamená, že výstup je shodný s vstupem, ale trvá pouze jeden herní tik. Zde, použití signálu “každý” ujišťuje, že obvod může příjmat jakýkoliv signál jako vstup. Pokud by jste toto chtěli udělat specifické na signály, můžete změnit “každý” v vstupu a výstupu na žádoucí signál. Tento obvod má doslova ohromné množství užití, ještě v kombinaci s sčítačem.
Poté tu máme RS západku. Její vstupy jsou buďto 1 “S” signál nebo 1 “R” signál, což stojí pro Set a Reset (nastavit a resetovat). Je to vráceno samo sobě, takže 1 “S” který má na výstup je přičteno na vstup, a spňuje pravdivost podmínky i když originální “S” výstup je vypnut. Podobně, pokud přijme “R” vstup, podmínka není pravdivá, což vypne “S” výstup a ukončí cyklus. Tento obvod je užitečný v systémech, kde chcete histerezi, kde jeden stav spustí “S” vstup, a druhý stav spustí “R” vstup.
Nakonec, sčítač. Strukturálně je identický k RS západce, ale tentokrát je výstup nastaven na “vstupní počet všeho”. Toto znamená , že dokud je podmínka rozhodujícího kombinátoru dodržována, bude vracet svůj vlastní vstup sám sobě, takže si ho bude pamatovat. Pro každý tik, kdy je mu dán signál, bude přičítat hodnotu signálu v jeho paměti s vstupovým počtem. Jakmile je podmínka nepravdivá, paměť kombinátoru je smazána, protože rozhodovač nenechá aby signál prošel. Podobně k pulzátoru, pokud chcete aby si pamatoval pouze jeden signál, změňte “všě” v výstupu na žádoucí signál. Tento obvod, stejně jako pulzátor, má imensní množsví užití, ale nejčastější je sledování počtů itemů.
Základní implementace
Teď, podívejme se na případy kde každý z těchto modulů může být užitečny.
Řekněme, že máte plán nukeárního reaktoru, kde extrakce použitého palivového článku spustí vložení nového. Tento design by potřeboval, aby jste odstartovali reaktor manuálně, protože reaktory jsou stavěny prázdné. Co ideálně chcete je přidat obvod, aby když reaktor byl postaven, vložení palivových článků se spustí jednou. Toto je kde monostabilní obvody přijdou do akce. Když máte kombinátor v každé truhle , který se dívá na kolik itemů v truhle je, a poté kabel pošle všechny tyto vstupy do jednoho kombinátoru, který kontroluje, jestli všechny truhly jsou připraveny. Tento rozhodovací kombinátor podé má výstup “použitého palivového článku” do monostabilního obvodu, který je připojen na každého plnícího podavače v reaktoru. Toto spustí všechny plnící podavače v momentě, když je dostatek paliva v každé truhle, což automaticky nastartuje reaktor. Rozšířením, toto také nastartuje reaktor automaticky pokud někdy dojde palivo.
Dále, klasický příklad: záložní energie. Představte si, že máte pole akumulátorů a chcete aktivovat vaše boilery, pokud množství energie bude moc nízké. Mohli by jste připojit spojku k akumulátoru a říct mu, aby se aktivoval pokud množství uložené energie je pod, řekněmě, 20%, ale to by spouštělo pouze rapidní zapínání a vypínání, což nechá akumulátory na 20% celou dobu. Místo toho by jste měli použít RS západku. Mějte kombinátor mít výstup “S” pokud množství energie je pod 20%, a jiný s výstupem “R” pokud množství energie je nad 70%. Připojte je oba k západce a připojte výstup západky k spojce, která se aktivuje pokud S > 0. Tato spojka se bude aktivovat pokud procento nabití bude pod 20%, a nechá záložní energii běžet dokud procento nabití nebude nad 70%.
Nakonec, proces, který se mnohými obáván: obohoacování uranu. Musíme se podívat na 3 podavače: vstup, výstup a recyklace. Poslední není jeden podavač, ale zajímá nás pouze první část podavačového řetězce. Vstupový podavač nepotřebuje žádnou logiku, stačí že bude brát 3 itemy U-238 když bude potřeba. Výstupový podavač musí být vypnut pokud recyklace je v procesu, aby nevybral katalyzující itemy. Recyklovací podavač musí vzít přesně 40 U-235 a 2 U-238. Recyklovací podavač dostává konstantní signál U-238, což ho přidá na blacklist. Začne vybírat U-235, a inkrementuje počítač o sebraný počet pokaždé co něco vybere. Podavač také dostává konstantní počet -39 U-235, což nemá efekt na filtr. Nakonec, podavač bude číst 40 U-235 z zeleného kabelu a -39 U-235 z červeného kabelu. Teď vidí pozitivní počet U-235, a protože U-235 je dříve v seznamu signálů, má prioritu přes U-238 signál. Podavač teď má blacklist na U-235, takže začne vybírat 2 itemy U-238. Toto udělá dvě věci: smaže sčítač a spustí outputový podavač, který teď nemá na vybranou, než vyndat zbylé U-238. 2 recyklované kusy U-238 budou přidány do vstupu na začátku dalšího cyklu. Recyklace U-238 nepotřebuje další logiku, protože vstupový podavač je limitován k počtu tří itemů, což nechá další 2 místa na recyklované uránium.
Zakončení
Každý z daných příkladů může být vylepšen a udělán více specifičtějším pro jednotlivého uživatele. Někdy to může být děláno s základní matematikou a logikou, jindy potřebujete přidat pár základních modulů. Napřiklad, můžete přidat druhý sčítač k obohacujícímu obvodu k prevenci toho, aby se odstředivka přeplnila a zastavila, pokud je nějaké U-235 v vstupovém streamu.
Každý milník v obvodech byl docílen po částech, rozdělováním celku na části, a poté rozdělování částí na ještě menší části. Nakonec, tak byly vyvynuty moderní počítače - výrobou logického hradla z tranzistorů, poté výrobou paměťové západky a sčítače z logických hradel, poté RAM a ALJ z paměťových západek a sčítačů, poté výrobou počítače z těch částí. Pokud si dokážete vzpomenout “hej, toto jsem již dělal”, tak jste schopni dělat cokoliv s obvody.
Plnou parou vpřed! T-A-R
Big Community Games vám rádi představují další Factorio MMO event. Velmi rudou proslulá část planety Nauvis byla objevena, což nám dává příležitost odstartovat raketu tuto sobotu! Téma párty bude Steampunk. Mód uživatele Deadlock989 Industriální Revoluce 2 bude přinášet všechnu páru a doutnající palivo které milujeme, a možná i trochu více.
V porovnání s vanillou, náš kufřík s nástroji bude vylepšen o mnohé technologie. Nové materiály a procesy budou přidávat komplexitu do stavby rakety v příjemném způsobu. Stránka eventu má plný seznam módů a další detaily. Server bude živý v normální multiplayerové lobby v sobotu 18:00 UTC/GMT.
Odpočet skončil
Podívejte se na náš Discord na chatové i hlasové kanály. Inženýři se již schrobažďují a vytváří plány. BCG by také rádo přijalo lidi, kteří by se chtěli připojit do organizace podobných eventů v budoucnosti.
Naolejujte si vaše exoskeletony a užijte si event!
Přispívání
Jako vždy, hledáme lidi, kteří chtějí přispívat k Alt-F4, buď to je přidáváním zajímavěho článku nebo překladem. Pokud máte něco zajímavého na mysli co by jste chtěli sdílet s komunitou v hezkém způsobu, toto je ideální místo kde o tom diskutovat. Pokud si nejste moc jisti o tom, rádi pomůžeme s diskuzí nápadů o obsahu a strukturování otázek. Pokud to zní jako něco zajímavého, připojte se na Discordu aby jste začali!