What I'm trying to do is print a 20 by 20 grid of dashes, except for one location that is a letter. My problem is that this has become an infinite loop, that prints nothing. Any suggestions?
Code:
main ()
{
int horizontalSpaces = 0, selectedOption = 0, direction = 0, verticalSpaces = 0, stateOfIgnition = 0,
currentHorizontalPosition = 0, currentVerticalPosition = 0;
char color = ' ';
char ColorAssignment(color);
printf("%c\n", color);
srand (time (NULL));
(currentHorizontalPosition = 1 + (rand () % 20));
(currentVerticalPosition = 1 + (rand () % 20));
printf("Position : %d, %d\n", currentHorizontalPosition, currentVerticalPosition);
IgnitionOff (stateOfIgnition);
StateOfCar (color, currentHorizontalPosition, currentVerticalPosition, stateOfIgnition);
/* COLOR ASSIGNMENT*/
char ColorAssignment(char color)
{
srand (time (NULL));
switch ( rand() % 5 )
{
case 0: color = 'R';
break;
case 1: color = 'G';
break;
case 2: color = 'B';
break;
case 3: color = 'W';
break;
case 4: color = 'S';
break;
}
return color;
}
/* State Of Car*/
void StateOfCar (int stateOfIgnition, int currentHorizontalPosition, int currentVerticalPosition, char color)
{
int horizontalGrid = 0, verticalGrid = 0;
printf("\nCar stats:\n\n");
printf("color: %c\n", color);
if (stateOfIgnition = 0)
printf("Ignition: On\n");
else printf("Ignition: Off\n");
printf("Position:%d, %d\n", currentHorizontalPosition, currentVerticalPosition);
/* prints grid and location of car on grid*/
{
while ((verticalGrid <= 20) && (horizontalGrid <= 20))
if ((horizontalGrid = currentHorizontalPosition) && (verticalGrid = currentVerticalPosition)){
printf ("%c", color);
(horizontalGrid = (horizontalGrid + 1)) ;}
else if (horizontalGrid = 20){
printf("\n");
horizontalGrid = 0;
verticalGrid++;
}
else {
printf("-");
horizontalGrid++;
}}
return;
}