home *** CD-ROM | disk | FTP | other *** search
/ Inside Multimedia 1995 July / IMM0795.ISO / demo / optix / optxfpac.set / TUTOUCH.OPT < prev    next >
Text File  |  1995-05-03  |  8KB  |  395 lines

  1. rem  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2. rem  !!!                                                          !!!
  3. rem  !!! Dieses Programm läßt sich mit OPTIX-'FREE' nicht starten !!!
  4. rem  !!!                                                          !!!
  5. rem  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  6. rem
  7. rem    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  8. rem    !!!                                                     !!!
  9. rem    !!! Beispiellisting für komplexe OPTIX-Programmierung   !!!
  10. rem    !!! Diese Demo wurde als Touch-Demo für die Vollversion !!!
  11. rem    !!! konzipiert, ist aber auch per Maus bedienbar.       !!!
  12. rem    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  13. rem
  14. rem      **************  Maus / Touch-Demo  *******************
  15. rem      *** Bei Darstellung des kleinen TUT können alle    ***
  16. rem      *** Bereiche der Büste mit der Maus angewählt      ***
  17. rem      *** werden. Die 12 Mini-TUTs unter dem EXIT-Button ***
  18. rem      *** sind auch 'sehr' empfindlich.  Die große Büste ***
  19. rem      *** ist dagegen 'unberührbar'.                     ***
  20. rem      **************  Maus / Touch-Demo  *******************
  21. rem
  22. rem  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  23. rem  !!!                                                          !!!
  24. rem  !!! Dieses Programm läßt sich mit OPTIX-'FREE' nicht starten !!!
  25. rem  !!!                                                          !!!
  26. rem  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  27.  
  28. def(x)
  29. def(y)
  30. def(i)
  31. def(j)
  32. def(k)
  33. def(mx,639)
  34. def(my,479)
  35. def(tx,60)
  36. def(ty,300)
  37. def(flag)
  38.  
  39. defs(tit ,'B U T T O N S')
  40. defs(ta1 ,' TouchEnchAmun')
  41. defs(ta2 ,'  Z  O   O  M')
  42. defs(dum1$)
  43. defs(dum2$)
  44.  
  45. procedure pbutton(xl,yo,xr,yu,c1,c2)
  46.  
  47.    locals(i,j)
  48.    setcolor(255)
  49.    setbcolor(240)
  50.    viewport(xl,yo,xr,yu)
  51.    plateau(vcolor,bcolor)
  52.    setcolor(247)
  53.    for I:=0 to 3 do
  54.       decviewport
  55.       rectangle
  56.    next(i)
  57.    setcolor(c1)
  58.    setbcolor(c2)
  59.    for I:=0 to 10 do
  60.       plateau(c1,c2)
  61.       for j:=0 to 2 do
  62.          decviewport
  63.       next(j)
  64.    next(i)
  65.    for I:=0 to 2 do
  66.       decviewport
  67.       plateau(c1,c2)
  68.    next(i)
  69.  
  70. return
  71.  
  72. procedure button(xl,yo,xr,yu,b1,b2)
  73.  
  74.    locals(i,j)
  75.    setcolor(248)
  76.    line(xr,yo,xr,yu,0)
  77.    line(xl,yu,xr,yu,0)
  78.    viewport(xl-1,yo-1,xr,yu)
  79.    for I:=0 to b1-1 do
  80.       decviewport
  81.       plateau(255,248)
  82.    next(i)
  83.    for I:=0 to b2-1 do
  84.       decviewport
  85.       plateau(247,247)
  86.    next(i)
  87.    for I:=0 to b1-1 do
  88.       decviewport
  89.       plateau(248,255)
  90.    next(i)
  91.  
  92. return
  93.  
  94. procedure outlin(x,y,b,h,k)
  95.  
  96.    copywin(x,y,x+b-1,y+h-1)
  97.    keycol(k)
  98.    key(on)
  99.    loadwin(x-1,y,0,0)
  100.    loadwin(x-1,y-1,0,0)
  101.    loadwin(x,y-1,0,0)
  102.    loadwin(x+1,y-1,0,0)
  103.    loadwin(x+1,y,0,0)
  104.    loadwin(x+1,y+1,0,0)
  105.    loadwin(x,y+1,0,0)
  106.    loadwin(x-1,y+1,0,0)
  107.    key(off)
  108.  
  109. return
  110.  
  111.  
  112. BEGIN
  113.  
  114. readfont(1,'bit16x16.fnt')
  115. readfont(2,'tri22n.fnt')
  116. font(2)
  117. cursoff
  118.  
  119. clearscreen(247)
  120.  
  121. textcofs(11)
  122. textcolor(248)
  123. textcofs(29)
  124. printat(15,14,tit)
  125.  
  126. readsound('typewrit.snd')
  127. for i:= 0 to 6 do
  128.   outlin(i*95+10,10,58,70,247)
  129.   startsound
  130. next(i)
  131.  
  132. textcolor(248)
  133. printat(15,14,tit)
  134.  
  135. copywin(15,4,639,83)
  136.  
  137. textcolor(255)
  138. printat(13,12,tit)
  139. textcolor(240)
  140. printat(17,16,tit)
  141. key(on)
  142.  
  143. loadwin(15,4,0,0)
  144.  
  145. textcolor(247)
  146. printat(15,14,tit)
  147.  
  148. readpic('tut.bmp')
  149. getsubpal(15)
  150. setallpal
  151.  
  152. keycol(141)
  153. key(on)
  154.  
  155. button(26,72,612,455,1,2)
  156. button(29,75,609,452,1,2)
  157.  
  158. for I:=282 to 590 step 40 do
  159.    loadwin(i,190,29,0)
  160. next(i)
  161.  
  162. copywin(283,190,602,234)
  163.  
  164. for j:=240 to 400 step 50 do
  165.    loadwin(283,j,0,0)
  166. next(j)
  167.  
  168. loadwin(43,340,0,0)
  169. loadwin(43,390,0,0)
  170.  
  171. readfont(2,'tri22n.fnt')
  172.  
  173. readpic('tut.bmp')
  174.  
  175. viewport(50,100,265,265)
  176. cbox(9,240,0)
  177. loadwin(352,90,20,0)
  178.  
  179.    textcolor(255)
  180.    printat(115,155,'Exit')
  181.    textcolor(240)
  182.    printat(115,157,'Exit')
  183.    textcolor(247)
  184.    printat(115,156,'Exit')
  185.  
  186. key(off)
  187.  
  188. button(40,90,260,260,4,50)
  189. for i:=0 to 50 step 10 do
  190.    button(40+i,90+i,260-i,260-i,1,1)
  191. next(i)
  192.  
  193. button(40,284,260,328,1,3)
  194.  
  195. font(1)
  196.  
  197. keycol(141)
  198. key(on)
  199.  
  200. pbutton(315,287,560,388,255,248)
  201. cbox(0,247,0)
  202.  
  203.  
  204.    textcolor(244)
  205.    textbcolor(255)
  206.    writestyle(3)
  207.    texttrnsp(1)
  208.    textshadow(0,-1)
  209.    textcofs(-3)
  210.    printat(340,330,Ta1)
  211.  
  212. :menu                                  *** Hauptmenü
  213.  
  214.    scrtobuf
  215.  
  216.    textbcolor(247)
  217.    textcolor(248)
  218.    textshadow(0,-1)
  219.    texttrnsp(0)
  220.    textcofs(-2)
  221.  
  222.    for i:=0 to 5 do
  223.      defbutton(46+i*40 ,344,40 ,45 ,0,0,0,0,#99,'pump')
  224.      defbutton(46+i*40 ,394,40 ,45 ,0,0,0,0,#99,'pump')
  225.    next(i)
  226.    defbutton(92 ,138,112,132,0,0,0,0,esc,'exit')
  227.    defbutton(315,287,240,100,0,0,0,0,ret,'bild')
  228.  
  229.    defbutton(430,210, 16,65,0,0,0,0,#99,'bart')
  230.    defbutton(435,153,  8,23,0,0,0,0,#99,'nase')
  231.    defbutton(422,210, 33,30,0,0,0,0,#99,'hals')
  232.    defbutton(423,177, 29,18,0,0,0,0,#99,'mund')
  233.    defbutton(404,142, 28,21,0,0,0,0,#99,'auge_r')
  234.    defbutton(443,142, 28,63,0,0,0,0,#99,'auge_l')
  235.    defbutton(421, 85, 17,47,0,0,0,0,#99,'diadem')
  236.    defbutton(398,140, 70,63,0,0,0,0,#99,'gesicht')
  237.    defbutton(360,116, 35,90,0,0,0,0,#99,'perücke_lo')
  238.    defbutton(381,215, 35,75,0,0,0,0,#99,'perücke_lu')
  239.    defbutton(478,116, 35,82,0,0,0,0,#99,'perücke_ro')
  240.    defbutton(459,215, 35,75,0,0,0,0,#99,'perücke_ru')
  241.    defbutton(356,240,160,41,0,0,0,0,#99,'brustschild')
  242.    defbutton(388,100, 90,43,0,0,0,0,#99,'haube')
  243.  
  244.    curson(mousex,mousey)
  245.    checkbutton('exit',20,0)
  246.  
  247.  
  248.  
  249.  
  250. :bild                           *** Vergrösserung
  251.  
  252.  
  253.    cursoff
  254.    textcolor(248)
  255.    textbcolor(255)
  256.    writestyle(3)
  257.    texttrnsp(1)
  258.    textshadow(0,1)
  259.    textcofs(-3)
  260.  
  261.    button(95,145,205,205,1,50)
  262.    pbutton(315,287,560,388,248,255)
  263.    cbox(0,247,0)
  264.    printat(340,330,Ta2)
  265.  
  266.    pause(100)
  267.  
  268.    pbutton(315,287,560,388,255,248)
  269.    cbox(0,247,0)
  270.    textshadow(0,-1)
  271.    printat(340,330,Ta1)
  272.  
  273.    readsound('ping.snd')
  274.    startsound
  275.    for i:=590 to 45 step -2 do
  276.       button(i,440,596,462,1,1)
  277.    next(i)
  278.    copywin(590,440,599,469)
  279.    for i:=590 to 220 step -3 do
  280.       loadwin(i,440,0,0)
  281.    next(i)
  282.  
  283.    readsound('typewrit.snd')
  284.    textcolor(240)
  285.  
  286.    dum1$:='VERGRÖSSERUNG'
  287.    len(dum1$,i)
  288.    for j:=1 to i do
  289.      dum2$:=dum1$
  290.      mid(dum2$,j,1)
  291.      printat(37+j*13,444,dum2$)
  292.      startsound
  293.      random(50,k)
  294.      pause(50+k)
  295.    next(j)
  296.  
  297.    readpic('tut.bmp')
  298.    readsound('ping.snd')
  299.    startsound
  300.    loadwin(245,2,5,0)
  301.  
  302.    defbutton(0,0,639,479,0,0,0,0,'a','ping')
  303.    defbutton(0,0,639,479,0,0,0,0,ret,'ping')
  304.    curson(mousex,mousey)
  305.    checkbutton('ping',15,0)
  306.    :ping
  307.    readsound('ping.snd')
  308.    startsound
  309.    loadpic(42,0)
  310.  
  311. goto('menu')
  312.  
  313.  
  314.  
  315. :pump                             *** 'AUA'-Effekt bei 12 Mini-Tut's
  316.  
  317.    mx:=(mousex-43)/40
  318.    mx:=(mx*40)+43
  319.    my:=(mousey-340)/50
  320.    my:=(my*50)+340
  321.    readsound('auahoch.snd')
  322.    startsound
  323.    cursoff
  324.    for I := 0 to 8 step 2 do
  325.      loadwin(mx-(i*6),my-(i*9),29-i,0)
  326.      wait(5)
  327.    next(i)
  328.    curson(mousex,mousey)
  329.    loadpic(42,0)
  330.  
  331. goto('menu')
  332.  
  333.  
  334.  
  335.  
  336. :bart                                *** Reaktion auf Mini-Tut-Klicks
  337.    printat(tx,ty,'BART        ')
  338. goto('tut')
  339. :nase
  340.    printat(tx,ty,'NASE        ')
  341. goto('tut')
  342. :hals
  343.    printat(tx,ty,'HALS        ')
  344. goto('tut')
  345. :mund
  346.    printat(tx,ty,'MUND        ')
  347. goto('tut')
  348. :auge_r
  349.    printat(tx,ty,'RECHTES AUGE')
  350. goto('tut')
  351. :auge_l
  352.    printat(tx,ty,'LINKES AUGE ')
  353. goto('tut')
  354. :diadem
  355.    printat(tx,ty,'DIADEM      ')
  356. goto('tut')
  357. :gesicht
  358.    printat(tx,ty,'GESICHT     ')
  359. goto('tut')
  360. :perücke_lo
  361.    printat(tx,ty,'GOLDHAUBE   ')
  362. goto('tut')
  363. :perücke_lu
  364.    printat(tx,ty,'GOLDKRAGEN  ')
  365. goto('tut')
  366. :perücke_ro
  367.    printat(tx,ty,'GOLDHAUBE   ')
  368. goto('tut')
  369. :perücke_ru
  370.    printat(tx,ty,'GOLDKRAGEN  ')
  371. goto('tut')
  372. :brustschild
  373.    printat(tx,ty,'BRUSTSCHILD ')
  374. goto('tut')
  375. :haube
  376.    printat(tx,ty,'STIRNKAPPE  ')
  377. goto('tut')
  378.  
  379. :tut
  380.   readsound('typewrite.snd')
  381.   startsound
  382. goto('menu')
  383.  
  384.  
  385.  
  386.  
  387. :exit                                  *** Programmende
  388.  
  389. button(50,100,250,250,5,25)
  390. pause(100)
  391.  
  392.  
  393. end
  394.  
  395.