home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 144.lha / flirp / flirp.c < prev    next >
C/C++ Source or Header  |  1986-11-21  |  2KB  |  69 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5.  
  6. typedef struct foo001
  7.        {
  8.          char tecken;
  9.          char x;
  10.          char y;
  11.        } my_itemt, *itemtp;
  12.  
  13. my_itemt       myscreen[80*24];
  14.  
  15. main(argc, argv)
  16. int argc;
  17. char **argv;
  18. {
  19.        
  20.        char inchar,x=1, y=1;
  21.        extern my_itemt myscreen[];
  22.  
  23.        int pos=0, count=0;
  24.        inchar = getchar();
  25.        
  26.        srand((unsigned)time(0L));
  27.  
  28.        while ((inchar!=EOF)&&(x<24))
  29.        {
  30.         if (inchar == '\n') {x++; y=1;}
  31.         else
  32.         if (inchar == '\t');
  33.         else{
  34.         myscreen[pos].tecken=inchar;
  35.         myscreen[pos].x=x;
  36.         myscreen[pos++].y=y++;
  37.         };
  38.         inchar=getchar();
  39.        }
  40.        
  41.        /* Scramble array */
  42.  
  43.        for (count=0;(count<pos);count++)
  44.        {
  45.         my_itemt temp;
  46.         int tmp;
  47.         tmp=rand()%pos;
  48.         temp.tecken=myscreen[count].tecken;
  49.         temp.x=myscreen[count].x;
  50.         temp.y=myscreen[count].y;
  51.         myscreen[count].tecken=myscreen[tmp].tecken;
  52.         myscreen[count].x=myscreen[tmp].x;
  53.         myscreen[count].y=myscreen[tmp].y;
  54.         myscreen[tmp].tecken=temp.tecken;
  55.         myscreen[tmp].x=temp.x;
  56.         myscreen[tmp].y=temp.y;
  57.        }
  58.        /* Clear screen */
  59.        
  60.        printf("\033[H\033[J");
  61.        
  62.        /* Print array */
  63.        for (count=0;((count<pos)&&(myscreen[count].x<=24));count++)
  64.        printf("\033[%d;%dH%c", (int)myscreen[count].x,
  65.                        (int)myscreen[count].y,
  66.                        myscreen[count].tecken);
  67.        printf("\033[24;1H");
  68. }
  69.