OLG Seifhennersdorf/fächerverbindender Unterricht-Pi/Christopher

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Pascal</language>
<code id="4d2a0bf79cc25">
var Pie:String;
    key:integer;
    dauer:integer;
    c:Char; k:Char;
    i,posx,z:Integer;
</code>
<canvas w=800 h=100></canvas>
<run id="4aa4b46b6775d">
canvas_clear();
Pie :=  '3.141592653589793238462643383279502884197169399375105820974944592307816406286208998' ;

selectSound(19); // 19. MIDI organ
posx:=0;
z:=2*((length(Pie)-2) div 2);
for i := 3 to z+1 do begin
if i mod 2 = 1 then begin
  c := Pie[i];
  k := Pie[i+1];

if c='0' then key:=60;
if c='1' then key:=50;
if c='2' then key:=40;
if c='3' then key:=44;
if c='4' then key:=76;
if c='5' then key:=73;
if c='6' then key:=21;
if c='7' then key:=99;
if c='8' then key:=33;
if c='9' then key:=84;

if (k='0')or(k='1')or(k='2') then dauer:=100 div 1; 
if (k='3')or(k='4')or(k='5') then dauer:=50 div 2; 
if (k='6')or(k='7')or(k='8') then dauer:=100 div 3;
if (k='9') then dauer:=100 div 4; 

  
  
canvas_fillRect(posx,80-(key-60)*4,dauer,10);           
  posx := posx + dauer+5;
  sound_play(key,dauer*10);
end; 
end;
</run>