#include<stdio.h> #include<stdlib.h> #include<windows.h> #include<time.h> int main() {
? ? int i, j; ? ? int k = 0; ? ? int m = 0; ? ? int n = 0; ? ? long t; ? ? time_t t1, t2; ? ? int qipan[16][16]; ? ? char op; ? ? char ed; ?? ?char de;? begin: ? ? printf("\n*五子棋游戏\n"); ? ? printf("\n"); ? ? printf("*规则:\n"); ? ? printf("\n"); ? ? printf("1.本游戏为双人对战,通过键盘下棋子\n"); ? ? printf("\n"); ? ? printf("2.棋盘大小为16*16,请以x,y的形式下棋子\n"); ? ? printf("\n"); ? ? printf("*按回车键开始游戏:"); ? ? fflush(stdin); ? ? ed = getchar(); ? ? if (('\n' == ed)) ? ? { ? ? ? ? system("cls"); ? ? ? ? goto start; ? ? } ? ? else ? ? { ? ? ? ? system("cls"); ? ? ? ? goto begin; ? ? } start: ? ? FILE* fp = NULL; ? ? fp=fopen("c:\\cfiles\\main.txt", "wt + "); ? ? fclose(fp); ? ? fp = NULL; ? ? t1 = time(0); ? ? int color = 0; ? ? int iT = 0, jT = 0, cT = 0; ? ? int colorF = 0; ? ? for (i = 0; i < 16; i++) ? ? ? ? for (j = 0; j < 16; j++) ? ? ? ? ? ? qipan[i][j] = 2; ? ? for (i = 1; i <= 16; i++) ? ? { ? ? ? ? if (i == 1) ? ? ? ? { ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? printf("┌ ");
? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? printf("┬ "); ? ? ? ? ? ? }
? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? printf("┐ "); ? ? ? ? ? ? ? ? printf("\n"); ? ? ? ? } ? ? ? ? if (i <= 15 && i >= 2) ? ? ? ? { ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? printf("├ "); ? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? printf("┼ "); ? ? ? ? ? ? } ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? printf("┤ ");
? ? ? ? ? ? printf("\n"); ? ? ? ? } ? ? ? ? if (i == 16) ? ? ? ? { ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? printf("└ ");
? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? printf("┴ "); ? ? ? ? ? ? } ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? printf("┘ ");
? ? ? ? ? ? printf("\n"); ? ? ? ? }
? ? } ? ? printf("*黑棋得分:"); ? ? printf("%d\n", m); ? ? printf("*白棋得分:"); ? ? printf("%d\n\n", n); ? ? while (1) ? ? { ? ? ? ? printf("*请输入棋子位置: "); ? ? ? ? scanf("%d,%d", &i, &j); ? ? ? ? FILE* fp = NULL; ? ? ? ? fp=fopen("c:\\cfiles\\main.txt", "at+"); ? ? ? ? fprintf(fp, "%d %d\n", i, j); ? ? ? ? fclose(fp); ? ? ? ? fp = NULL; ? ? ? ? k++; ? ? ? ? if (i < 1 || i >16 || j < 1 || j>16) ? ? ? ? { ? ? ? ? ? ? printf("\n*超出棋盘范围,请重新输入!\n"); ? ? ? ? ? ? k--; ? ? ? ? ? ? continue; ? ? ? ? }
? ? ? ? if ((2 != qipan[i - 1][j - 1])) ? ? ? ? { ? ? ? ? ? ? printf("\n*该位置已有棋子!\n"); ? ? ? ? ? ? k--; ? ? ? ? ? ? fflush(stdin); ? ? ? ? ? ? continue; ? ? ? ? }
? ? ? ? color = (color + 1) % 2; ? ? ? ? qipan[i - 1][j - 1] = color;
? ? ? ? system("cls"); ? ? ? ? for (i = 1; i <= 16; i++) ? ? ? ? { ? ? ? ? ? ? if (i == 1) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 1) ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 0) ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? ? ? printf("┌ "); ? ? ? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┬ "); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? printf("┐ "); ? ? ? ? ? ? ? ? printf("\n"); ? ? ? ? ? ? } ? ? ? ? ? ? if (i <= 15 && i >= 2) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 1) ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 0) ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? ? ? printf("├ "); ? ? ? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┼ "); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? printf("┤ "); ? ? ? ? ? ? ? ? printf("\n"); ? ? ? ? ? ? } ? ? ? ? ? ? if (i == 16) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 1) ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 0) ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? ? ? printf("└ "); ? ? ? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┴ "); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? printf("┘ "); ? ? ? ? ? ? ? ? printf("\n"); ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? for (i = 0; i < 16; i++) ? ? ? ? { ? ? ? ? ? ? for (j = 0; j < 16; j++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (2 != qipan[i][j]) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? colorF = qipan[i][j]; ? ? ? ? ? ? ? ? ? ? cT = 1; ? ? ? ? ? ? ? ? ? ? iT = i; ? ? ? ? ? ? ? ? ? ? jT = j; ? ? ? ? ? ? ? ? ? ? while ((++jT < 16) && (5 != cT)) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? if (colorF == qipan[i][jT]) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? cT++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (5 == cT) ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (0 == colorF) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? time(&t2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? t = t2 - t1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? n++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*白棋赢了!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总步数为:%d步\n", k); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总时间为:%ld秒\n\n", t); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else if (1 == colorF) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? time(&t2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? t = t2 - t1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? m++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*黑棋赢了!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总步数为:%d步\n", k); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总时间为:%ld秒\n\n", t); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? goto End; ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? cT = 0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? iT = i; ? ? ? ? ? ? ? ? ? ? jT = j; ? ? ? ? ? ? ? ? ? ? cT = 1; ? ? ? ? ? ? ? ? ? ? while ((++iT < 16) && (5 != cT)) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? if (colorF == qipan[iT][j]) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? cT++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (5 == cT) ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (0 == colorF) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? time(&t2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? t = t2 - t1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? n++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*白棋赢了!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总步数为:%d步\n", k); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总时间为:%ld秒\n\n", t); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else if (1 == colorF) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? time(&t2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? t = t2 - t1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? m++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*黑棋赢了!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总步数为:%d步\n", k); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总时间为:%ld秒\n\n", t); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? goto End; ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? cT = 0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? iT = i; ? ? ? ? ? ? ? ? ? ? jT = j; ? ? ? ? ? ? ? ? ? ? cT = 1; ? ? ? ? ? ? ? ? ? ? while ((++iT < 16) && (++jT < 16) && (5 != cT)) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? if (colorF == qipan[iT][jT]) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? cT++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (5 == cT) ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (0 == colorF) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? time(&t2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? t = t2 - t1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? n++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*白棋赢了!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总步数为:%d步\n", k); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总时间为:%ld秒\n\n", t); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else if (1 == colorF) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? time(&t2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? t = t2 - t1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? m++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*黑棋赢了!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总步数为:%d步\n", k); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总时间为:%ld秒\n\n", t); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? goto End; ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? cT = 0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? iT = i; ? ? ? ? ? ? ? ? ? ? jT = j; ? ? ? ? ? ? ? ? ? ? cT = 1; ? ? ? ? ? ? ? ? ? ? while ((++iT >= 0) && (--jT >= 0) && (5 != cT)) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? if (colorF == qipan[iT][jT]) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? cT++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (5 == cT) ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (0 == colorF) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? time(&t2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? t = t2 - t1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? n++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*白棋赢了!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总步数为:%d步\n", k); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总时间为:%ld秒\n\n", t); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else if (1 == colorF) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? time(&t2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? t = t2 - t1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? m++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*黑棋赢了!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总步数为:%d步\n", k); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*游戏总时间为:%ld秒\n\n", t); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? goto End; ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? cT = 0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? } ? ? ? ? printf("*黑棋得分:"); ? ? ? ? printf("%d\n", m); ? ? ? ? printf("*白棋得分:"); ? ? ? ? printf("%d\n\n", n); ? ? } End: ? ? printf("*黑棋得分:"); ? ? printf("%d\n", m); ? ? printf("*白棋得分:"); ? ? printf("%d\n\n", n); ? ? printf("*按回车键重新开始\n"); ? ? printf("*按空格键观看对局回放\n"); ? ? printf("*按任意键退出"); ? ? fflush(stdin); ? ? op = getchar(); ? ? if ('\n' == op) ? ? { ? ? ? ? system("cls"); ? ? ? ? k = 0; ? ? ? ? printf("*已经重新开始了\n"); ? ? ? ? goto start; ? ? } ? ? else if (' ' == op) ? ? { ? ? ? ? system("cls"); ? ? ? ? FILE* fp = NULL; ? ? ? ? fp=fopen("c:\\cfiles\\main.txt", "at + "); ? ? ? ? rewind(fp); ? ? ? ? fclose(fp); ? ? ? ? fp = NULL; ? ? ? ? goto review; ? ? } review: ? ? fp=fopen("c:\\cfiles\\main.txt", "rt"); ? ? for (i = 0; i < 16; i++) ? ? ? ? for (j = 0; j < 16; j++) ? ? ? ? ? ? qipan[i][j] = 2; ? ? ?? ? ? for (i = 1; i <= 16; i++) ? ? { ? ? ? ? if (i == 1) ? ? ? ? { ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? printf("┌ ");
? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? printf("┬ "); ? ? ? ? ? ? }
? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? printf("┐ "); ? ? ? ? ? ? ? ? printf("\n"); ? ? ? ? }
? ? ? ? if (i <= 15 && i >= 2) ? ? ? ? { ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? printf("├ "); ? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? printf("┼ "); ? ? ? ? ? ? } ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? printf("┤ ");
? ? ? ? ? ? printf("\n"); ? ? ? ? } ? ? ? ? if (i == 16) ? ? ? ? { ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? printf("└ ");
? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? printf("┴ "); ? ? ? ? ? ? } ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? printf("┘ ");
? ? ? ? ? ? printf("\n"); ? ? ? ? } ? ? } ? ? while (k > 0) ? ? { ? ? ?? ?printf("*回放开始\n"); ? ? ?? ?printf("*按回车回放下一步\n"); ? ? ?? ?de=getchar();? ? ? ?? ?if(op='\n') ? ? ? ? { ? ? ? ? ?? ?system("cls"); ?? ??? ? ? ?fscanf(fp, "%d %d\n", &i, &j); ? ? ? ? ? ? qipan[i - 1][j - 1] = color; ? ? ? ? ? ? for (i = 1; i <= 16; i++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (i == 1) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┌ "); ? ? ? ? ? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┬ "); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┐ "); ? ? ? ? ? ? ? ? ? ? ? ? printf("\n"); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? if (i <= 15 && i >= 2) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("├ "); ? ? ? ? ? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┼ "); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┤ "); ? ? ? ? ? ? ? ? ? ? ? ? printf("\n"); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? if (i == 16) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][0] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("└ "); ? ? ? ? ? ? ? ? ? ? for (j = 2; j <= 15; j++) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┴ "); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 1) ? ? ? ? ? ? ? ? ? ? ? ? printf("○"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 0) ? ? ? ? ? ? ? ? ? ? ? ? printf("●"); ? ? ? ? ? ? ? ? ? ? if (qipan[i - 1][j - 1] == 2) ? ? ? ? ? ? ? ? ? ? ? ? printf("┘ "); ? ? ? ? ? ? ? ? ? ? ? ? printf("\n"); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? }? ? ? ? ? } ? ? ? ? color = (color + 1) % 2; ? ? ? ? k--; ? ? } ? ? fclose(fp); ? ? fp = NULL; ? ? goto end; end: ? ? printf("*按回车键重新开始游戏\n"); ? ? printf("*按任意键退出\n"); ? ? fflush(stdin); ? ? op = getchar(); ? ? if ('\n' == op) ? ? { ? ? ? ? system("cls"); ? ? ? ? k = 0; ? ? ? ? printf("*已经重新开始了\n"); ? ? ? ? goto start; ? ? } ? ? return 0; }
|