#include <tscope.h>


void ts_wait_visual(int sx, int sy, int waittm)
{
    float tmp1, tmp2, tmp3, tmp4;
    int time;
    int steps;

    int sc = 0;

    for (time = 0; time < sy - 5; time++) {

        tmp1 = sy - time;
        tmp2 = sy / (sqrt(sx * sx + sy * sy));
        tmp3 = sqrt(((tmp1 * tmp1) / (tmp2 * tmp2)) - (tmp1 * tmp1));

        ts_fgcolor(ts_makecolor(255, 255, 204));
        ts_triangle(sc, sc, -tmp3, -tmp1, tmp3, -tmp1);
        ts_fgcolor(GREY75);
        ts_floodfill(sc, sc - 5);

        if (time < sy - 10) {
            ts_fgcolor(ts_makecolor(255, 255, 204));
            ts_triangle(-tmp3, -tmp1, tmp3, -tmp1, sc, -tmp1 + 5);
            ts_floodfill(sc, -tmp1 + 1);
            ts_fgcolor(GREY75);
            ts_rect(-2, -5, +2, -tmp1 + 5);
            ts_floodfill(sc, -tmp1 + 6);
        }

        ts_fgcolor(GREY75);
        ts_triangle(sc, sc, -tmp3, tmp1, tmp3, tmp1);


        ts_fgcolor(ts_makecolor(102, 51, 0));
        ts_triangle(-sx, -sy, sx, -sy, sc, sc);
        ts_triangle(-sx, sy, sx, sy, sc, sc);

        ts_rect(sx + 6, sy, -sx - 6, sy + 6);
        ts_floodfill(sx + 2, sy + 2);
        ts_rect(sx + 6, -sy, -sx - 6, -sy - 6);
        ts_floodfill(sx + 2, -sy - 2);
        ts_vline(sx + 2, sy + 2, -sy - 2);
        ts_vline(-sx - 2, sy + 2, -sy - 2);
        ts_vline(sx + 3, sy + 2, -sy - 2);
        ts_vline(-sx - 3, sy + 2, -sy - 2);
        ts_circle(sx + 6, sy + 3, 3);
        ts_circle(-sx - 6, sy + 3, 3);
        ts_circle(-sx - 6, -sy - 3, 3);
        ts_circle(+sx + 6, -sy - 3, 3);
        ts_floodfill(sx + 8, -sy - 3);
        ts_floodfill(sx + 8, sy + 3);
        ts_floodfill(-sx - 8, -sy - 3);
        ts_floodfill(-sx - 8, sy + 3);


        ts_fgcolor(ts_makecolor(255, 255, 204));
        ts_floodfill(sc, tmp1 - 10);
        for (steps = 5; steps < sy; steps++)
            ts_putpixel(ts_rint(3), -steps);

        ts_fgcolor(ts_makecolor(102, 51, 0));
        ts_circle(sc, sc, 5);
        ts_floodfill(-3, sc);
        ts_floodfill(+3, sc);
        ts_floodfill(sc, +3);
        ts_floodfill(sc, -3);

        tmp4 = waittm * ((2.0 - time * (2.0 / (sy - 5))) / (sy - 5));
        ts_wait(mtt(tmp4));

    }
}


top
Persoonlijke pagina Universiteit GentTscope
Allegro | Cygwin | Gcc
© See license.html for copyright information