Προς το περιεχόμενο

C πρόβλημα με αναδρομή


marsel

Προτεινόμενες αναρτήσεις

Δημοσ.

 

Ναι έχεις δίκιο ξέχασα να το αλλάξω, όταν έγραψα το άρθρο, στον κώδικα μου το έχω διορθώσει.

 

Από δοκιμές που έκανα το πρόγραμμα σκάει στο 4ο if, αλλά δεν βλέπω κάποιο λάθος.

 

>
void recursiveWay(int** matrix,int row,int column,int* cntr,int* ball)

{

int number = matrix[row][column];
int flag = *cntr;
printf("flag : %d\n",flag);

	if (*cntr !=1)

	{

		if(matrix[row-1][column] == number)

		{

			*cntr = 4;
			printf("cntr : %d\n",*cntr);

			recursiveWay(matrix, (row-1), column, cntr, ball);

			*cntr = flag;
			printf("cntr : %d\n",*cntr);

		}

	}

	if (*cntr !=3)

	{

		if(matrix[row][column-1] == number)

		{

			*cntr = 2;
			printf("cntr : %d\n",*cntr);

			recursiveWay(matrix, row, (column-1), cntr, ball);

			*cntr = flag;
			printf("cntr : %d\n",*cntr);

		}

	}

	if (*cntr !=2)

	{

		if(matrix[row][column+1] == number)

		{			

			*cntr = 3;
			printf("cntr : %d\n",*cntr);

			recursiveWay(matrix, row, (column+1), cntr, ball);

			*cntr = flag;
			printf("cntr : %d\n",*cntr);

		}

	}

	/*if (*cntr !=4)						//edw skaei

	{

		if(matrix[row+1][column] == number)

		{

			*cntr = 1;
			printf("cntr : %d\n",*cntr);

			recursiveWay(matrix, (row+1), column, cntr, ball);

			*cntr = flag;
			printf("cntr : %d\n",*cntr);

		}

	}*/

matrix[row][column]=0;
deleteItem(matrix, row, column);
*ball = (*ball-1);
printf("balloons: %d\n",(*ball));

}

 

Παραθέτω και τον διορθωμένο κώδικα ως τώρα.

Ως έχει δηλαδή χωρίς το 4ο if δουλεύει αλλά δεν κινείται προς τα κάτω,μόνο πάνω,δεξιά και αριστερά.

 

Βαλε breakpoint.. :-)

Δημοσ.

Ευχαριστώ για τις απαντήσεις παιδιά, τελικά το διόρθωσα, αλλά ακόμα κάπου κάπου βγάζει κανένα bug.

Αν κάποιος ξέρει και ενδιαφέρεται να φτιάξει ένα γραφικό περιβάλλον για το παιχνίδι (δεν είναι μέρος της εργασίας, for fun) ας μου στείλει ένα p.m.

να του στείλω τον κώδικα του παιχνιδιού.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...