All pastes #396075 Raw Edit

Pohyb kone sachovnic

public c v1 · immutable
·published 2007-03-15 14:11 UTC
rendered paste body
#include <stdio.h>#define A 1#define B 2#define C 3#define D 4#define E 5#define F 6#define G 7#define H 8#define NL printf("\n")int sachovnice[9][9];int kun[5][5];int pozice[2];vynuluj_kun(){	int i,j;	for(i=1;i<5;i++)		for(j=1;j<5;j++)			kun[i][j] = 0;	return 0;}nastav_kun(){	kun[0][1] = 1;	kun[0][3] = 1;	kun[1][0] = 1;	kun[1][4] = 1;	kun[3][4] = 1;	kun[3][0] = 1;	kun[4][1] = 1;	kun[4][3] = 1;	kun[2][2] = 2;	return 0;}vytiskni_kun(){	int i,j;	for(i=0;i<5;i++)	{		for(j=0;j<5;j++)		{			printf("%2d",kun[i][j]);		}		NL;	}	NL;	NL;	return 0;}vytiskni_sachovnici(){	int i,j;	printf("   ");	for(i=0;i<8;i++)		printf("%2c ",i+'A');	NL;	printf("  +--+--+--+--+--+--+--+--+");	NL;	for(i=A;i<=H;i++)	{		printf("%d |",i);		for(j=A;j<=H;j++)		{			printf("%2d|",sachovnice[i][j]);		}		NL;		printf("  +--+--+--+--+--+--+--+--+");		NL;	}	NL;	NL;	return 0;}vynuluj_sachovnici(){	int i,j;	for(i=A;i<=H;i++)		for(j=A;j<=H;j++)			sachovnice[i][j] = 0;	return 0;}tahni_kun(int pozice[2],int tah){	int i,j;	for(i=-2;i<=2;i++)	{		for(j=-2;j<=2;j++)			if((pozice[1]+j <= H)&&(pozice[1]+j >= A)&&(pozice[0]+i >= A)&&(pozice[0]+i<=H))			{				if(sachovnice[pozice[1]+j][pozice[0]+i]==0&&kun[j+2][i+2]==1)				{				  sachovnice[pozice[1]+j][pozice[0]+i] = tah;				}			}	}}int main(){	int i,j;	FILE *f;	int pom=1,end=0;	char buff;	vynuluj_sachovnici();	vynuluj_kun();	nastav_kun();		f = fopen("pozice.txt","r");	pozice[0]=pozice[1]=0;	while((buff=fgetc(f))!=EOF)	{		if(buff>='A'&&buff<='H') pozice[0]=buff-'A'+1;		else if(buff>='a'&&buff<='h') pozice[0]=buff-'a'+1;		if(buff>='0'&&buff<='8') pozice[1]=buff-'0';	}	if(pozice[0]==0||pozice[1]==0)	{		printf("neplatne souradnice\nukoncuji.....\n");		return 1;	}	tahni_kun(pozice,pom);	while(!end)	{				for(i=1;i<8;i++)			for(j=1;j<8;j++)				if(sachovnice[j][i]==pom)				{					pozice[0] = i;					pozice[1] = j;					tahni_kun(pozice,pom+1);				}		pom++;		end=1;		for(i=1;i<8;i++)			for(j=1;j<8;j++)				if(sachovnice[j][i]==0) end=0;		}		vytiskni_sachovnici();return 0;}