Difference between revisions of "Template:Reflector"
Apple Bottom (talk | contribs) (add cats as well) |
(pass apgcode to PatternDownload (mainly for Snark)) |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
< | <!-- | ||
Begin infobox | |||
-->{{InfoboxStart | |||
|typename = Reflector | |||
|defaultconfig = reflector | |||
<tr> | |viewerconfig = {{{viewerconfig|}}} | ||
|name = {{{name|}}} | |||
|zip = {{{zip|}}} | |||
|mc = {{{mc|}}} | |||
|life105 = {{{life105|}}} | |||
|life106 = {{{life106|}}} | |||
|plaintext = {{{plaintext|}}} | |||
|rle = {{{rle|}}} | |||
|nofile = {{{nofile|}}} | |||
|pname = {{{pname|}}} | |||
|animated = {{{animated|}}} | |||
}}<!-- | |||
Display pattern type | |||
--><tr> | |||
<th valign="top"> Pattern type </th> | <th valign="top"> Pattern type </th> | ||
<td> {{#ifeq:{{lc:{{{type}}}}}|stable|[[Stable reflector]]|[[Reflector]]{{#ifeq:{{lc:{{{isosc|}}}}}|false||<br />[[Oscillator]]}}}} </td></tr> | <td> {{#ifeq: {{lc:{{{type}}}}} | stable | [[Stable reflector]] | [[Reflector]] {{#ifeq: {{lc:{{{isosc|}}}}} | false | | <br />[[Oscillator]] }} }} </td></tr><!-- | ||
Display population and bounding box | |||
-->{{PatternPopulationAndBoundingBox | |||
|c = {{{c|}}} | |||
|bx = {{{bx|}}} | |||
|by = {{{by|}}} | |||
|fc = {{{fc|}}} | |||
}}<!-- | |||
Display an infobox divider | |||
-->{{InfoboxDivider}} | |||
<tr> | <tr> | ||
<th> Angle </th> | <th> Angle </th> | ||
<td> {{#if: {{{a|}}} | [[:Category:{{{a}}} | <td> {{#if: {{{a|}}} | [[:Category:{{{a}}} degree reflectors|{{{a}}}°]] | Unknown}} </td></tr> | ||
<tr> | <tr> | ||
<th> {{#ifeq:{{lc:{{{type|}}}}}|stable|[[ | <th> {{#ifeq:{{lc:{{{type|}}}}}|stable|[[Stable reflector#Repeat time|Repeat time]]|[[Period]]}} </th> | ||
<td> {{#if:{{{p|}}}|{{#ifeq:{{lc:{{{type|}}}}}|stable|{{{p}}}|{{#ifeq:{{lc:{{{isosc|}}}}}|false|{{{p}}}|[[:Category: | <td> {{#if:{{{p|}}}|{{#ifeq:{{lc:{{{type|}}}}}|stable|{{{p}}}|{{#ifeq:{{lc:{{{isosc|}}}}}|false|{{{p}}}|[[:Category:Oscillators with period {{{p}}}|{{{p}}}]]}}}}|Unknown}} </td></tr> | ||
{{#ifeq: {{lc:{{{type|}}}}} | stable | | <tr> | {{#ifeq: {{lc:{{{type|}}}}} | stable | | <tr> | ||
<th> [[Heat]] </th> | <th> [[Heat]] </th> | ||
<td> {{#if: {{{h|}}} | {{#iferror: {{#expr: floor({{{h}}})}} | {{{h}}} | [[:Category: | <td> {{#if: {{{h|}}} | {{#iferror: {{#expr: floor({{{h}}})}} | {{{h}}} | [[:Category:Oscillators with heat {{#expr: floor({{{h}}})}}|{{{h}}}]] }} | Unknown }} </td></tr> }} | ||
{{#if: {{{px|}}} | <tr> | {{#if: {{{px|}}} | <tr> | ||
<th> Period multiplier </th> | <th> Period multiplier </th> | ||
<td> {{{px|}}} | <td> {{#if: {{{px|}}} | {{#switch: {{{px|}}} | ||
| 2 = [[:Category:Period-doubling reflectors|2×]] | |||
| 3 = [[:Category:Period-tripling reflectors|3×]] | |||
| 4 = [[:Category:Period-quadrupling reflectors|4×]] | |||
| 5 = [[:Category:Period-quintupling reflectors|5×]] | |||
| {{{px|}}}× | |||
}} }} | |||
</tr>}}{{#if: {{{colour|{{{color|}}}}}} | <tr> | </tr>}}{{#if: {{{colour|{{{color|}}}}}} | <tr> | ||
<th> Colour </th> | <th> Colour </th> | ||
<td> {{#switch: {{lc:{{{colour|{{{color}}}}}}}} | <td> {{#switch: {{lc:{{{colour|{{{color}}}}}}}} | ||
| preserving | | preserving | ||
| preserves | | preserves | ||
| preserve | | preserve | ||
| cp = Colour-preserving | | cp = [[:Category:Colour-preserving reflectors|Colour-preserving]] | ||
| changing | | changing | ||
| changes | | changes | ||
| change | | change | ||
| cc = Colour-changing | | cc = [[:Category:Colour-preserving reflectors|Colour-changing]] | ||
}} </td> | }} </td> | ||
</tr>}} | </tr>}}<!-- | ||
Display an infobox divider | |||
-->{{InfoboxDivider}}<!-- | |||
Display discoverers and year of discovery | |||
-->{{PatternDiscovery | |||
|discoverer = {{{discoverer|}}} | |||
|discoverer2 = {{{discoverer2|}}} | |||
|discoverer3 = {{{discoverer3|}}} | |||
|discoverer4 = {{{discoverer4|}}} | |||
|discoverer5 = {{{discoverer5|}}} | |||
|discoveryear = {{{discoveryear|}}} | |||
}}<!-- | |||
Display "Rules", "Glider synthesis", "Pattern files" sections | |||
-->{{PatternDownload | |||
|synthesis = {{{synthesis|}}} | |||
|synthesisRLE = {{{synthesisRLE|}}} | |||
|apgcode = {{{apgcode|}}} | |||
|life105 = {{{life105|}}} | |||
|life106 = {{{life106|}}} | |||
|plaintext = {{{plaintext|}}} | |||
|zip = {{{zip|}}} | |||
|mc = {{{mc|}}} | |||
|rle = {{{rle|}}} | |||
|pname = {{{pname|}}} | |||
|rulespecial = {{{rulespecial|}}} | |||
|rulemax = {{{rulemax|}}} | |||
|rulemin = {{{rulemin|}}} | |||
|isorulemax = {{{isorulemax|}}} | |||
|isorulemin = {{{isorulemin|}}} | |||
}}<!-- | |||
Display "Identifiers" section | |||
-->{{PatternIdentifiers | |||
|apgcode = {{{apgcode|}}} | |||
|niemiecid = {{{niemiecid|}}} | |||
|pentadecathlonid = {{{pentadecathlonid|}}} | |||
}}<!-- | |||
End infobox | |||
--></table><!-- | |||
Transcluded documentation | |||
--><noinclude>{{Reflector/Doc}} | |||
{{PatternTemplates}} | |||
</noinclude><!-- | |||
Categories | |||
{{ | --><includeonly> | ||
{{#ifeq:{{NAMESPACE}}|User|| | |||
[[Category:Patterns]] | [[Category:Patterns]] | ||
[[Category:Reflectors]] | [[Category:Reflectors]] | ||
{{#ifeq: {{lc:{{{type|}}}}} | stable | [[Category:Stable reflectors]] |{{#ifeq:{{lc:{{{isosc|}}}}}|false||[[Category:Oscillators]] {{#if: {{{h|}}} | {{#iferror: {{#expr: floor({{{h}}})}} | | [[Category:Oscillators with heat {{#expr: floor({{{h}}})}}]] }} }} }} {{#if: {{{p|}}} | {{#ifeq:{{lc:{{{isosc|}}}}}|false||[[Category:Oscillators with period {{{p}}}]]}} | {{#ifeq: {{lc:{{{type|}}}}} | stable | [[Category:Stable reflectors]] |{{#ifeq:{{lc:{{{isosc|}}}}}|false||[[Category:Oscillators]] {{#if: {{{h|}}} | {{#iferror: {{#expr: floor({{{h}}})}} | | [[Category:Oscillators with heat {{#expr: floor({{{h}}})}}]] }} }} }} {{#if: {{{p|}}} | {{#ifeq:{{lc:{{{isosc|}}}}}|false||[[Category:Oscillators with period {{{p}}}]]}} }} }}{{#if: {{{a|}}} | [[Category:{{{a}}} degree reflectors]]}}{{#if: {{{px|}}} | {{#switch: {{{px|}}} | 2 = [[Category:Period-doubling reflectors]] | 3 = [[Category:Period-tripling reflectors]] | 4 = [[Category:Period-quadrupling reflectors]] | 5 = [[Category:Period-quintupling reflectors]] }} }}{{#if: {{{colour|}}} | {{#switch: {{lc:{{{colour|{{{color}}}}}}}} | preserving | preserves | preserve | cp = [[Category:Colour-preserving reflectors]] | changing | changes | change | cc = [[Category:Colour-changing reflectors]] }} }} | ||
</includeonly> | }}</includeonly> |
Revision as of 19:53, 5 December 2019
Reflector Name | ||
View static image | ||
Pattern type | Reflector Oscillator | |
---|---|---|
Angle | Unknown | |
Period | Unknown | |
Heat | Unknown | |
Discovered by | Unknown | |
Year of discovery | Unknown |
This is an infobox template for reflectors. An example can be seen to the right. For general information about how to use pattern templates, see LifeWiki:Style guide/Pattern layout. To see a live example of this template in action, see buckaroo.
Note: This template was only designed for glider reflectors. If other types of reflectors are to be included then the template will need to be updated to provide this information.
Special Parameters
- type: only supports "stable"; if it is an oscillating reflector leave this parameter undefined.
- p: is simply the period of an oscillating reflector; however, for stable reflectors this is the repeat time.
- a: is the angle of the output glider in relation to the input glider (should be one of two values: 90 or 180).
- px: is the period multiplier of the reflector, e.g. "4" for the Quadri-Snark.
- colour: indicates whether the reflector preserves or changes a glider's colour.
- isosc: tells whether the reflector can function as an oscillator / still life on its own (dependent reflectors require a constant stream of gliders). If the pattern can not function as an oscillator on its own this parameter should be "false", otherwise leave it undefined.
Images
The pattern in this infobox should include the glider that is to be reflected -- optionally, two input gliders separated by the mechanism's minimum recovery time, and an output glider if that allows a smoother LifeViewer animation. However, the bounding box and population count should be calculated with these gliders removed.
If animations are needed, a LifeViewer thumbnail is often a good solution, since it allows the pattern information to be copied directly from LifeViewer if needed. A LifeViewer thumbnail example is shown below. Please do not place animated GIF images directly onto the page; instead, consider using a static image of the reflector with a caption that links to the animation. An example static image is shown below. LifeViewer can also produce static images, simply by leaving out the AUTOSTART keyword from the associated viewerconfig string.
Example image gallery
|
Pattern templates
- Template:Agar
- Template:Conduit
- Template:Crawler
- Template:Fuse
- Template:GrowingSpaceship
- Template:Gun
- Template:Methuselah
- Template:MovingBreeder
- Template:Oscillator
- Template:OscillatorComponent
- Template:Pattern
- Template:Puffer
- Template:Reflector
- Template:Rotor
- Template:Sawtooth
- Template:Spaceship
- Template:StillLifeComponent
- Template:Stilllife
- Template:UnitCell
- Template:Wave
- Template:Wick
- Template:Wickstretcher