home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
-
-
- typedef struct foo001
- {
- char tecken;
- char x;
- char y;
- } my_itemt, *itemtp;
-
- my_itemt myscreen[80*24];
-
- main(argc, argv)
- int argc;
- char **argv;
- {
-
- char inchar,x=1, y=1;
- extern my_itemt myscreen[];
-
- int pos=0, count=0;
- inchar = getchar();
-
- srand((unsigned)time(0L));
-
- while ((inchar!=EOF)&&(x<24))
- {
- if (inchar == '\n') {x++; y=1;}
- else
- if (inchar == '\t');
- else{
- myscreen[pos].tecken=inchar;
- myscreen[pos].x=x;
- myscreen[pos++].y=y++;
- };
- inchar=getchar();
- }
-
- /* Scramble array */
-
- for (count=0;(count<pos);count++)
- {
- my_itemt temp;
- int tmp;
- tmp=rand()%pos;
- temp.tecken=myscreen[count].tecken;
- temp.x=myscreen[count].x;
- temp.y=myscreen[count].y;
- myscreen[count].tecken=myscreen[tmp].tecken;
- myscreen[count].x=myscreen[tmp].x;
- myscreen[count].y=myscreen[tmp].y;
- myscreen[tmp].tecken=temp.tecken;
- myscreen[tmp].x=temp.x;
- myscreen[tmp].y=temp.y;
- }
- /* Clear screen */
-
- printf("\033[H\033[J");
-
- /* Print array */
- for (count=0;((count<pos)&&(myscreen[count].x<=24));count++)
- printf("\033[%d;%dH%c", (int)myscreen[count].x,
- (int)myscreen[count].y,
- myscreen[count].tecken);
- printf("\033[24;1H");
- }
-