Sudavar Δημοσ. 9 Μαρτίου 2011 Δημοσ. 9 Μαρτίου 2011 Κάθε αριθμός στον ναρκαλιευτή δηλώνει τον αριθμό των ναρκών που υπάρχουν στα γειτονικά τετράγωνα (σε μήκος 1 τετράγωνο), δλδ: 0000000 0000000 0011100 001*100 0011100 0000000 0000000 εδώ υπάρχει μία νάρκη και γύρω της τα (δεξιά/αριστερά/διαγώνια πάνω δεξιά/κλπ κλπ) τετραγωνάκια έχουν τον αριθμό 1 για να "δείξουν" αυτή την νάρκη. Όσα έχουν 0 από την άλλη, δεν έχουν γύρω τους νάρκη (μπορούν να έχουν όμως αριθμούς). Είχαμε υλοποιήσει σε C ναρκαλιευτή. Η λογική μας ήταν πιο απλή, αν τα γειτονικά είναι κενά, με αναδρομή πυροδοτούσαμε και αυτα... με τη σειρά τους έκανα το ίδιο. Αν σε βοηθάει http://trac6.assembl...ser/Minesweeper Το είχαμε φτιάξει με την εξής λογική. Όταν είναι κενά τα κουτάκια και δεν έχουν "πατηθεί" έχουν την δίεση # ως περιεχόμενο. Μόλις "πατηθεί" κάποιο τετραγωνάκι γίνονται τα εξής: 1) Αν είναι αριθμός τότε εμφάνισε τον. 2) Αν είναι νάρκη τότε έχασες . 3) Αν είναι "κενό" δλδ έχει #, τότε ξεκινάει μια αναδρομή για κάθε γειτονικό τετράγωνο όπου γίνεται έλεγχος για αυτές τις 3 περιπτώσεις. Μόλις τελειώσει η αναδρομή κάνε την # -> 0 και εμφάνισε το. P.S. Δοκίμασα το παραπάνω "cheat" και δεν λειτούργησε σε win7.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.