home *** CD-ROM | disk | FTP | other *** search
/ gdead.berkeley.edu / gdead.berkeley.edu.tar / gdead.berkeley.edu / pub / gdead / miscellaneous / bears.c < prev    next >
C/C++ Source or Header  |  1992-01-22  |  3KB  |  159 lines

  1. #include    <stdio.h>
  2. #include <curses.h>
  3. #include <signal.h>
  4. #include <errno.h>
  5.  
  6. extern    int    errno;
  7. extern    char     *calloc();
  8.  
  9. #define max(a,b) ((a) > (b) ? (a) : (b))
  10. char *b0[] = {
  11. "     _--_     _--_         ",
  12. "    ( () )___( () )        ",
  13. "     \           /         ",
  14. "      (  ' _ `  )          ",
  15. "       \  ___  /           ",
  16. "     .__( `-' )            ",
  17. "    / !  `---' \           ",
  18. "   /  \         !          ",
  19. "  !   /\        !          ",
  20. "  !   !_\______/\.         ",
  21. "   \    \       ! \        ",
  22. "    \___/   )  /__/        ",
  23. "      \    /   !           ",
  24. "      /   !   /            ",
  25. "     !   /__ /___          ",
  26. "     (______)____)         ",
  27. NULL
  28. };
  29. char *b1[] = {
  30. "    _--_     _--_          ",
  31. "   ( () )___( () )         ",
  32. "    \           /          ",
  33. "     (  ' _ `  )           ",
  34. "      \  ___  /            ",
  35. "       ( `-' )             ",
  36. "    _--'`---_              ",
  37. "   /         \___          ",
  38. "  /   /       !  \         ",
  39. " (   <        !__/         ",
  40. "  \   \      /\            ",
  41. "   \--/   \ /  \  ._       ",
  42. "     `.    )-   \/  )      ",
  43. "      !   !  `.    /       ",
  44. "      /  /__   \__/        ",
  45. "     (______)              ",
  46. NULL
  47. };
  48. char *b2[] = {
  49. "    _--_     _--_          ",
  50. "   ( () )___( () )         ",
  51. "    \           /          ",
  52. "     (  ' _ `  )           ",
  53. "      \  ___  /            ",
  54. "       ( `-' )             ",
  55. "     .--`---'\             ",
  56. "    /        _>\           ",
  57. "   /  /-___-'   )          ",
  58. " /'  (        _/           ",
  59. " \___/`------' )           ",
  60. "      \      `<            ",
  61. "    ___>-_     \   /-\     ",
  62. "   /      `-_   `-/  /     ",
  63. "  (  \---__/ `-_    /      ",
  64. "   \__)         `-_/       ",
  65. NULL
  66. };
  67. char *b3[] = {
  68. "    _--_     _--_          ",
  69. "   ( () )___( () )         ",
  70. "    \           /          ",
  71. "     (  ' _ `  )           ",
  72. "      \  ___  /            ",
  73. "    .__( `-' )  ___        ",
  74. "   /   /`---'`-'   \       ",
  75. "  /   /          ._/   __  ",
  76. "/'   /.-----\___/     /  ) ",
  77. "\___//          `----'   ! ",
  78. "     \            ______/  ",
  79. "      `--_____----'        ",
  80. "        \    /             ",
  81. "        !   !              ",
  82. "        /  /__             ",
  83. "       (______)            ",
  84. NULL
  85. };
  86. /*
  87.  * local procedure declarations.
  88.  */
  89. main()
  90. {
  91.     initialize();
  92.  
  93.     say_hello();
  94.  
  95.     blast_out();
  96. }
  97.  
  98. initialize()
  99. {
  100.     printf("Initializing ...\n");
  101.     initscr();
  102. }
  103.  
  104. blast_out()
  105. {
  106.     endwin();
  107.     exit(0);
  108. }
  109.  
  110. dance(src)
  111. char **src;
  112. {
  113.     int i;
  114.  
  115.     i = 0;
  116.     while (src[i]) {
  117.     mvaddstr(i, 0, src[i]);
  118.     i++;
  119.     }
  120. }
  121. say_hello()
  122. {
  123.     WINDOW *foo;
  124.     char buf[80];
  125.  
  126.     foo = newwin(12, 60, 12, 12);
  127.  
  128.     sprintf(buf, "hello world");
  129.     mvwaddstr(foo, 3, 3, buf);
  130.     box(foo, '|', '-');
  131.  
  132.     wrefresh(foo);
  133.  
  134.     getch();
  135.  
  136.     clear();
  137.     refresh();
  138. while(1) {
  139.     dance(b0);
  140.     refresh();
  141.     sleep(2);
  142.     dance(b1);
  143.     refresh();
  144.     getch();
  145.     dance(b2);
  146.     refresh();
  147.     getch();
  148.     dance(b3);
  149.     refresh();
  150.     getch();
  151.     clear();
  152.     refresh();
  153.  
  154. }
  155.     return(0);
  156. }
  157.  
  158.  
  159.