home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume4 / clock / digits.c < prev    next >
C/C++ Source or Header  |  1989-02-03  |  11KB  |  234 lines

  1. /*   Copyright (c) 1988 by George M. Sipe.  All rights reserved.
  2.  
  3. This software may only be redistributed without fee and without any
  4. other form of monetary gain (including sold, rented, leased, or
  5. traded), unless the express written permission of the copyright holder
  6. is obtained in advance.
  7.  
  8. This copyright notice must be reproduced in its entirety on all copies
  9. of this software.  Further, acknowledgment of the authorship of this
  10. software must not be removed from its current or derived
  11. documentation.
  12.  
  13. No expressed or implied warranty is made for this software.  No party
  14. connected with this software assumes any liability or responsibility
  15. for its use, the correctness of its operation, or its fitness for any
  16. purpose.
  17.  
  18. Any distributor of copies of this software shall grant the recipient
  19. permission for further redistribution as permitted by this notice.
  20.  
  21. Permission is hereby granted to copy, reproduce, redistribute and
  22. otherwise use this software as long as the conditions above are
  23. strictly adhered to.
  24.  
  25.     NOTE:  This software was originally written by Jim Earenluindil
  26.     Trethewey and modified by George M. Sipe (rebel!george) to the
  27.     point where Jim would no longer recognize it.  No copyright
  28.     notices were embodied in the original net distribution.
  29. */
  30.  
  31. #include <curses.h>
  32.  
  33. #ifndef    MSDOS
  34. extern  void pr_colon();
  35. extern  void pr_space();
  36. extern  void pr_big();
  37. #else
  38. extern  void pr_colon(int col);
  39. extern  void pr_space(void);
  40. extern  void pr_big(int num,int col);
  41. #endif
  42.  
  43. extern WINDOW *scr;        /* screen where large numbers displayed */
  44. extern int curr_col;        /* current center of colon column */
  45. extern int NBASE;        /* numeric base line for output */
  46.  
  47. void pr_colon(col)
  48. int col;
  49. {
  50.     curr_col = col + 1;
  51.     wmove(scr, NBASE     , col); wprintw(scr, "   ");
  52.     wmove(scr, NBASE +  1, col); wprintw(scr, "   ");
  53.     wmove(scr, NBASE +  2, col); wprintw(scr, "   ");
  54.     wmove(scr, NBASE +  3, col); wprintw(scr, " # ");
  55.     wmove(scr, NBASE +  4, col); wprintw(scr, "###");
  56.     wmove(scr, NBASE +  5, col); wprintw(scr, " # ");
  57.     wmove(scr, NBASE +  6, col); wprintw(scr, "   ");
  58.     wmove(scr, NBASE +  7, col); wprintw(scr, "   ");
  59.     wmove(scr, NBASE +  8, col); wprintw(scr, " # ");
  60.     wmove(scr, NBASE +  9, col); wprintw(scr, "###");
  61.     wmove(scr, NBASE + 10, col); wprintw(scr, " # ");
  62.     wmove(scr, NBASE + 11, col); wprintw(scr, "   ");
  63.     wmove(scr, NBASE + 12, col); wprintw(scr, "   ");
  64.     wmove(scr, NBASE + 13, col); wprintw(scr, "   ");
  65. }
  66.  
  67. void pr_space()
  68. {
  69.     int i;
  70.     for(i = NBASE; i < NBASE + 14; i++) {
  71.         wmove(scr, i,  9);
  72.         wprintw(scr, "                                   ");
  73.         wmove(scr, i, 42);
  74.         wprintw(scr, "                                   ");
  75.     }
  76. }
  77.  
  78. void pr_big(num, col)
  79. int num;
  80. int col;
  81. {
  82.     if(num == 0) {
  83.         wmove(scr, NBASE     , col); wprintw(scr, "   ######   ");
  84.         wmove(scr, NBASE +  1, col); wprintw(scr, " ########## ");
  85.         wmove(scr, NBASE +  2, col); wprintw(scr, "####    ####");
  86.         wmove(scr, NBASE +  3, col); wprintw(scr, "###      ###");
  87.         wmove(scr, NBASE +  4, col); wprintw(scr, "###      ###");
  88.         wmove(scr, NBASE +  5, col); wprintw(scr, "###      ###");
  89.         wmove(scr, NBASE +  6, col); wprintw(scr, "###      ###");
  90.         wmove(scr, NBASE +  7, col); wprintw(scr, "###      ###");
  91.         wmove(scr, NBASE +  8, col); wprintw(scr, "###      ###");
  92.         wmove(scr, NBASE +  9, col); wprintw(scr, "###      ###");
  93.         wmove(scr, NBASE + 10, col); wprintw(scr, "###      ###");
  94.         wmove(scr, NBASE + 11, col); wprintw(scr, "####    ####");
  95.         wmove(scr, NBASE + 12, col); wprintw(scr, " ########## ");
  96.         wmove(scr, NBASE + 13, col); wprintw(scr, "   ######   ");
  97.     } else if(num == 1) {
  98.         wmove(scr, NBASE     , col); wprintw(scr, "      ##    ");
  99.         wmove(scr, NBASE +  1, col); wprintw(scr, "     ###    ");
  100.         wmove(scr, NBASE +  2, col); wprintw(scr, "    ####    ");
  101.         wmove(scr, NBASE +  3, col); wprintw(scr, "   #####    ");
  102.         wmove(scr, NBASE +  4, col); wprintw(scr, "     ###    ");
  103.         wmove(scr, NBASE +  5, col); wprintw(scr, "     ###    ");
  104.         wmove(scr, NBASE +  6, col); wprintw(scr, "     ###    ");
  105.         wmove(scr, NBASE +  7, col); wprintw(scr, "     ###    ");
  106.         wmove(scr, NBASE +  8, col); wprintw(scr, "     ###    ");
  107.         wmove(scr, NBASE +  9, col); wprintw(scr, "     ###    ");
  108.         wmove(scr, NBASE + 10, col); wprintw(scr, "     ###    ");
  109.         wmove(scr, NBASE + 11, col); wprintw(scr, "     ###    ");
  110.         wmove(scr, NBASE + 12, col); wprintw(scr, "   #######  ");
  111.         wmove(scr, NBASE + 13, col); wprintw(scr, "   #######  ");
  112.     } else if(num == 2) {
  113.         wmove(scr, NBASE     , col); wprintw(scr, "  ########  ");
  114.         wmove(scr, NBASE +  1, col); wprintw(scr, " ########## ");
  115.         wmove(scr, NBASE +  2, col); wprintw(scr, "###     ####");
  116.         wmove(scr, NBASE +  3, col); wprintw(scr, "###      ###");
  117.         wmove(scr, NBASE +  4, col); wprintw(scr, "         ###");
  118.         wmove(scr, NBASE +  5, col); wprintw(scr, "         ###");
  119.         wmove(scr, NBASE +  6, col); wprintw(scr, "         ###");
  120.         wmove(scr, NBASE +  7, col); wprintw(scr, "        ### ");
  121.         wmove(scr, NBASE +  8, col); wprintw(scr, "       ###  ");
  122.         wmove(scr, NBASE +  9, col); wprintw(scr, "     ####   ");
  123.         wmove(scr, NBASE + 10, col); wprintw(scr, "   ####     ");
  124.         wmove(scr, NBASE + 11, col); wprintw(scr, " ####       ");
  125.         wmove(scr, NBASE + 12, col); wprintw(scr, "############");
  126.         wmove(scr, NBASE + 13, col); wprintw(scr, "############");
  127.     } else if(num == 3) {
  128.         wmove(scr, NBASE     , col); wprintw(scr, "  ########  ");
  129.         wmove(scr, NBASE +  1, col); wprintw(scr, " ########## ");
  130.         wmove(scr, NBASE +  2, col); wprintw(scr, "###     ####");
  131.         wmove(scr, NBASE +  3, col); wprintw(scr, "###      ###");
  132.         wmove(scr, NBASE +  4, col); wprintw(scr, "         ###");
  133.         wmove(scr, NBASE +  5, col); wprintw(scr, "         ###");
  134.         wmove(scr, NBASE +  6, col); wprintw(scr, "    ####### ");
  135.         wmove(scr, NBASE +  7, col); wprintw(scr, "    ####### ");
  136.         wmove(scr, NBASE +  8, col); wprintw(scr, "         ###");
  137.         wmove(scr, NBASE +  9, col); wprintw(scr, "         ###");
  138.         wmove(scr, NBASE + 10, col); wprintw(scr, "###      ###");
  139.         wmove(scr, NBASE + 11, col); wprintw(scr, "###     ####");
  140.         wmove(scr, NBASE + 12, col); wprintw(scr, " ########## ");
  141.         wmove(scr, NBASE + 13, col); wprintw(scr, "  ########  ");
  142.     } else if(num == 4) {
  143.         wmove(scr, NBASE     , col); wprintw(scr, "       ###  ");
  144.         wmove(scr, NBASE +  1, col); wprintw(scr, "      ####  ");
  145.         wmove(scr, NBASE +  2, col); wprintw(scr, "     #####  ");
  146.         wmove(scr, NBASE +  3, col); wprintw(scr, "    ######  ");
  147.         wmove(scr, NBASE +  4, col); wprintw(scr, "   ### ###  ");
  148.         wmove(scr, NBASE +  5, col); wprintw(scr, "  ###  ###  ");
  149.         wmove(scr, NBASE +  6, col); wprintw(scr, " ###   ###  ");
  150.         wmove(scr, NBASE +  7, col); wprintw(scr, "############");
  151.         wmove(scr, NBASE +  8, col); wprintw(scr, "############");
  152.         wmove(scr, NBASE +  9, col); wprintw(scr, "       ###  ");
  153.         wmove(scr, NBASE + 10, col); wprintw(scr, "       ###  ");
  154.         wmove(scr, NBASE + 11, col); wprintw(scr, "       ###  ");
  155.         wmove(scr, NBASE + 12, col); wprintw(scr, "       ###  ");
  156.         wmove(scr, NBASE + 13, col); wprintw(scr, "       ###  ");
  157.     } else if(num == 5) {
  158.         wmove(scr, NBASE     , col); wprintw(scr, "############");
  159.         wmove(scr, NBASE +  1, col); wprintw(scr, "############");
  160.         wmove(scr, NBASE +  2, col); wprintw(scr, "###         ");
  161.         wmove(scr, NBASE +  3, col); wprintw(scr, "###         ");
  162.         wmove(scr, NBASE +  4, col); wprintw(scr, "### ######  ");
  163.         wmove(scr, NBASE +  5, col); wprintw(scr, "########### ");
  164.         wmove(scr, NBASE +  6, col); wprintw(scr, "###     ####");
  165.         wmove(scr, NBASE +  7, col); wprintw(scr, "         ###");
  166.         wmove(scr, NBASE +  8, col); wprintw(scr, "         ###");
  167.         wmove(scr, NBASE +  9, col); wprintw(scr, "         ###");
  168.         wmove(scr, NBASE + 10, col); wprintw(scr, "###      ###");
  169.         wmove(scr, NBASE + 11, col); wprintw(scr, "###     ####");
  170.         wmove(scr, NBASE + 12, col); wprintw(scr, " ########## ");
  171.         wmove(scr, NBASE + 13, col); wprintw(scr, "  ########  ");
  172.     } else if(num == 6) {
  173.         wmove(scr, NBASE     , col); wprintw(scr, "       ###  ");
  174.         wmove(scr, NBASE +  1, col); wprintw(scr, "      ###   ");
  175.         wmove(scr, NBASE +  2, col); wprintw(scr, "     ###    ");
  176.         wmove(scr, NBASE +  3, col); wprintw(scr, "    ###     ");
  177.         wmove(scr, NBASE +  4, col); wprintw(scr, "   ###      ");
  178.         wmove(scr, NBASE +  5, col); wprintw(scr, "  ###       ");
  179.         wmove(scr, NBASE +  6, col); wprintw(scr, " #########  ");
  180.         wmove(scr, NBASE +  7, col); wprintw(scr, "########### ");
  181.         wmove(scr, NBASE +  8, col); wprintw(scr, "###      ###");
  182.         wmove(scr, NBASE +  9, col); wprintw(scr, "###      ###");
  183.         wmove(scr, NBASE + 10, col); wprintw(scr, "###      ###");
  184.         wmove(scr, NBASE + 11, col); wprintw(scr, "###      ###");
  185.         wmove(scr, NBASE + 12, col); wprintw(scr, " ########## ");
  186.         wmove(scr, NBASE + 13, col); wprintw(scr, "   ######   ");
  187.     } else if(num == 7) {
  188.         wmove(scr, NBASE     , col); wprintw(scr, "############");
  189.         wmove(scr, NBASE +  1, col); wprintw(scr, "############");
  190.         wmove(scr, NBASE +  2, col); wprintw(scr, "###      ###");
  191.         wmove(scr, NBASE +  3, col); wprintw(scr, "         ###");
  192.         wmove(scr, NBASE +  4, col); wprintw(scr, "         ###");
  193.         wmove(scr, NBASE +  5, col); wprintw(scr, "        ### ");
  194.         wmove(scr, NBASE +  6, col); wprintw(scr, "       ###  ");
  195.         wmove(scr, NBASE +  7, col); wprintw(scr, "      ###   ");
  196.         wmove(scr, NBASE +  8, col); wprintw(scr, "     ###    ");
  197.         wmove(scr, NBASE +  9, col); wprintw(scr, "    ###     ");
  198.         wmove(scr, NBASE + 10, col); wprintw(scr, "   ###      ");
  199.         wmove(scr, NBASE + 11, col); wprintw(scr, "  ###       ");
  200.         wmove(scr, NBASE + 12, col); wprintw(scr, " ###        ");
  201.         wmove(scr, NBASE + 13, col); wprintw(scr, "###         ");
  202.     } else if(num == 8) {
  203.         wmove(scr, NBASE     , col); wprintw(scr, "   ######   ");
  204.         wmove(scr, NBASE +  1, col); wprintw(scr, " ########## ");
  205.         wmove(scr, NBASE +  2, col); wprintw(scr, "###      ###");
  206.         wmove(scr, NBASE +  3, col); wprintw(scr, "###      ###");
  207.         wmove(scr, NBASE +  4, col); wprintw(scr, "###      ###");
  208.         wmove(scr, NBASE +  5, col); wprintw(scr, "###      ###");
  209.         wmove(scr, NBASE +  6, col); wprintw(scr, " ########## ");
  210.         wmove(scr, NBASE +  7, col); wprintw(scr, " ########## ");
  211.         wmove(scr, NBASE +  8, col); wprintw(scr, "###      ###");
  212.         wmove(scr, NBASE +  9, col); wprintw(scr, "###      ###");
  213.         wmove(scr, NBASE + 10, col); wprintw(scr, "###      ###");
  214.         wmove(scr, NBASE + 11, col); wprintw(scr, "###      ###");
  215.         wmove(scr, NBASE + 12, col); wprintw(scr, " ########## ");
  216.         wmove(scr, NBASE + 13, col); wprintw(scr, "   ######   ");
  217.     } else if(num == 9) {
  218.         wmove(scr, NBASE     , col); wprintw(scr, "   ######   ");
  219.         wmove(scr, NBASE +  1, col); wprintw(scr, " ########## ");
  220.         wmove(scr, NBASE +  2, col); wprintw(scr, "###      ###");
  221.         wmove(scr, NBASE +  3, col); wprintw(scr, "###      ###");
  222.         wmove(scr, NBASE +  4, col); wprintw(scr, "###      ###");
  223.         wmove(scr, NBASE +  5, col); wprintw(scr, "###      ###");
  224.         wmove(scr, NBASE +  6, col); wprintw(scr, " ###########");
  225.         wmove(scr, NBASE +  7, col); wprintw(scr, "  ######### ");
  226.         wmove(scr, NBASE +  8, col); wprintw(scr, "       ###  ");
  227.         wmove(scr, NBASE +  9, col); wprintw(scr, "      ###   ");
  228.         wmove(scr, NBASE + 10, col); wprintw(scr, "     ###    ");
  229.         wmove(scr, NBASE + 11, col); wprintw(scr, "    ###     ");
  230.         wmove(scr, NBASE + 12, col); wprintw(scr, "   ###      ");
  231.         wmove(scr, NBASE + 13, col); wprintw(scr, "  ###       ");
  232.     }
  233. }
  234.