Launch rocket with countdown and acceleration in stdout: Difference between revisions

m
→‎{{header|Phix}}: added syntax colouring the hard way
(Add 8080 assembly)
m (→‎{{header|Phix}}: added syntax colouring the hard way)
Line 331:
 
=={{header|Phix}}==
<!--<lang Phix>sequence rocket = split("""-->
<span style="color: #004080;">sequence</span> <span style="color: #000000;">rocket</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">split</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"""
/\
/ /\
| / | \
| |
/ |/\ |\
/_|||/\|_\
/_||||_\
""","\n")
"""</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\n"</span><span style="color: #0000FF;">)</span>
 
integer lines = 0, l = 0, t = 5
<span style="color: #004080;">integer</span> <span style="color: #000000;">lines</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">l</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">t</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">10</span>
atom s = 1
<span style="color: #004080;">atom</span> <span style="color: #000000;">s</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0.25</span>
 
while length(rocket) do
<span style="color: #008080;">while</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">rocket</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span>
if t>0 then
<span style="color: #008080;">if</span> <span style="color: #000000;">t</span><span style="color: #0000FF;">></span><span style="color: #000000;">0</span> <span style="color: #008080;">then</span>
rocket[$] = sprintf("T minus %d...",t)
<span style="color: #000000;">rocket</span><span style="color: #0000FF;">[$]</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"T minus %d... "</span><span style="color: #0000FF;">,</span><span style="color: #000000;">t</span><span style="color: #0000FF;">)</span>
<span style="color: #000080;font-style:italic;">-- allow console resize during countdown:</span>
lines = video_config()[VC_SCRNLINES]
<span style="color: #000000;">lines</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">video_config</span><span style="color: #0000FF;">()[</span><span style="color: #004600;">VC_SCRNLINES</span><span style="color: #0000FF;">]</span>
if l!=lines-7 then l = 0 end if
<span style="color: #008080;">if</span> <span style="color: #000000;">l</span><span style="color: #0000FF;">!=</span><span style="color: #000000;">lines</span><span style="color: #0000FF;">-</span><span style="color: #000000;">7</span> <span style="color: #008080;">then</span> <span style="color: #000000;">l</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0</span> <span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
else
<span style="color: #008080;">else</span>
if l=1 then
<span style="color: #008080;">if</span> <span style="color: #000000;">l</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">then</span>
rocket = rocket[2..$]
<span style="color: #000000;">rocket</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">rocket</span><span style="color: #0000FF;">[</span><span style="color: #000000;">2</span><span style="color: #0000FF;">..$]</span>
else
<span l -style="color: (length(rocket)#008080;">else</span>6)
<span style="color: #000000;">l</span> <span style="color: #0000FF;">-=</span> <span style="color: #0000FF;">(</span><span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">rocket</span><span style="color: #0000FF;">)></span><span style="color: #000000;">6</span><span style="color: #0000FF;">)</span>
if length(rocket)<12 then
<span style="color: #008080;">if</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">rocket</span><span style="color: #0000FF;">)<</span><span style="color: #000000;">12</span> <span style="color: #008080;">then</span>
rocket = append(rocket," ** ")
<span style="color: #000000;">rocket</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">append</span><span style="color: #0000FF;">(</span><span style="color: #000000;">rocket</span><span style="color: #0000FF;">,</span><span style="color: #008000;">" ** "</span><span style="color: #0000FF;">)</span>
elsif length(rocket)=12 then
<span style="color: #008080;">elsif</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">rocket</span><span style="color: #0000FF;">)=</span><span style="color: #000000;">12</span> <span style="color: #008080;">then</span>
rocket = append(rocket," ")
<span style="color: #000000;">rocket</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">append</span><span style="color: #0000FF;">(</span><span style="color: #000000;">rocket</span><span style="color: #0000FF;">,</span><span style="color: #008000;">" "</span><span style="color: #0000FF;">)</span>
end if
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
end if
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
s = s*0.95
<span style="color: #000000;">s</span> <span style="color: #0000FF;">*=</span> <span style="color: #000000;">0.95</span>
end if
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
if l=0 then
<span style="color: #008080;">if</span> <span style="color: #000000;">l</span><span style="color: #0000FF;">=</span><span style="color: #000000;">0</span> <span style="color: #008080;">then</span>
clear_screen()
<span style="color: #7060A8;">clear_screen</span><span style="color: #0000FF;">()</span>
cursor(NO_CURSOR)
<span style="color: #7060A8;">cursor</span><span style="color: #0000FF;">(</span><span style="color: #004600;">NO_CURSOR</span><span style="color: #0000FF;">)</span>
l = lines-7
<span style="color: #000000;">l</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">lines</span><span style="color: #0000FF;">-</span><span style="color: #000000;">7</span>
end if
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
position(l,1)
<span style="color: #7060A8;">position</span><span style="color: #0000FF;">(</span><span style="color: #000000;">l</span><span style="color: #0000FF;">,</span><span style="color: #000000;">1</span><span style="color: #0000FF;">)</span>
puts(1,join(rocket,"\n"))
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">join</span><span style="color: #0000FF;">(</span><span style="color: #000000;">rocket</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\n"</span><span style="color: #0000FF;">))</span>
sleep(s)
<span style="color: #7060A8;">sleep</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s</span><span style="color: #0000FF;">)</span>
t -= 1
<span style="color: #000000;">t</span> <span style="color: #0000FF;">-=</span> <span style="color: #000000;">1</span>
if t=0 then rocket = rocket[1..$-1] end if
<span style="color: #008080;">if</span> <span style="color: #000000;">t</span><span style="color: #0000FF;">=</span><span style="color: #000000;">0</span> <span style="color: #008080;">then</span> <span style="color: #000000;">rocket</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">rocket</span><span style="color: #0000FF;">[</span><span style="color: #000000;">1</span><span style="color: #0000FF;">..$-</span><span style="color: #000000;">1</span><span style="color: #0000FF;">]</span> <span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
end while
<span style="color: #008080;">end</span> <span style="color: #008080;">while</span>
cursor(BLOCK_CURSOR)</lang>
<span style="color: #7060A8;">cursor</span><span style="color: #0000FF;">(</span><span style="color: #004600;">BLOCK_CURSOR</span><span style="color: #0000FF;">)</span>
<!--</lang>-->
 
=={{header|Racket}}==
7,820

edits