<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>To stop animation when window is closed, don't use event_handler
      with ibut=-1000. Here is a simpler solution:</p>
    <pre style="font-family:Monospaced;font-style:normal;font-size:14.0;"><span style="color:rgb(0,0,0);">h</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(174,92,176);text-decoration:underline;">gcf</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">while</span> <span style="color:rgb(218,112,214);">%t</span>
    <span style="color:rgb(160,32,240);">if</span> <span style="color:rgb(50,185,185);">is_handle_valid</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">h</span><span style="color:rgb(74,85,219);">)</span>
        <span style="color:rgb(50,185,185);">xtitle</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(50,185,185);">msprintf</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">k = %d</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span>
    <span style="color:rgb(160,32,240);">else</span>
        <span style="color:rgb(95,158,160);">break</span>
    <span style="color:rgb(160,32,240);">end</span>
    <span style="color:rgb(0,0,0);">k</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">end</span></pre>
    <div class="moz-cite-prefix">S.<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Le 06/06/2019 à 21:29, P M a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CACf7ODtNhf380bqBcysJbxQZ1vH1JcOY7WHU8an5KkWnExtuyg@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>Dear all,</div>
        <div><br>
        </div>
        <div>out of curiosity I made a small animation ... see code
          below.</div>
        <div><br>
        </div>
        <div>Note:<br>
        </div>
        <div>The part of the sound section is from a example where I
          generate different tones within one sound file.</div>
        <div>Hence the intervalls....</div>
        <div><br>
        </div>
        <div> </div>
        <div>To the topic:</div>
        <div><br>
        </div>
        <div>The animation runs in a while loop.</div>
        <div>It is possible to stop the loop, by just closing the figure
          that displays the animation.</div>
        <div>However this is kind of crashing the program.</div>
        <div><br>
        </div>
        <div>Question: <br>
        </div>
        <div>Is it possible to have a function within the loop to check
          if a specific key is pressed?</div>
        <div>And if this key is pressed, the control variable of the
          loop changes and the loop stops? <br>
        </div>
        <div><br>
        </div>
        <div>Thank you,</div>
        <div>Philipp</div>
        <div><br>
        </div>
        <div>Here the code (Scilab 6.0.2)</div>
        <div><br>
        </div>
        <div>
          <pre style="font-family:Monospaced;font-style:normal"><span style="color:rgb(50,185,185)">clc</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(50,185,185)">clear</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(50,185,185)">xdel</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>

