Difference between revisions of "User:Frantik/99bottles"

From The 3geez Wiki
Jump to: navigation, search
Line 3: Line 3:
 
<nowinter>
 
<nowinter>
 
<pre>
 
<pre>
{{#function|formatNum||
+
{{#function | formatNum
{{#if|{{#1}}|{{#1}}|no more}} bottle{{#if|{{#1 == 1}}| | s}}
+
||   {{#if | {{#1}} || {{#1}} || no more }} bottle{{#if | {{#1 == 1}} || || s}}
 
}}
 
}}
  
{{#for|{{#i @= 99}}||{{#i >= 0}}||{{#i --}}||
+
{{#for | {{#i @= 99}} || {{#i >= 0}} || {{#i --}} ||
{{#bottles | @= | {{#formatNum|{{#i}}}} }}
+
{{#bottles | @= | {{#formatNum | {{#i}} }} }}
 
{{#ucfirst | {{#bottles}} }} of beer on the wall, {{#bottles}} of beer.<br />
 
{{#ucfirst | {{#bottles}} }} of beer on the wall, {{#bottles}} of beer.<br />
{{#if | {{#i}} |  
+
{{#if | {{#i}}  
Take one down and pass it around, {{#formatNum| {{#i - 1}} }} |  
+
|Take one down and pass it around, {{#formatNum| {{#i - 1}} }}  
Go to the store and buy some more, 99 bottles
+
|Go to the store and buy some more, 99 bottles
}} of beer on the wall
+
}} of beer on the wall.
  
 
}}
 
}}
Line 36: Line 36:
  
 
=== Output ===
 
=== Output ===
{{#function|formatNum||
+
{{#function | formatNum
{{#if|{{#1}}|{{#1}}|no more}} bottle{{#if|{{#1 == 1}}| | s}}
+
||   {{#if | {{#1}} || {{#1}} || no more }} bottle{{#if | {{#1 == 1}} || || s}}
 
}}
 
}}
  
{{#for|{{#i @= 99}}||{{#i >= 0}}||{{#i --}}||
+
{{#for | {{#i @= 99}} || {{#i >= 0}} || {{#i --}} ||
{{#bottles | @= | {{#formatNum|{{#i}}}} }}
+
{{#bottles | @= | {{#formatNum | {{#i}} }} }}
 
{{#ucfirst | {{#bottles}} }} of beer on the wall, {{#bottles}} of beer.<br />
 
{{#ucfirst | {{#bottles}} }} of beer on the wall, {{#bottles}} of beer.<br />
{{#if | {{#i}} |  
+
{{#if | {{#i}}  
Take one down and pass it around, {{#formatNum|{{#i - 1}}}} |  
+
|Take one down and pass it around, {{#formatNum| {{#i - 1}} }}  
Go to the store and buy some more, 99 bottles
+
|Go to the store and buy some more, 99 bottles
}} of beer on the wall
+
}} of beer on the wall.
  
 
}}
 
}}

Revision as of 19:53, 13 August 2007

For http://99-bottles-of-beer.net/

Winter Code

<nowinter>

{{#function | formatNum
||   {{#if | {{#1}} || {{#1}} || no more }} bottle{{#if | {{#1 == 1}} || || s}}
}}

{{#for | {{#i @= 99}} || {{#i >= 0}} || {{#i --}} ||  
{{#bottles | @= | {{#formatNum | {{#i}} }} }}
{{#ucfirst | {{#bottles}} }} of beer on the wall, {{#bottles}} of beer.<br />
{{#if | {{#i}} 
||   Take one down and pass it around, {{#formatNum| {{#i - 1}} }} 
||   Go to the store and buy some more, 99 bottles
}} of beer on the wall.

}}

</nowinter>

Equivalent PHP Code

function formatNum($num)
{        
      return (($num) ? $num : 'no more') . ' bottle' . (($num == 1) ? '' : 's');
} 

for ($i = 99; $i >= 0; $i--)
{
   $bottles = formatNum($i);
   echo ucfirst($bottles) . " of beer on the wall, $bottles of beer.\n" .
            ($i ?
              "Take one down and pass it around, " .  formatNum($i - 1) :                                 
              "Go to the store and buy some more, 99 bottles"
             ) . " of beer on the wall.\n\n";
}   

Output

{{#function | formatNum || {{#if | {{#1}} || {{#1}} || no more }} bottle{{#if | {{#1 == 1}} || || s}} }}

{{#for | {{#i @= 99}} || {{#i >= 0}} || {{#i --}} || {{#bottles | @= | {{#formatNum | {{#i}} }} }} {{#ucfirst | {{#bottles}} }} of beer on the wall, {{#bottles}} of beer.
{{#if | {{#i}} || Take one down and pass it around, {{#formatNum| {{#i - 1}} }} || Go to the store and buy some more, 99 bottles }} of beer on the wall.

}}