1: /* $Header: sm.c,v 7.0 86/10/08 15:13:35 lwall Exp $ */
2:
3: /* $Log: sm.c,v $
4: * Revision 7.0 86/10/08 15:13:35 lwall
5: * Split into separate files. Added amoebas and pirates.
6: *
7: */
8:
9: #include <stdio.h>
10: #include <ctype.h>
11: #include "config.h"
12:
13: main()
14: {
15: char screen[23][90], buf[10];
16: Reg1 int y;
17: Reg2 int x;
18: int tmpy, tmpx;
19:
20: for (x=0; x<79; x++)
21: screen[0][x] = ' ';
22: screen[0][79] = '\0';
23:
24: fgets(screen[0],90,stdin);
25: if (isdigit(screen[0][0])) {
26: int numstars = atoi(screen[0]);
27:
28: for (y=0; y<23; y++) {
29: for (x=0; x<79; x++)
30: screen[y][x] = ' ';
31: screen[y][79] = '\0';
32: }
33:
34: for ( ; numstars; numstars--) {
35: scanf("%d %d\n",&tmpy,&tmpx);
36: y = tmpy;
37: x = tmpx;
38: screen[y][x+x] = '*';
39: }
40:
41: for (y=0; y<23; y++) {
42: printf("%s\n",screen[y]);
43: }
44: }
45: else {
46: Reg3 int numstars = 0;
47:
48: for (y=1; y<23; y++) {
49: for (x=0; x<79; x++)
50: screen[y][x] = ' ';
51: screen[y][79] = '\0';
52: }
53:
54: for (y=1; y<23; y++) {
55: fgets(screen[y],90,stdin);
56: }
57:
58: for (y=0; y<23; y++) {
59: for (x=0; x<80; x += 2) {
60: if (screen[y][x] == '*') {
61: numstars++;
62: }
63: else if (screen[y][x] == '\t' || screen[y][x+1] == '\t') {
64: fprintf(stderr,"Cannot have tabs in starmap--please expand.\n");
65: exit(1);
66: }
67: }
68: }
69:
70: printf("%d\n",numstars);
71:
72: for (y=0; y<23; y++) {
73: for (x=0; x<80; x += 2) {
74: if (screen[y][x] == '*') {
75: printf("%d %d\n",y,x/2);
76: }
77: }
78: }
79: }
80: exit(0);
81: }
Defined functions
main
defined in line
13;
never used