「勝ち負けの判定の出来ない五目並べ。もちろん人対人。 別に、囲碁やったっていいよゲーム」


#include <stdio.h>
#include <stdlib.h>

#define MASU 18

int main()
{
	char ma[MASU][MASU];
	int i, j, a, b;
	static int c=1;		/*先手後手のカウント用の変数*/

/************ゲーム初期画面の表示***********************/	
	printf("\x1b[2J");
	printf("先手");
	printf("\x1b[0;31m");
	printf("X\n");
	printf("\x1b[0m");

	for(i=0; i<MASU; i++){
		for(j=0; j<MASU; j++){
			ma[i][j]='+';
		}
	}

	for(i=0; i<MASU; i++){
		printf("%-2d", i);
	}

	for(i=0; i<MASU; i++){
		printf("\n");
		for(j=0; j<MASU; j++){
			printf("%c ", ma[i][j]);
		}
		printf("%d", i);
	}

	printf("\n");

/**************ゲーム開始マス目への入力と表示******************/

	printf("タテ");
	while((scanf("%d", &a)) !=EOF){
		printf("ヨコ");
		scanf("%d", &b);

		if(ma[a][b]!='+'){
			printf("やり直し\nタテ");
			continue;
		}

		if(a>=MASU || b>=MASU){
			printf("エラー\n");
			continue;
		}
		
		printf("\x1b[2J");

		if(c%2==0){
			printf("先手");
			printf("\x1b[0;31m");
			printf("X\n");
			printf("\x1b[0m");
			ma[a][b]='O';
		}

		else{
			printf("後手");
			printf("\x1b[0;33m");
			printf("O\n");
			printf("\x1b[0m");
			ma[a][b]='X';
		}

		for(i=0; i<MASU; i++){
			printf("%-2d", i);
		}

		for(i=0; i<MASU; i++){
			printf("\n");
			for(j=0; j<MASU; j++){
				if(ma[i][j]=='O'){
					printf("\x1b[0;33m");
				}
				else if(ma[i][j]=='X'){
					printf("\x1b[0;31m");
				}
				printf("%c ", ma[i][j]);
				printf("\x1b[0m");
			}
			printf("%d", i);
		}
	c++;
	printf("\nタテ");
	}
}

トップページへ