


<font color="#a020f0"># define TOTAL </font><font color="#ff00ff">252</font><font color="#a020f0">  </font><font color="#0000ff">// (&lt;255 !!)</font>


<font color="#2e8b57"><b>int</b></font> main(<font color="#2e8b57"><b>void</b></font>)
{

        <font color="#2e8b57"><b>uint8_t</b></font> step=<font color="#ff00ff">6</font>, step2,reg1, reg2, n=<font color="#ff00ff">0</font>, up=<font color="#ff00ff">1</font>, cntr;


        srand(<font color="#ff00ff">10</font>);  <font color="#0000ff">//Seed the rng</font>

        reg1= rand() ; <font color="#0000ff">// The first random number</font>

                <font color="#804040"><b>while</b></font> (<font color="#ff00ff">1</font>)
                {
                        reg2= rand() ; <font color="#0000ff">// The second random number</font>
                        cntr= TOTAL; <font color="#0000ff">// Start with fresh counter</font>

                        <font color="#804040"><b>while</b></font> (<font color="#ff00ff">1</font>)
                        {
                                n+=(up)?<font color="#ff00ff">1</font>:-<font color="#ff00ff">1</font>;
                                PORTB=(n&gt;cntr)?reg2:reg1;
                up=(n==<font color="#ff00ff">255</font>)?<font color="#ff00ff">0</font>:((n==<font color="#ff00ff">0</font>)?<font color="#ff00ff">1</font>:up);
                                <font color="#804040"><b>if</b></font> (cntr==<font color="#ff00ff">0</font>) <font color="#804040"><b>break</b></font>;
                                <font color="#804040"><b>if</b></font> (n==<font color="#ff00ff">0</font>) cntr-= step;
                        }

                reg1=reg2;
                step2=rand();
                <font color="#804040"><b>if</b></font>((TOTAL % step2) ==<font color="#ff00ff">0</font>) step=step2;
                }

}
