gtroza Δημοσ. 14 Απριλίου 2010 Δημοσ. 14 Απριλίου 2010 το *cntr == 4;είναι λάθος φυσικά. ο αγώνας μου τώρα δικαιώνεται ! .
Evgenios1 Δημοσ. 14 Απριλίου 2010 Δημοσ. 14 Απριλίου 2010 Ναι έχεις δίκιο ξέχασα να το αλλάξω, όταν έγραψα το άρθρο, στον κώδικα μου το έχω διορθώσει. Από δοκιμές που έκανα το πρόγραμμα σκάει στο 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..
marsel Δημοσ. 14 Απριλίου 2010 Μέλος Δημοσ. 14 Απριλίου 2010 Ευχαριστώ για τις απαντήσεις παιδιά, τελικά το διόρθωσα, αλλά ακόμα κάπου κάπου βγάζει κανένα bug. Αν κάποιος ξέρει και ενδιαφέρεται να φτιάξει ένα γραφικό περιβάλλον για το παιχνίδι (δεν είναι μέρος της εργασίας, for fun) ας μου στείλει ένα p.m. να του στείλω τον κώδικα του παιχνιδιού.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.