<span style="color:rgb(100,174,100);font-style:italic">// define the sound</span>
<span style="color:rgb(100,174,100);font-style:italic">//set bit rate</span>
<span style="color:rgb(0,0,0)">bitRate</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">22050</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(100,174,100);font-style:italic">// At first we create 0.05 seconds of sound parameters.</span>
<span style="color:rgb(0,0,0)">t</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(0,0,0)">soundsec</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(188,143,143)">0.05</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(0,0,0)">bitRate</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(74,85,219)">[</span><span style="color:rgb(0,0,0)">nr</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">nc</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(50,185,185)">size</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">t</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(100,174,100);font-style:italic">// decide how many tones we have</span>
<span style="color:rgb(0,0,0)">nTones</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(100,174,100);font-style:italic">// get the intervall size..must be an integer</span>
<span style="color:rgb(0,0,0)">intervall</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">nc</span> <span style="color:rgb(92,92,92)">/</span> <span style="color:rgb(0,0,0)">nTones</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(100,174,100);font-style:italic">// Then we generate the sound.</span>
<span style="color:rgb(160,32,240)">for</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(0,0,0)">nTones</span><span style="color:rgb(74,85,219)">)</span>
    <span style="color:rgb(0,0,0)">si</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(50,185,185)">sin</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(188,143,143)">2</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(218,112,214)">%pi</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(188,143,143)">700</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">t</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span> <span style="color:rgb(255,170,0)">:</span> <span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>  
    <span style="color:rgb(0,0,0)">s1</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span> <span style="color:rgb(255,170,0)">:</span> <span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(74,85,219)">)</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">si</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(160,32,240)">end</span>
<span style="color:rgb(160,32,240)">for</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(0,0,0)">nTones</span><span style="color:rgb(74,85,219)">)</span>
    <span style="color:rgb(0,0,0)">si</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">0.5</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(50,185,185)">sin</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(188,143,143)">2</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(218,112,214)">%pi</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(188,143,143)">800</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">t</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span> <span style="color:rgb(255,170,0)">:</span> <span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>  
    <span style="color:rgb(0,0,0)">s2</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span> <span style="color:rgb(255,170,0)">:</span> <span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(74,85,219)">)</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">si</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(160,32,240)">end</span>
<span style="color:rgb(160,32,240)">for</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(0,0,0)">nTones</span><span style="color:rgb(74,85,219)">)</span>
    <span style="color:rgb(0,0,0)">si</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">0.5</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(50,185,185)">sin</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(188,143,143)">2</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(218,112,214)">%pi</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(188,143,143)">400</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">t</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span> <span style="color:rgb(255,170,0)">:</span> <span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>  
    <span style="color:rgb(0,0,0)">s3</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span> <span style="color:rgb(255,170,0)">:</span> <span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(74,85,219)">)</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">si</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(160,32,240)">end</span>
<span style="color:rgb(160,32,240)">for</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(0,0,0)">nTones</span><span style="color:rgb(74,85,219)">)</span>
    <span style="color:rgb(0,0,0)">si</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">0.5</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(50,185,185)">sin</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(188,143,143)">2</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(218,112,214)">%pi</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(188,143,143)">600</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">t</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span> <span style="color:rgb(255,170,0)">:</span> <span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>  
    <span style="color:rgb(0,0,0)">s4</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span> <span style="color:rgb(255,170,0)">:</span> <span style="color:rgb(0,0,0)">i</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">intervall</span><span style="color:rgb(74,85,219)">)</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">si</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(160,32,240)">end</span>

<span style="color:rgb(100,174,100);font-style:italic">// create the scene</span>
<span style="color:rgb(0,0,0)">xRange</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">linspace</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(188,143,143)">0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">99</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">100</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">yRange</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">linspace</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(188,143,143)">0</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">49</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">100</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">xMin</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(50,185,185)">min</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">xRange</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">xMax</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(50,185,185)">max</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">xRange</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">yMin</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(50,185,185)">min</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">yRange</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">yMax</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(50,185,185)">max</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">yRange</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">rectW</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">xMax</span> <span style="color:rgb(92,92,92)">-</span> <span style="color:rgb(0,0,0)">xMin</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">rectH</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">yMax</span> <span style="color:rgb(92,92,92)">-</span> <span style="color:rgb(0,0,0)">yMin</span><span style="color:rgb(0,0,0)">;</span> 

<span style="color:rgb(100,174,100);font-style:italic">//define the scene rectangle</span>
<span style="color:rgb(0,0,0)">rectScene</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(74,85,219)">[</span><span style="color:rgb(0,0,0)">xMin</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">yMax</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(0,0,0)">rectW</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(0,0,0)">rectH</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>

<span style="color:rgb(100,174,100);font-style:italic">// define a point center = start position</span>
<span style="color:rgb(0,0,0)">xc</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">rectW</span> <span style="color:rgb(92,92,92)">/</span> <span style="color:rgb(188,143,143)">2</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">yc</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">rectH</span> <span style="color:rgb(92,92,92)">/</span> <span style="color:rgb(188,143,143)">2</span><span style="color:rgb(0,0,0)">;</span>

<span style="color:rgb(100,174,100);font-style:italic">// plot the scene</span>
<span style="color:rgb(0,0,0)">f</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(50,185,185)">figure</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">f</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">background</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">8</span><span style="color:rgb(0,0,0)">;</span>

<span style="color:rgb(100,174,100);font-style:italic">// plot the rectangle (scene field)</span>
<span style="color:rgb(50,185,185)">xrect</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">rectScene</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>

<span style="color:rgb(100,174,100);font-style:italic">// plot the center</span>
<span style="color:rgb(0,0,0)">plot</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">xc</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">yc</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">'</span><span style="color:rgb(188,143,143)">o</span><span style="color:rgb(188,143,143)">'</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">a</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">gca</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">e</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">gce</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>

<span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">axes_visible</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(74,85,219)">[</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">data_bounds</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(74,85,219)">[</span><span style="color:rgb(0,0,0)">xMin</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">yMin</span><span style="color:rgb(0,0,0)">;</span><span style="color:rgb(0,0,0)">xMax</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">yMax</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">margins</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(74,85,219)">[</span><span style="color:rgb(188,143,143)">0.01</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(188,143,143)">0.01</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(188,143,143)">0.01</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(188,143,143)">0.01</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">tight_limits</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(74,85,219)">[</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">on</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">on</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>

<span style="color:rgb(100,174,100);font-style:italic">// animate the point as long as playGame = 1</span>
<span style="color:rgb(0,0,0)">playGame</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">;</span>

<span style="color:rgb(0,0,0)">xDir</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">0.5</span><span style="color:rgb(0,0,0)">;</span>   <span style="color:rgb(100,174,100);font-style:italic">// xDir </span><span style="color:rgb(100,174,100);font-style:italic"><</span><span style="color:rgb(100,174,100);font-style:italic"> 0 = to the left; xDir </span><span style="color:rgb(100,174,100);font-style:italic">></span><span style="color:rgb(100,174,100);font-style:italic"> 0 = to the right</span>
<span style="color:rgb(0,0,0)">yDir</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">;</span>   <span style="color:rgb(100,174,100);font-style:italic">// yDir </span><span style="color:rgb(100,174,100);font-style:italic"><</span><span style="color:rgb(100,174,100);font-style:italic"> 0 = falling; yDir </span><span style="color:rgb(100,174,100);font-style:italic">></span><span style="color:rgb(100,174,100);font-style:italic">0 = raising</span>
<span style="color:rgb(0,0,0)">speed</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">;</span>

<span style="color:rgb(160,32,240)">while</span> <span style="color:rgb(0,0,0)">playGame</span> <span style="color:rgb(92,92,92)">==</span> <span style="color:rgb(188,143,143)">1</span>
    
    <span style="color:rgb(160,32,240)">if</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">xDir</span> <span style="color:rgb(92,92,92)"><</span> <span style="color:rgb(188,143,143)">0</span><span style="color:rgb(74,85,219)">)</span>
        <span style="color:rgb(0,0,0)">xc</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">xc</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(0,0,0)">speed</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(160,32,240)">else</span>
        <span style="color:rgb(0,0,0)">xc</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">xc</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(0,0,0)">speed</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(160,32,240)">end</span>
    
    <span style="color:rgb(160,32,240)">if</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">yDir</span> <span style="color:rgb(92,92,92)"><</span> <span style="color:rgb(188,143,143)">0</span><span style="color:rgb(74,85,219)">)</span>
        <span style="color:rgb(0,0,0)">yc</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">yc</span> <span style="color:rgb(92,92,92)">-</span> <span style="color:rgb(0,0,0)">speed</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(160,32,240)">else</span>
        <span style="color:rgb(0,0,0)">yc</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">yc</span> <span style="color:rgb(92,92,92)">+</span> <span style="color:rgb(0,0,0)">speed</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(160,32,240)">end</span>
    
    <span style="color:rgb(0,0,0)">e</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">children</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">data</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(74,85,219)">[</span><span style="color:rgb(0,0,0)">xc</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(0,0,0)">yc</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>
    
    <span style="color:rgb(100,174,100);font-style:italic">// this is what happens when we reach left border</span>
    <span style="color:rgb(160,32,240)">if</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">xc</span><span style="color:rgb(92,92,92)"><=</span><span style="color:rgb(0,0,0)">xMin</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span>
        <span style="color:rgb(0,0,0)">playsnd</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">s1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
        <span style="color:rgb(0,0,0)">xDir</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(160,32,240)">end</span>
    <span style="color:rgb(100,174,100);font-style:italic">// this is what happens when we reach right border</span>
    <span style="color:rgb(160,32,240)">if</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">xc</span><span style="color:rgb(92,92,92)">>=</span><span style="color:rgb(0,0,0)">xMax</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span>
        <span style="color:rgb(0,0,0)">playsnd</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">s2</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
        <span style="color:rgb(0,0,0)">xDir</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(160,32,240)">end</span>
        <span style="color:rgb(100,174,100);font-style:italic">// this is what happens when we reach lower border</span>
    <span style="color:rgb(160,32,240)">if</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">yc</span><span style="color:rgb(92,92,92)"><=</span><span style="color:rgb(0,0,0)">yMin</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span>
        <span style="color:rgb(0,0,0)">playsnd</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">s3</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
        <span style="color:rgb(0,0,0)">yDir</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(160,32,240)">end</span>
    <span style="color:rgb(100,174,100);font-style:italic">// this is what happens when we reach upper border</span>
    <span style="color:rgb(160,32,240)">if</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">yc</span><span style="color:rgb(92,92,92)">>=</span><span style="color:rgb(0,0,0)">yMax</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span>
        <span style="color:rgb(0,0,0)">playsnd</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">s4</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
        <span style="color:rgb(0,0,0)">yDir</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(92,92,92)">-</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(160,32,240)">end</span>

    <span style="color:rgb(50,185,185)">sleep</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
    
    <span style="color:rgb(100,174,100);font-style:italic">// implement a event handle function ?</span>
    <span style="color:rgb(100,174,100);font-style:italic">// to check if (and if yes which) key has been pressed</span>
    <span style="color:rgb(100,174,100);font-style:italic">// eg.: if return value of event handle function = 0 </span>
    <span style="color:rgb(100,174,100);font-style:italic">//   --</span><span style="color:rgb(100,174,100);font-style:italic">></span><span style="color:rgb(100,174,100);font-style:italic"> set playGame = 0;</span>
    <span style="color:rgb(100,174,100);font-style:italic">//   --</span><span style="color:rgb(100,174,100);font-style:italic">></span><span style="color:rgb(100,174,100);font-style:italic"> thus stops the while - loop</span>
    
<span style="color:rgb(160,32,240)">end</span></pre>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users">https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
<a class="moz-txt-link-freetext" href="http://www.utc.fr/~mottelet">http://www.utc.fr/~mottelet</a></pre>
  </body>
</html>