home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Inside Multimedia 1995 August
/
IMM0895.BIN
/
magazin
/
optix
/
disk1
/
optxppac.set
/
FEINSTEN.OPT
< prev
next >
Wrap
Text File
|
1995-05-05
|
7KB
|
307 lines
defs(dk0,'Multimedia vom Feinsten...')
defs(dk1,'Dürfen es vielleicht ein')
defs(dk2,'paar Kilobyte mehr sein ???')
defs(dum$)
def(i)
def(j)
def(k)
procedure pbox(xl,yo,xr,yu,col,mod,verz)
rem *** CBOX incl. Koord.-angabe
rem *** ----------------------------
rem *** 'col' = Farbe der Fläche
rem *** 'mod' = workmode (s.cbox)
rem *** 'verz' = Verzögerung ( -"- )
viewport(xl,yo,xr,yu)
cbox(mod,col,verz)
return
procedure sbox(xl,yo,xr,yu,thick,col1,col2)
rem *** PLATEAU incl. Koord.-angabe
rem *** ----------------------------
rem *** 'col1' = Farbe f. links/oben
rem *** 'col2' = Farbe f. rechts/unten
rem *** 'thick'= Rahmendicke
viewport(xl,yo,xr,yu)
do
incviewport
plateau(col1,col2)
loop(thick)
return
procedure rubberline(x1,y1,x2,y2,col,t1,t2)
rem *** erzeugt Gummiband-'Flutsch'-Effekt
rem *** ----------------------------
rem *** x1,y1 = 'von' -Koord.
rem *** x2,y2 = 'nach'-Koord.
rem *** 'col' = Farbe der Linie
rem *** 't1' = Verzögerung der line
rem *** 't2' = Verzögerung der RESTORELINE
setcolor(col)
line(x1,y1,x2,y2,t1)
restoreline(x1,y1,x2,y2,t2)
return
procedure fbox(xl,yo,xr,yu,cnt,col,mod,verz)
rem *** Vert.Verlauf hell=oben/dunkel=unten
rem *** -----------------------------------
rem *** 'xl,yo,xr,yu'= innere Eckkoordinaten
rem *** 'cnt' = Anzahl der Stufen
rem *** 'col' = Index der Startfarbe
rem *** 'mod' = CBOX-Modus
rem *** 'verz' = Verzögerungsfaktor
rem *** '
locals(pi)
inc(col,cnt)
pi:=((yu-yo)/cnt)-1
do
yu:=yo
inc(yu,pi)
viewport(xl,yo,xr,yu)
inc(yo,pi)
cbox(mod,col,verz)
dec(col,1)
loop(cnt)
return
procedure frame(xl,yo,xr,yu,col,dick)
rem *** Erzeugt einen Rahmen m. den inneren Eckkoordinaten xl,yo,xr,yu
rem *** und der Dicke 'dick'. Dabei wird bis zur halben Dicke
rem *** des Rahmens jeder Linie fortlaufend ab der Farbe 'col' die
rem *** jeweils folgende Farbe zugeordnet. Ab der halben Rahmendicke
rem *** läuft die Farbzuordnung umgekehrt. Bei geeigneter Farbpalette
rem *** kann so ein 'Rohrrahmen' erzeugt werden.
rem ***
rem *** z.B.: GRADATION(240,249,12,24,15,24,48,30)
rem *** FRAME(100,100,200,200,240,20)
rem ***
rem *** nach Rückkehr ist SETCOLOR und VIEWPORT verändert.
locals(i,j)
viewport(xl,yo,xr,yu)
for i:=1 to dick/2 do
setcolor(col+i-1)
rectangle
incviewport
next(i)
if (dick/2)*2<>dick
incviewport
endif
for j:=1 to dick/2 do
setcolor(col+i-j)
rectangle
incviewport
next(j)
return
procedure cmd(xl,yo,dm,rot,blau,grau)
rem ****************************************************
rem zeichnet ein CMD-Logo
rem xl,yo = obere, linke Ecke
rem dm = Durchmesser (Höhe) des Logos
rem rot, blau, grau = die drei Systemfarben aus der aktuellen Palette
rem der 'WIN'-Puffer ist anschließend verändert
rem ****************************************************
locals(rad,lin,i,j,k,l)
rad := dm/2
lin := dm/30
copywin(xl+rad-lin-1,yo,xl+dm+(rad/2)+lin,yo+dm+1)
disk(xl+rad,yo+rad,rad,rot)
disk(xl+dm+(rad/2),yo+rad,rad,rot)
loadwin(xl+rad-lin-1,yo,0,0)
j := ((dm-(rad/2))/2+lin)*880/1000
k := dm+(rad/2)-2
setcolor(blau)
for i:= 0 to j-1 do
inc(l,4)
line(xl+rad+i+1,yo+(l/5),xl+rad+i+1,yo+dm-1,0)
line(xl+k-i+1,yo+(l/5),xl+k-i+1,yo+dm-1,0)
next(i)
disk(xl+rad-lin,yo+rad,dm*2/9,grau)
disk(xl+dm+(rad/2)+lin,yo+rad,dm*2/9,grau)
return
begin
readpic('clementi.bmp')
readfont(1,'tri22n.fnt')
font(1)
fadeout(0)
loadwin(218, 68,8,40)
i:=winx
j:=winx
cmd(256,114,16,255,255,255)
cmd(258,116,16,0,0,0)
cmd(257,115,16,252,253,254)
copywin(218,68,218+i-1,68+j-8)
clearscreen(2)
setallpal
setrgbcolor(56, 0, 0,252)
setrgbcolor( 0, 0,56,253)
setrgbcolor(32,32,32,254)
key(on)
keycol(232)
scrtobuf
readsound('capumusi.snd')
startsound
for i:=0 to 12 do
for j:=0 to 16 do
sbox(2+j*40,5+i*40,2+j*40+30,5+i*40+30,1,228,52)
next(j)
next(i)
loadwin(218, 68,8,40)
loadwin(160,138,8,40)
loadwin(241,136,8,40)
loadwin(109,208,8,40)
loadwin(209,212,8,40)
loadwin(302,206,8,40)
k:=60
for i:=0 to 3 do
setcolor(0)
for j:=0 to 14 do
line(k,0,0,k,0)
inc(k,1)
next(j)
setcolor(81)
for j:=0 to 14 do
line(k,0,0,k,0)
inc(k,1)
next(j)
setcolor(191)
for j:=0 to 14 do
line(k,0,0,k,0)
inc(k,1)
next(j)
inc(k,18)
next(i)
gradation(240,248,10,15,3,33,55,15)
fbox(90,360,570,480,7,241,0,0)
textcofs(-2)
textcolor(0)
printat(102,362,dk0)
textcolor(228)
for i:=-1 to 1 do
printat(101+i,395+i,dk1)
printat(101+i,423+i,dk2)
next(i)
textcolor(64)
printat(100,360,dk0)
textcolor(2)
printat(101,395,dk1)
printat(101,423,dk2)
sbox(90,360,570,460,3,183,61)
frame(90,360,570,460,242,12)
font(0)
sysfont(3,1)
for i:=0 to 3 do
pbox(528,51+i*40,546,69+i*40,177,15,10)
frame(528,51+i*40,546,69+i*40,243,10)
next(i)
for i:=0 to 1 do
setcolor(i*232+1)
printat(367-i*2, 55-i*2,'Angebot der Woche:')
printat(367-i*2, 95-i*2,'Neu auf dem Markt:')
printat(367-i*2,135-i*2,'Interessantes :')
printat(367-i*2,175-i*2,'Für die Hausfrau :')
next(i)
for i:=0 to 1 do
rubberline( 90,360,570,360,232,50,20)
rubberline(570,360, 90,360,232,50,20)
rubberline( 90,360,570,360,232,50,20)
rubberline(570,360,570,460,232,50,20)
rubberline(570,460, 90,460,232,50,20)
rubberline( 90,460, 90,360,232,50,20)
next(i)
scrtobuf
:start
setcolor(0)
defbutton(527, 50,20,20,15,1,0,1,'1','lab1')
defbutton(527, 90,20,20,15,1,0,1,'2','lab2')
defbutton(527,130,20,20,15,1,0,1,'3','lab3')
defbutton(527,170,20,20,15,1,0,1,'4','lab4')
defbutton(0,0,0,0,0,0,0,0,esc,'exit')
printat(534, 54,'1')
printat(534, 94,'2')
printat(534,134,'3')
printat(534,174,'4')
checkbutton('exit',30,0)
:lab1
viewport(520, 43,556, 77)
restorebox(8,20)
dum$:='1'
goto('weiter')
:lab2
viewport(520, 83,556,117)
restorebox(8,20)
dum$:='2'
goto('weiter')
:lab3
viewport(520,123,556,157)
restorebox(8,20)
dum$:='3'
goto('weiter')
:lab4
viewport(520,163,556,197)
restorebox(8,20)
dum$:='4'
goto('weiter')
:weiter
pause(500)
font(1)
writestyle(3)
textshadow(2,2)
clearscreen(100)
textcolor(255)
printc(320,220,'Weitere Informationen')
printc(320,260,'zum Menüpunkt '+dum$)
font(0)
pause(1000)
loadpic(5,0)
goto('start')
:exit
end