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

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

Δημοσ.

Καλημέρα σε όλους

Λοιπόν παιδιά έχω κάνει τρίλιζα για iphone, αλλά υπάρχει ένα πρόβλημα όταν ο παίκτης σχηματίζει τριάδα διαγώνια.

 

Για κάθετα και οριζόντια η υλοποίηση για τη νίκη έχει ως εξής.

Έχω δύο πίνακες (μεγέθους 3) που κρατάνε για τη κάθε γραμμή και τη κάθε στήλη αντίστοιχα, τη συχνότητα εμφάνισης των θέσεων των στοιχείων.

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

 

Μπορεί κάποιος να μου πει έναν αλγόριθμο βασισμένο στη παραπάνω λογική και για τα διαγώνια στοιχεία;

Δημοσ.

Για zero-based indices, τα διαγωνια του Χ(i, j) ειναι:

Πανω-αριστερα (i-1, j-1)

Πανω-δεξια (i-1, j+1)

Κατω-αριστερα (i+1, j-1)

Κατω-δεξια (i+1, j+1)

 

Βεβαια στην τριλιζα σε νοιαζουν μονο τα διαγωνια του μεσαιου κουτιου Ο(1, 1)

δηλαδη τα, (0, 0), (0, 2), (2, 0), (2, 2)

Δημοσ.

Μήπως απλά να άλλαζες την αναπαράσταση που χρησιμοποιείς γιατί απλά δε βολεύει;

 

Αν κάποια στιγμή κάνεις ένα σχεδιαστικό λάθος και βλέπεις μετά ότι συναντάς προβλήματα, η λύση είναι να γυρίσεις πίσω, να βρεις την αιτία (το λάθος) και να το διορθώσεις -- όχι να προχωρήσεις σε patches.

Δημοσ.

Μήπως απλά να άλλαζες την αναπαράσταση που χρησιμοποιείς γιατί απλά δε βολεύει;

 

Αν κάποια στιγμή κάνεις ένα σχεδιαστικό λάθος και βλέπεις μετά ότι συναντάς προβλήματα, η λύση είναι να γυρίσεις πίσω, να βρεις την αιτία (το λάθος) και να το διορθώσεις -- όχι να προχωρήσεις σε patches.

 

defacer τι ακριβώς εννοείς;

Αυτό που σκέφτηκα βολεύει, και μάλιστα πολύ, στα στις 6 από τις 8 περιπτώσεις που υπάρχουν για να νικήσει κάποιος σε αυτό το παιχνίδι.

 

Τελικά για τα διαγώνια στοιχεία, το πρόβλημα λύθηκε με τον πιο απλό και κατα τη γνώμη μου κάπως χαζό τρόπο.

Δε μου αρέσει και για αυτό δεν τον γράφω. Τουλάχιστον λείτουργεί.

 

Σας ευχαριστώ όλους για τη βοήθειά σας.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...