#include "stdio.h"
int ancho=0,largo,robotx=0,roboty=0,comidax=0,comiday=0,show=0,error=0,confirmadox=0;
int confirmadoy=0,giro=0,direc=0,x=0,y=0, prefx=0, prefy=0,mostrar=1,cerrar;
char direccion[1]; char continuar[2];
int main(){
while(cerrar==0){
if(mostrar==1){
printf("Ancho del cuarto (X): ");
scanf("%d",&ancho);
printf("Largo del cuarto (Y): ");
scanf("%d",&largo);
do{
printf("X del robot: ");
scanf("%d",&robotx);}
while (robotx>ancho||robotx<0);
do{
printf("Y del robot: ");
scanf("%d",&roboty);}
while (roboty>largo||roboty<0);
}
if (mostrar==0){
printf("\n------------------------------------\nsi=si\tno=no\nDesea seguir comiendo?:");
scanf("%s",continuar);
if(strcmp(continuar,"si")==0){
prefx=0;prefy=0;robotx=comidax; roboty=comiday;confirmadox=0;confirmadoy=0; cerrar=0;
}
else{cerrar=1;}
}
if(cerrar==0){
mostrar=0;
do{
printf("X de la comida: ");
scanf("%d",&comidax);}
while (comidax>ancho||comidax<0);
do{
printf("Y de la comida: ");
scanf("%d",&comiday);}
while (comiday>largo||comiday<0);
do{
printf("\nn=norte\ts=sur\te=este\to=oeste\nHacia a donde observa el robot: ");
scanf("%s",direccion);
getchar();
if(strcmp(direccion,"n")==0){error=1;direc=1;}
else{
if(strcmp(direccion,"s")==0){error=1;direc=-1;}
else{
if(strcmp(direccion,"e")==0){error=1;direc=2;}
else{
if(strcmp(direccion,"o")==0){error=1;direc=-2;}
else{
error=0;
}
}
}}
}while(error==0);
if(comidax>robotx)
{
x=2;
}
if(comidax<robotx)
{
x=-2;
}
if(comiday>roboty)
{
y=1;
}
if(comiday<roboty)
{
y=-1;
}
if(comidax==robotx&&comiday==roboty){
printf("\nComer\n");
}
if(x==direc){
prefx=1;
}
if((direc+x)==0){giro=1;printf("\nGire 180 grados\n");prefx=1;}
if(y==direc){
prefy=1;
}
if((direc+y)==0){giro=1;printf("\nGire 180 grados\n");prefy=1;}
if(prefx==1){
confirmadox=1;
if(comidax>robotx)
{
if (confirmadoy==1){printf("\nGira 90 grados hacia el este\n");}
printf("\n%d pasos hacia el este\n",comidax-robotx);
}
if(comidax<robotx)
{
if (confirmadoy==1){printf("\nGira 90 grados hacia el oeste\n");}
printf("\n%d pasos hacia el oeste\n",robotx-comidax);
}
if(comiday>roboty)
{
if (confirmadox==1){printf("\nGira 90 grados hacia el norte\n");}
printf("\n%d pasos hacia el norte\n",comiday-roboty);
}
if(comiday<roboty)
{
if (confirmadox==1){printf("\nGira 90 grados hacia el sur\n");}
printf("\n%d pasos hacia el sur\n",roboty-comiday);
}
}
else{
if(prefy==1){
confirmadoy=1;
if(comiday>roboty)
{
if (confirmadox==1){printf("\nGirar 90 grados hacia el norte\n");}
printf("\n%d pasos hacia el norte\n",comiday-roboty);
}
if(comiday<roboty)
{
if (confirmadox==1){printf("\nGirar 90 grados hacia el sur\n");}
printf("\n%d pasos hacia el sur\n",roboty-comiday);
}
if(comidax>robotx)
{
if (confirmadoy==1){printf("\nGirar 90 grados hacia el este\n");}
printf("\n%d pasos hacia el este\n",comidax-robotx);
}
if(comidax<robotx)
{
if (confirmadoy==1){printf("\nGirar 90 hacia el este\n");}
printf("\n%d pasos hacia el oeste\n",robotx-comidax);
}
}
}
}
}
}