Δημιουργία δέσμης ενεργειών για το άνοιγμα της λαβύρινθο του :
δημόσια τάξη Maze { ιδιωτικού int N ? Ιδιωτικού boolean [ ] [ ] βόρεια? Ιδιωτικού boolean [ ] [ ] ανατολικά? Ιδιωτικού boolean [ ,"Odi̱gíes
I̱ 1
Di̱miourgía désmi̱s energeió̱n gia to ánoigma ti̱s lavýrintho tou :̱
di̱mósia táxi̱ Maze { idio̱tikoú int N ?̱ Idio̱tikoú boolean [ ] [ ] vóreia?̱ Idio̱tikoú boolean [ ] [ ] anatoliká?̱ Idio̱tikoú boolean [ ] [ ] νότια? ιδιωτικού boolean [ ] [ ] δυτικά ? ιδιωτικού boolean [ ] [ ] επισκέφθηκε ? ιδιωτικού διπλάσιο μέγεθος ? ιδιωτικού boolean done = false?
δημόσια Maze ( int N) { this.N = Ν ? StdDraw.setXscale ( 0 , N +2 ) ? StdDraw.setYscale ( 0 , N +2 ) ? init ( ) ? παράγουν ( ) ? } 2
Καθιερώστε μια δικλείδα ασφαλείας που εμποδίζει το πρόγραμμα από την αναθεώρηση κυττάρων : private void init ( ) { //αρχικοποίηση των συνόρων κυττάρων όπως έχει ήδη visitedvisited = νέα boolean [ N +2 ] [ Ν +2 ] ? για ( int x = 0 ? x <Ν +2 ? x + + ) επισκέφτηκαν [ x ] [ 0 ] = επισκέφθηκε [ x ] [ N +1] = true ? για ( int y = 0 ? y <Ν +2 ? y + + ) επισκέφτηκαν [ 0 ] [ y ] = επισκέφθηκε [ N +1 ] [ y ] = αλήθεια?
εικόνων 3
Καθιέρωση όλα τα κύτταρα στο λαβύρινθο των παρόντων ://προετοιμάσει όλα τα κύτταρα , όπως presentnorth = νέα boolean [ Ν +2 ] [ Ν +2 ] ? ανατολικά = νέα boolean [ Ν +2 ] [ Ν +2 ] ? νότια = νέα boolean [ N +2 ] [ Ν +2 ] ? δυτικά = νέα boolean [ N +2 ] [ Ν +2 ] ? για ( int x = 0 ? x Ν +2 ? x + + ) για ( int y = 0 ? y <Ν +2 ? y + + ) βόρεια [x ] [ y ] = ανατολικά [ x ] [ y ] = νότια [ x ] [ y ] = δυτικά [x ] [ y] = true ? }
Η 4
Συμπεριλάβετε γραμμές παραγωγής λαβύρινθο του κώδικα : private void παράγουν ( int x , int y ) { επισκέφθηκε [ x ] [ y] = true ?
, ενώ (επίσκεψη [ x ] [ y +1 ]
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα