Search This Blog

How to Make Simple 60 Sec Timer in C Graphics





 #include <stdio.h>

  #include <conio.h>

  #include <graphics.h>

  #include <string.h>

  #include <dos.h>


  int main() {

        /* request auto detection */

        int gdriver = DETECT, gmode, err;

        int i, midx, midy;

        char str[64];


        /* initialize graphic mode */

        initgraph(&gdriver, &gmode, "C:/TURBOC3/BGI");

        err = graphresult();


        if (err != grOk) {

                /* error occurred */

                printf("Graphics Error: %s\n",

                                grapherrormsg(err));

                return 0;

        }


        /* mid positions in x and y-axis */

        midx = getmaxx() / 2;

        midy = getmaxy() / 2;


        /* 60 second counter */

        for (i = 60; i > 0; i--) {

                /* draws the gray board */

                setcolor(DARKGRAY);

                setfillstyle(SOLID_FILL, DARKGRAY);

                rectangle(midx - 100, midy - 100, midx + 100, midy + 100);

                floodfill(midx, midy, DARKGRAY);


                /* place the text "60 sec couter" on the gray board */

                setcolor(WHITE);

                sprintf(str, "%s", "60 Sec Counter");

                settextstyle(TRIPLEX_FONT, HORIZ_DIR, 2);

                settextjustify(CENTER_TEXT, CENTER_TEXT);

                moveto(midx, midy - 70);

                outtext(str);


                /* print the current counter value on the gray board */

                sprintf(str, "%d", i);

                moveto(midx, midy + 30);

                outtext(str);


                /* sleep for a second */

                sleep(1);


                /* clears graphic screen */

                cleardevice();

        }


        /* print "Time's Up" after 60 seconds */

        setcolor(LIGHTRED);

        settextstyle(TRIPLEX_FONT, HORIZ_DIR, 3);

        settextjustify(CENTER_TEXT, CENTER_TEXT);

        moveto(midx, midy);

        sprintf(str, "Time's Up");

        outtext(str);


        getch();


        /* deallocate memory allocated for graphic screen */

        closegraph();

        return 0;

  }



Share this article :

0 comments:

Post a Comment