/* $Header: sm.c,v 7.0 86/10/08 15:13:35 lwall Exp $ */ /* $Log: sm.c,v $ * Revision 7.0 86/10/08 15:13:35 lwall * Split into separate files. Added amoebas and pirates. * */ #include #include #include "config.h" main() { char screen[23][90], buf[10]; Reg1 int y; Reg2 int x; int tmpy, tmpx; for (x=0; x<79; x++) screen[0][x] = ' '; screen[0][79] = '\0'; fgets(screen[0],90,stdin); if (isdigit(screen[0][0])) { int numstars = atoi(screen[0]); for (y=0; y<23; y++) { for (x=0; x<79; x++) screen[y][x] = ' '; screen[y][79] = '\0'; } for ( ; numstars; numstars--) { scanf("%d %d\n",&tmpy,&tmpx); y = tmpy; x = tmpx; screen[y][x+x] = '*'; } for (y=0; y<23; y++) { printf("%s\n",screen[y]); } } else { Reg3 int numstars = 0; for (y=1; y<23; y++) { for (x=0; x<79; x++) screen[y][x] = ' '; screen[y][79] = '\0'; } for (y=1; y<23; y++) { fgets(screen[y],90,stdin); } for (y=0; y<23; y++) { for (x=0; x<80; x += 2) { if (screen[y][x] == '*') { numstars++; } else if (screen[y][x] == '\t' || screen[y][x+1] == '\t') { fprintf(stderr,"Cannot have tabs in starmap--please expand.\n"); exit(1); } } } printf("%d\n",numstars); for (y=0; y<23; y++) { for (x=0; x<80; x += 2) { if (screen[y][x] == '*') { printf("%d %d\n",y,x/2); } } } } exit(0); }