home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 325_01 / b1.c < prev    next >
C/C++ Source or Header  |  1990-03-28  |  16KB  |  377 lines

  1.         /* program to generate flying-jay image files */
  2.         /* picture data derived from Lee Adams */
  3.         /* 'High speed animation and simulation for Micro Computers' */
  4.         /* must be compiled and run for Microsoft and Zortech */
  5.         /* compilers separately to generate separate files */
  6.         /* Enter Mode no = 1 to generate 16 colour mode image file */
  7.         /* Enter         = 2 to generate 256 folour mode image file*/
  8.         /* rename 16 colour modes files to b?12 */
  9.         /* repeat this for b2,b3 and b4 to generate 4 files */
  10.  
  11. #include    <stdio.h>
  12. #include    <stdlib.h>
  13. #include    <grph.h>
  14. #include    <ops2d.h>
  15. #include    <font.h>
  16.  
  17. extern    void    far nature(float,float,float,float);
  18.  
  19.  
  20. static    float    x1[] = {-73.0f,-73.0f,-72.0f,-69.0f,-63.0f,-61.0f,-60.0f,\
  21.             -59.0f,-57.0f,-56.0f,-50.0f,-37.0f,-26.0f,-29.0f,\
  22.             -30.0f,-30.0f,-29.0f,-26.0f,-22.0f,-16.0f,-15.0f,\
  23.             -17.0f,-12.0f,-10.0f,  1.0f,  0.0f,  8.0f,  9.0f,\
  24.              14.0f, 12.0f, 17.0f, 15.0f, 26.0f, 24.0f, 39.0f,\
  25.              42.0f, 45.0f, 47.0f, 49.0f, 53.0f, 51.0f, 41.0f,\
  26.              34.0f, 29.0f, 29.0f, 20.0f, 13.0f,  4.0f,  0.0f,\
  27.              -6.0f,-10.0f,-20.0f,-24.0f,-28.0f,-32.0f,-35.0f,\
  28.             -39.0f,-44.0f,-50.0f,-54.0f,-68.0f,-70.0f,-71.0f,\
  29.             -73.0f};
  30. static    float    y1[] = { 13.0f, 10.0f,    8.0f,  5.0f,  0.0f, -1.0f, -3.0f,\
  31.              -7.0f,-10.0f,-14.0f,-18.0f,-24.0f,-30.0f,-26.0f,\
  32.             -23.0f,-20.0f,-16.0f,-13.0f,-10.0f, -9.0f, -8.0f,\
  33.              -6.0f, -5.0f, -3.0f, -2.0f,  0.0f,  0.0f,  2.0f,\
  34.               4.0f,  6.0f,    7.0f,  9.0f, 14.0f, 16.0f, 22.0f,\
  35.              28.0f, 35.0f, 39.0f, 43.0f, 56.0f, 57.0f, 55.0f,\
  36.              53.0f, 49.0f, 48.0f, 46.0f, 45.0f, 43.0f, 41.0f,\
  37.              39.0f, 32.0f, 32.0f, 27.0f, 23.0f, 16.0f, 13.0f,\
  38.              10.0f,  6.0f,    5.0f,  5.0f, 11.0f, 12.0f, 12.0f,\
  39.              13.0f};
  40.  
  41. static    float    x2[] = {-48.0f,-48.0f,-49.0f,-50.0f,-53.0f,-54.0f,-54.0f,\
  42.             -53.0f,-52.0f,-50.0f,-48.0f,-51.0f,-50.0f,-51.0f};
  43. static    float    y2[] = {-10.0f, -8.0f, -7.0f, -5.0f, -5.0f, -6.0f, -8.0f,\
  44.              -9.0f,-10.0f,-10.0f,-10.0f, -7.0f, -9.0f, -9.0f};
  45.  
  46. static    float    x3[] = {-73.0f,-73.0f,-72.0f,-69.0f,-63.0f,-61.0f,-59.0f,\
  47.             -56.0f,-48.0f,-51.0f,-54.0f,-68.0f,-70.0f,-71.0f,-73.0f};
  48. static    float    y3[] = { 13.0f, 10.0f,    8.0f,  5.0f,  0.0f, -1.0f,  0.0f,\
  49.              -2.0f, -1.0f,    5.0f,  5.0f, 11.0f, 12.0f, 12.0f, 13.0f};
  50.  
  51. static    float    x4[] = {-71.0f,-67.0f,-55.0f,-59.0f,-58.0f,-58.0f,-56.0f,-54.0f,\
  52.             -51.0f,-48.0f,-55.0f,-56.0f,-57.0f,-56.0f,-57.0f,-57.0f,\
  53.             -54.0f,-51.0f,-48.0f,-56.0f,-59.0f,-60.0f};
  54. static    float    y4[] = { 11.0f,  8.0f,    2.0f, -1.0f, -2.0f, -6.0f,-10.0f,-13.0f,\
  55.             -14.0f,-15.0f, -3.0f, -4.0f, -6.0f,-10.0f, -6.0f,  0.0f,\
  56.               4.0f,  1.0f, -1.0f, -2.0f,  0.0f, -1.0f};
  57.  
  58. static    float    x5[] = {-30.0f,-35.0f,-38.0f,-41.0f,-46.0f,-40.0f,-36.0f,-33.0f,\
  59.             -32.0f,-33.0f,-35.0f,-30.0f,-25.0f,-23.0f,-23.0f,-24.0f,\
  60.             -26.0f,-28.0f,-30.0f,-32.0f,-28.0f,-25.0f,-22.0f,-21.0f,\
  61.             -18.0f,-20.0f,-19.0f,-19.0f,-20.0f,-25.0f,-25.0f,-28.0f,\
  62.             -26.0f,-29.0f,-30.0f,-32.0f,-28.0f,-30.0f,-29.0f,-26.0f};
  63. static    float    y5[] = {-20.0f,-20.0f,-19.0f,-17.0f,-13.0f,-13.0f,-13.0f,-12.0f,\
  64.              -9.0f, -6.0f, -3.0f, -3.0f, -1.0f,  2.0f, 10.0f, 14.0f,\
  65.              16.0f, 18.0f, 17.0f, 16.0f, 23.0f, 23.0f, 21.0f, 19.0f,\
  66.              20.0f, 15.0f,    4.0f,  0.0f, -4.0f, -6.0f, -8.0f, -7.0f,\
  67.             -13.0f,-16.0f,-20.0f, 16.0f, 23.0f,-20.0f,-16.0f,-13.0f};
  68.  
  69. static    float    x6[] = {-28.0f,-25.0f,-22.0f,-21.0f,-18.0f,-20.0f,-19.0f,-19.0f,\
  70.             -20.0f,-25.0f,-25.0f,-28.0f,-26.0f,-22.0f,-16.0f,-15.0f,\
  71.             -17.0f,-12.0f,-10.0f,  1.0f,  0.0f,  8.0f,  9.0f, 14.0f,\
  72.              12.0f, 17.0f, 15.0f, 26.0f, 24.0f, 39.0f, 42.0f, 45.0f,\
  73.              47.0f, 49.0f, 53.0f, 51.0f, 41.0f, 34.0f, 29.0f, 20.0f,\
  74.              13.0f,  4.0f,    0.0f, -6.0f,-10.0f,-20.0f,-24.0f,-28.0f};
  75. static    float    y6[] = { 23.0f, 23.0f, 21.0f, 19.0f, 20.0f, 15.0f,  4.0f,  0.0f,\
  76.              -4.0f, -6.0f, -8.0f, -7.0f,-13.0f,-10.0f, -9.0f, -8.0f,\
  77.              -6.0f, -5.0f, -3.0f, -2.0f,  0.0f,  0.0f,  2.0f,  4.0f,\
  78.               6.0f,  7.0f,    9.0f, 14.0f, 16.0f, 22.0f, 28.0f, 35.0f,\
  79.              39.0f, 43.0f, 56.0f, 57.0f, 55.0f, 53.0f, 49.0f, 48.0f,\
  80.              46.0f, 45.0f, 43.0f, 41.0f, 39.0f, 32.0f, 27.0f, 23.0f};
  81.  
  82. static    float    x7[] = { 47.0f, 60.0f, 70.0f, 80.0f, 85.0f, 90.0f, 94.0f, 96.0f,\
  83.              97.0f, 93.0f, 90.0f, 93.0f, 94.0f, 90.0f, 84.0f, 86.0f,\
  84.              87.0f, 87.0f, 85.0f, 80.0f, 83.0f, 83.0f, 80.0f, 76.0f,\
  85.              80.0f, 79.0f, 70.0f, 72.0f, 74.0f, 73.0f, 70.0f, 67.0f,\
  86.              68.0f, 67.0f, 63.0f, 61.0f, 61.0f, 60.0f, 56.0f, 54.0f,\
  87.              55.0f, 53.0f, 50.0f, 48.0f, 47.0f, 43.0f, 40.0f, 38.0f,\
  88.              36.0f, 35.0f, 34.0f, 34.0f, 34.0f, 60.0f};
  89. static    float    y7[] = { 39.0f, 43.0f, 46.0f, 49.0f, 52.0f, 54.0f, 57.0f, 60.0f,\
  90.              62.0f, 62.0f, 61.0f, 64.0f, 66.0f, 66.0f, 64.0f, 66.0f,\
  91.              70.0f, 73.0f, 73.0f, 71.0f, 75.0f, 77.0f, 76.0f, 75.0f,\
  92.              82.0f, 83.0f, 79.0f, 82.0f, 86.0f, 87.0f, 86.0f, 84.0f,\
  93.              87.0f, 89.0f, 88.0f, 85.0f, 90.0f, 92.0f, 90.0f, 86.0f,\
  94.              92.0f, 94.0f, 90.0f, 87.0f, 90.0f, 86.0f, 82.0f, 77.0f,\
  95.              73.0f, 67.0f, 63.0f, 58.0f, 53.0f, 70.0f};
  96. static    float    x8[] = { 90.0f, 83.0f, 76.0f, 69.0f, 60.0f, 54.0f, 84.0f, 80.0f,\
  97.              75.0f, 70.0f, 63.0f, 54.0f, 80.0f, 75.0f, 70.0f, 66.0f,\
  98.              60.0f, 52.0f, 76.0f, 73.0f, 69.0f, 65.0f, 62.0f, 56.0f,\
  99.              70.0f, 66.0f, 63.0f, 60.0f, 56.0f, 52.0f, 67.0f, 64.0f,\
  100.              60.0f, 56.0f, 54.0f, 50.0f, 61.0f, 57.0f, 54.0f, 50.0f,\
  101.              48.0f, 44.0f, 54.0f, 50.0f, 47.0f, 45.0f, 43.0f, 41.0f,\
  102.              48.0f, 45.0f, 43.0f, 40.0f, 38.0f, 37.0f};
  103. static    float    y8[] = { 61.0f, 56.0f, 52.0f, 48.0f, 45.0f, 43.0f, 64.0f, 60.0f,\
  104.              56.0f, 54.0f, 51.0f, 47.0f, 71.0f, 65.0f, 61.0f, 57.0f,\
  105.              54.0f, 50.0f, 75.0f, 70.0f, 67.0f, 64.0f, 61.0f, 57.0f,\
  106.              79.0f, 75.0f, 72.0f, 70.0f, 65.0f, 59.0f, 84.0f, 80.0f,\
  107.              76.0f, 71.0f, 67.0f, 61.0f, 85.0f, 80.0f, 75.0f, 70.0f,\
  108.              65.0f, 57.0f, 86.0f, 80.0f, 75.0f, 70.0f, 65.0f, 57.0f,\
  109.              87.0f, 82.0f, 76.0f, 70.0f, 65.0f, 58.0f};
  110.  
  111. static    float    x9[] = {-20.0f,-17.0f,-12.0f, -8.0f, -5.0f,-16.0f,-12.0f, -7.0f,\
  112.               2.0f, -2.0f,    5.0f, 42.0f, 42.0f, 40.0f, 40.0f, 37.0f,\
  113.              36.0f, 35.0f, 33.0f,-56.0f,-53.0f,-50.0f,-42.0f,-35.0f,\
  114.             -31.0f,-46.0f,-40.0f,-33.0f,  4.0f, -5.0f, -6.0f, -6.0f,\
  115.              -8.0f, -7.0f, -2.0f,  0.0f,  8.0f, 10.0f, 12.0f, 10.0f,\
  116.               0.0f,  1.0f,    0.0f,  2.0f,  1.0f, -2.0f, -2.0f,  2.0f,\
  117.               7.0f,  8.0f,    6.0f,  7.0f,  8.0f,  0.0f, -4.0f, -5.0f,\
  118.              -6.0f,  8.0f,    7.0f,  4.0f,  1.0f,  3.0f,  4.0f,  2.0f,\
  119.               3.0f,  5.0f, 23.0f, 26.0f, 29.0f, 30.0f, 31.0f, 30.0f,\
  120.              29.0f, 27.0f, 27.0f, 28.0f, 22.0f, 20.0f, 21.0f, 22.0f,\
  121.              20.0f, 15.0f, 15.0f, 17.0f, 20.0f, 23.0f, 15.0f, 12.0f,\
  122.              11.0f, 11.0f, 14.0f, 16.0f, 17.0f, 16.0f, 14.0f, 15.0f,\
  123.              21.0f, 23.0f, 25.0f, 29.0f, 28.0f, 27.0f, 17.0f, 19.0f,\
  124.              21.0f, 87.0f, 91.0f, 86.0f, 90.0f, 83.0f, 87.0f, 81.0f,\
  125.              85.0f, 79.0f, 82.0f, 77.0f, 81.0f, 74.0f, 77.0f, 73.0f,\
  126.              75.0f, 70.0f, 73.0f, 68.0f, 71.0f, 65.0f, 69.0f, 64.0f,\
  127.              67.0f, 61.0f, 64.0f, 60.0f, 63.0f, 57.0f, 59.0f, 55.0f,\
  128.              57.0f, 50.0f, 52.0f, 49.0f, 50.0f, 44.0f, 45.0f, 92.0f,\
  129.              94.0f, 88.0f, 91.0f, 83.0f, 86.0f, 79.0f, 81.0f, 74.0f,\
  130.              77.0f, 70.0f, 72.0f, 65.0f, 66.0f, 59.0f, 60.0f, 52.0f,\
  131.              53.0f, 46.0f, 47.0f, 35.0f, 40.0f, 40.0f, 45.0f,  2.0f,\
  132.              11.0f,  5.0f, 14.0f,  9.0f, 16.0f};
  133.  
  134. static    float    y9[] = { 27.0f, 30.0f, 34.0f, 36.0f, 38.0f, 27.0f, 30.0f, 33.0f,\
  135.              38.0f, 39.0f, 43.0f, 35.0f, 38.0f, 37.0f, 41.0f, 41.0f,\
  136.              44.0f, 44.0f, 46.0f,-12.0f,-15.0f,-16.0f,-20.0f,-24.0f,\
  137.             -26.0f,-17.0f,-20.0f,-23.0f, 45.0f, 47.0f, 48.0f, 50.0f,\
  138.              54.0f, 56.0f, 59.0f, 59.0f, 57.0f, 56.0f, 50.0f, 46.0f,\
  139.              59.0f, 58.0f, 56.0f, 55.0f, 53.0f, 52.0f, 50.0f, 49.0f,\
  140.              49.0f, 52.0f, 55.0f, 57.0f, 57.0f, 56.0f, 56.0f, 55.0f,\
  141.              50.0f, 57.0f, 59.0f, 60.0f, 58.0f, 58.0f, 57.0f, 55.0f,\
  142.              54.0f, 52.0f, 32.0f, 36.0f, 39.0f, 41.0f, 47.0f, 49.0f,\
  143.              49.0f, 47.0f, 45.0f, 42.0f, 36.0f, 35.0f, 37.0f, 39.0f,\
  144.              40.0f, 36.0f, 34.0f, 33.0f, 33.0f, 32.0f, 34.0f, 34.0f,\
  145.              35.0f, 39.0f, 43.0f, 44.0f, 43.0f, 40.0f, 37.0f, 36.0f,\
  146.              40.0f, 42.0f, 43.0f, 49.0f, 51.0f, 53.0f, 43.0f, 45.0f,\
  147.              46.0f, 53.0f, 57.0f, 55.0f, 58.0f, 59.0f, 62.0f, 60.0f,\
  148.              64.0f, 63.0f, 66.0f, 65.0f, 69.0f, 68.0f, 72.0f, 69.0f,\
  149.              74.0f, 72.0f, 75.0f, 74.0f, 77.0f, 77.0f, 80.0f, 78.0f,\
  150.              82.0f, 80.0f, 84.0f, 81.0f, 85.0f, 82.0f, 86.0f, 84.0f,\
  151.              87.0f, 84.0f, 88.0f, 84.0f, 88.0f, 83.0f, 87.0f, 58.0f,\
  152.              60.0f, 63.0f, 64.0f, 69.0f, 72.0f, 73.0f, 76.0f, 77.0f,\
  153.              81.0f, 82.0f, 86.0f, 86.0f, 88.0f, 88.0f, 90.0f, 89.0f,\
  154.              91.0f, 88.0f, 89.0f, 48.0f, 52.0f, 50.0f, 53.0f,  1.0f,\
  155.              -3.0f,  2.0f,    0.0f,  4.0f,  4.0f};
  156. static    float    x10[]= { 39.0f, 24.0f, 26.0f, 15.0f, 17.0f, 12.0f, 14.0f,  9.0f,\
  157.               8.0f,  0.0f,    1.0f,-10.0f,-12.0f,-17.0f,-15.0f,-16.0f,\
  158.             -10.0f, -4.0f, -2.0f,  2.0f,  4.0f,  6.0f,  9.0f, 12.0f,\
  159.              16.0f, 20.0f, 23.0f, 27.0f, 30.0f, 33.0f, 34.0f, 36.0f,\
  160.              37.0f, 38.0f, 40.0f, 41.0f, 42.0f, 42.0f, 41.0f, 44.0f,\
  161.              45.0f, 47.0f, 48.0f, 47.0f, 48.0f, 49.0f, 52.0f, 53.0f,\
  162.              53.0f, 51.0f, 55.0f, 56.0f, 57.0f, 59.0f, 61.0f, 62.0f,\
  163.              62.0f, 61.0f, 64.0f, 66.0f, 68.0f, 70.0f, 72.0f, 72.0f,\
  164.              70.0f, 74.0f, 77.0f, 78.0f, 77.0f, 74.0f, 79.0f, 80.0f,\
  165.              79.0f, 77.0f, 75.0f, 78.0f, 80.0f, 80.0f, 77.0f, 74.0f,\
  166.              77.0f, 79.0f, 79.0f, 77.0f, 75.0f, 72.0f, 66.0f, 70.0f,\
  167.              69.0f, 66.0f, 63.0f, 66.0f, 66.0f, 63.0f, 57.0f, 50.0f,\
  168.              43.0f, 38.0f, 39.0f,-16.0f,-15.0f,-17.0f,-12.0f,-10.0f,\
  169.               1.0f,  0.0f,    8.0f,  9.0f, 14.0f, 12.0f, 17.0f, 15.0f,\
  170.              26.0f, 24.0f, 39.0f,-16.0f, 39.0f, 41.0f, 39.0f, 36.0f,\
  171.              32.0f, 51.0f, 50.0f, 48.0f, 46.0f, 42.0f, 34.0f, 61.0f,\
  172.              58.0f, 54.0f, 50.0f, 45.0f, 39.0f, 34.0f, 70.0f, 64.0f,\
  173.              62.0f, 56.0f, 45.0f, 40.0f, 31.0f, 74.0f, 71.0f, 66.0f,\
  174.              60.0f, 53.0f, 45.0f, 40.0f, 29.0f, 75.0f, 73.0f, 67.0f,\
  175.              60.0f, 53.0f, 42.0f, 33.0f, 74.0f, 72.0f, 67.0f, 63.0f,\
  176.              57.0f, 50.0f, 43.0f, 38.0f, 32.0f, 66.0f, 60.0f, 50.0f,\
  177.              45.0f, 36.0f, 63.0f, 60.0f, 55.0f, 50.0f, 45.0f, 40.0f,\
  178.              36.0f,-37.0f,-26.0f,-29.0f,-30.0f,-30.0f,-29.0f,-26.0f,\
  179.             -22.0f,-16.0f,-10.0f, -4.0f, -2.0f, -4.0f, -5.0f, -6.0f,\
  180.              -8.0f, -9.0f,-10.0f,-12.0f,-12.0f,-12.0f,-13.0f,-15.0f,\
  181.             -16.0f,-18.0f,-19.0f,-20.0f,-20.0f,-19.0f,-18.0f,-19.0f,\
  182.             -21.0f,-24.0f,-25.0f,-26.0f,-25.0f,-26.0f,-29.0f,-31.0f,\
  183.             -33.0f,-36.0f,-38.0f,-39.0f,-40.0f,-39.0f,-37.0f,-20.0f};
  184.  
  185.  
  186. static    float    y10[]= { 22.0f, 16.0f, 14.0f,  9.0f,  7.0f,  6.0f,  4.0f,  2.0f,\
  187.               0.0f,  0.0f, -2.0f, -3.0f, -5.0f, -6.0f, -8.0f, -9.0f,\
  188.              -9.0f, -8.0f,-10.0f,-12.0f,-16.0f,-19.0f,-21.0f,-23.0f,\
  189.             -25.0f,-27.0f,-30.0f,-35.0f,-39.0f,-45.0f,-50.0f,-60.0f,\
  190.             -67.0f,-69.0f,-68.0f,-65.0f,-60.0f,-55.0f,-48.0f,-53.0f,\
  191.             -60.0f,-66.0f,-70.0f,-75.0f,-79.0f,-78.0f,-73.0f,-68.0f,\
  192.             -60.0f,-54.0f,-64.0f,-70.0f,-76.0f,-78.0f,-73.0f,-70.0f,\
  193.             -63.0f,-57.0f,-65.0f,-73.0f,-75.0f,-74.0f,-70.0f,-61.0f,\
  194.             -55.0f,-65.0f,-63.0f,-58.0f,-52.0f,-43.0f,-50.0f,-49.0f,\
  195.             -42.0f,-36.0f,-32.0f,-34.0f,-35.0f,-32.0f,-25.0f,-20.0f,\
  196.             -22.0f,-23.0f,-20.0f,-16.0f,-12.0f, -8.0f, -2.0f, -3.0f,\
  197.               0.0f,  4.0f,    7.0f,  6.0f,  8.0f, 12.0f, 16.0f, 18.0f,\
  198.              19.0f, 20.0f, 22.0f, -9.0f, -8.0f, -6.0f, -5.0f, -3.0f,\
  199.              -2.0f,  0.0f,    0.0f,  2.0f,  4.0f,  6.0f,  7.0f,  9.0f,\
  200.              14.0f, 16.0f, 22.0f, -9.0f, 22.0f,-48.0f,-43.0f,-37.0f,\
  201.             -33.0f,-54.0f,-49.0f,-43.0f,-40.0f,-36.0f,-28.0f,-57.0f,\
  202.             -48.0f,-40.0f,-35.0f,-30.0f,-25.0f,-22.0f,-55.0f,-43.0f,\
  203.             -37.0f,-30.0f,-20.0f,-16.0f,-11.0f,-43.0f,-38.0f,-30.0f,\
  204.             -23.0f,-16.0f,-10.0f, -7.0f, -2.0f,-32.0f,-28.0f,-20.0f,\
  205.             -15.0f,-10.0f, -5.0f,  1.0f,-20.0f,-15.0f,-10.0f, -7.0f,\
  206.              -3.0f,  0.0f,    3.0f,  4.0f,  4.0f, -2.0f,  2.0f,  6.0f,\
  207.               8.0f, 10.0f,    7.0f, 10.0f, 12.0f, 14.0f, 15.0f, 16.0f,\
  208.              16.0f,-24.0f,-30.0f,-26.0f,-23.0f,-20.0f,-16.0f,-13.0f,\
  209.             -10.0f, -9.0f, -9.0f, -8.0f,-10.0f,-15.0f,-20.0f,-27.0f,\
  210.             -26.0f,-24.0f,-21.0f,-30.0f,-40.0f,-43.0f,-45.0f,-43.0f,\
  211.             -40.0f,-35.0f,-30.0f,-35.0f,-40.0f,-47.0f,-50.0f,-52.0f,\
  212.             -50.0f,-44.0f,-38.0f,-43.0f,-53.0f,-55.0f,-50.0f,-44.0f,\
  213.             -36.0f,-44.0f,-46.0f,-45.0f,-41.0f,-33.0f,-24.0f,-20.0f};
  214.  
  215. int main (void)
  216. {
  217.  
  218.     Byte m;
  219.  
  220.     int     i;
  221.     Word    j;
  222.     void    far *p;
  223.     int     a1,b1,a2,b2;
  224.  
  225.     do
  226.     {
  227.        scanf("%x" ,&m);
  228.     }
  229.     while ((m !=1) && (m !=2));
  230.  
  231.     OpenGraph(m,0);
  232.  
  233. /*
  234.     nature(0.0f,0.0f,320.0f,200.0f);
  235. */
  236.     MapWorld(-320.0f,200.0f,320.0f,-200.0f);
  237.  
  238.     PxlClr=7;
  239.     FllClr=7;
  240.     FillPoly(64,x1,y1);
  241.     PolyLine(64,x1,y1);
  242.  
  243.     PxlClr=7;
  244.     FllClr=0;
  245.     FillPoly(11,x2,y2);             /*draw eye*/
  246.     PolyLine(11,x2,y2);
  247.     PxlClr=15;
  248.     for (i=11;i<14;i++)             /*highlight eye*/
  249.     SetPixel(WtoDX(x2[i]),WtoDY(y2[i]));
  250.  
  251.     PxlClr=7;
  252.     FllClr=0;
  253.     FillPoly(15,x3,y3);         /* cheek start + outline beak*/
  254.     PolyLine(15,x3,y3);
  255.  
  256.     PolyLine(3,x4,y4);            /* mouth*/
  257.  
  258.     PxlClr=0;
  259.     PolyLine(7,&x4[3],&y4[3]);
  260.     PolyLine(4,&x4[10],&y4[10]);
  261.     PolyLine(2,&x4[14],&y4[14]);
  262.     PolyLine(6,&x4[16],&y4[16]);
  263.  
  264.     PxlClr=0;
  265.     FllClr=0;
  266.     FillPoly(35,x5,y5);
  267.     PolyLine(35,x5,y5);
  268.  
  269.     PxlClr=7;
  270.     PolyLine(2,&x5[35],&y5[35]);
  271.     PolyLine(3,&x5[37],&y5[37]);
  272.  
  273.     PxlClr=7;
  274.     FllClr=9;
  275.     FillPoly(48,x6,y6);
  276.     PolyLine(48,x6,y6);
  277.  
  278.     FllClr =  9;
  279.     PxlClr = 7;
  280.     FillPoly(53,x7,y7);
  281.     PolyLine(53,x7,y7);
  282.  
  283.     for (i=0;i<9;i++)
  284.     PolyLine(6,&x8[6*i],&y8[6*i]);
  285.  
  286.     PolyLine(5,x9,y9);
  287.     PolyLine(4,&x9[5],&y9[5]);
  288.     PolyLine(2,&x9[9],&y9[9]);
  289.     for (i=0;i<4;i++)
  290.     PolyLine(2,&x9[11+i*2],&y9[11+i*2]);
  291.     PxlClr = 9;
  292.     PolyLine(6,&x9[19],&y9[19]);
  293.     PolyLine(3,&x9[25],&y9[25]);
  294.  
  295.     PxlClr = 8;
  296.     FllClr = 7;
  297.     FillPoly(12,&x9[28],&y9[28]);
  298.     PolyLine(12,&x9[28],&y9[28]);
  299.  
  300.     PxlClr = 0;
  301.     FllClr = 0;
  302.     FillPoly(13,&x9[40],&y9[40]);
  303.     PolyLine(13,&x9[40],&y9[40]);
  304.     PolyLine(4,&x9[53],&y9[53]);
  305.  
  306.     PxlClr = 7;
  307.     for (i=0;i<2;i++)
  308.     PolyLine(3,&x9[57+i*3],&y9[57+i*3]);
  309.  
  310.     PxlClr = 0;
  311.     FllClr = 7;
  312.     FillPoly(20,&x9[66],&y9[66]);
  313.     PolyLine(20,&x9[66],&y9[66]);
  314.  
  315.     PxlClr = 0;
  316.     FllClr = 7;
  317.     FillPoly(10,&x9[86],&y9[86]);
  318.     PolyLine(10,&x9[86],&y9[86]);
  319.  
  320.     PxlClr = 7;
  321.     for (i=0;i<3;i++)
  322.     PolyLine(3,&x9[96+i*3],&y9[96+i*3]);
  323.  
  324.     PxlClr = 1;
  325.     PolyLine(19,&x9[105],&y9[105]);
  326.     PolyLine(10,&x9[124],&y9[124]);
  327.     PolyLine(5,&x9[134],&y9[134]);
  328.  
  329.  
  330.     /* wings 1*/
  331.  
  332.     FllClr = 9;
  333.     PxlClr  = 7;
  334.     FillPoly(99,x10,y10);
  335.     PolyLine(99,x10,y10);
  336.  
  337.     PxlClr  = 9;
  338.     PolyLine(16,&x10[99],&y10[99]);
  339.  
  340.     PxlClr = 7;
  341.     SetPixel(WtoDX(x10[115]),WtoDY(y10[115]));
  342.     SetPixel(WtoDX(x10[116]),WtoDY(y10[116]));
  343.  
  344.     PxlClr = 7;
  345.     PolyLine(4,&x10[117],&y10[117]);
  346.     PolyLine(6,&x10[121],&y10[121]);
  347.     PolyLine(7,&x10[127],&y10[127]);
  348.     PolyLine(7,&x10[134],&y10[134]);
  349.     PolyLine(8,&x10[141],&y10[141]);
  350.     PolyLine(7,&x10[149],&y10[149]);
  351.     PolyLine(9,&x10[156],&y10[156]);
  352.     PolyLine(5,&x10[165],&y10[165]);
  353.     PolyLine(7,&x10[170],&y10[170]);
  354.  
  355.     FllClr = 1;
  356.     FillPoly(46,&x10[177],&y10[177]);
  357.     PolyLine(46,&x10[177],&y10[177]);
  358.  
  359.     a1 = WtoDX(-80.0f);
  360.     b1 = WtoDY(-80.0f);
  361.     a2 = WtoDX(110.0f);
  362.     b2 = WtoDY(105.0f);
  363.  
  364.     j = ImageSize(a1,b1,a2,b2);
  365.  
  366.     p = (void far *)malloc(j);
  367.     GetImage(a1,b1,a2,b2,(void far *)p);
  368.  
  369.     /* if run with mode = 1, the file generated should be renamed */
  370.     /* to "b112" */
  371.  
  372.     SaveImage("b113",(void far *)p,j);
  373.  
  374.     CloseGraph();
  375.     return 0;
  376. }
  377.