Title: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: MrRobot on November 26, 2017, 23:21:26 pm Σχόλια και απορίες σχετικά με το δεύτερο μέρος της εργασίας DS - Pac Man
Η εκφώνηση βρίσκεται εδώ (http://alexander.ee.auth.gr:8083/eTHMMY/archive/46/downloadFile/7043/ds-project-2017-18-B.pdf) και είναι κοινή και για το τρίτο και για το πέμπτο εξάμηνο. Η διορία υποβολής της εργασία και της απαιτούμενης αναφοράς είναι στις 15/12/17 23:59 Προσοχή: Κώδικες οι οποίοι είναι σωστοί και έχουν ανέβει πριν την λήξη των υποβολών της εργασίας θα διαγράφονται δίχως προειδοποίηση. Το ίδιο ισχύει και για τις αναφορές. Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: Professor on November 28, 2017, 19:33:39 pm στην δευτερη εργασια ποσους constructors χρειαζεται να κανουμε?
moved by mod, λιγη προσοχη στα τοπικ που ποσταρουμε Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: leukosaraphs! on November 29, 2017, 22:56:03 pm στην δευτερη εργασια ποσους constructors χρειαζεται να κανουμε? δεν υπαρχει σωστος αριθμος κι λαθος, εσυ κανεις την εργασια οπως θες. Θες να καλεις την node με εναν τροπο, τοτε κανε εναν constructor, θες καπου να κανεις μια δευτερη "μορφη" κανε κι δευτερο constructor κλπ Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: RioCompiler on December 01, 2017, 23:47:00 pm Έχει ολοκληρώσει κανείς την εργασία? Κάποια tips για τη συνάρτηση evaluate() μέσα στη norm?
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: terzmich on December 02, 2017, 21:44:35 pm Tις συναρτήσεις της κλάσεις Node μπορώ να τις αλλαξω απο private -> public ?
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: trabakoulas on December 02, 2017, 21:48:34 pm Στην calculateNextPacmanPosition η currPosition δεν υποτίθεται ότι δείχνει την αρχική θέση του Pacman;Γιατί είναι μιας διάστασης και όχι δύο; :-\
Edit:άκυρο το βρήκα Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: trabakoulas on December 03, 2017, 17:35:58 pm Παιδιά ξέρει κανείς πως στέλνουμε πίνακα από μια κλάση σε άλλη;
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: ElectroV on December 04, 2017, 00:26:08 am Δηλαδή σε αυτή την εργασία έχουμε να κάνουμε και το ΑrrayList στην calculateNextPacmanPosition και τις συναρτήσεις της Node ?
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: leukosaraphs! on December 04, 2017, 00:42:39 am Παιδιά ξέρει κανείς πως στέλνουμε πίνακα από μια κλάση σε άλλη; αυτος ο πινακας, θα υπολογιζετε μεσα σε μια συναρτηση της κλασης Α ? Αν ναι, τοτε κανεις import την κλαση Α στην κλαση Β, κι εκει (στην κλαση Β) μπορει να φτιαξεις αντικειμενα της import κλασης! κι μετα κανονικα την καλεις πχ αν εχεις μια κλαση ΝodeXXXX , στην κλαση creature τοτε θα εχεις Code: import gr.auth.ee.dsproject.node.NodeΧΧΧΧ; κι αν η συναρτηση σου λεγεται ArrayPos() και το αντικειμενο MyNode(τυπου NodeXXXX) , τοτε θα εχεις Code: MyNode.ArrayPos() Δεν ξερω αν βοηθησα Δηλαδή σε αυτή την εργασία έχουμε να κάνουμε και το ΑrrayList στην calculateNextPacmanPosition και τις συναρτήσεις της Node ? στο περιπου... εχεις να κανεις τις συναρτησεις την Node και να χρησιμοποιησεις την ArrayList στην calculateNextPacmanPosition. Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: DEVRIM on December 04, 2017, 13:29:47 pm Νέα έκδοση της πλατφόρμας της Β εργασίας.
4 Δεκ 2017 11:36 πμ Τσάπανος Στο υλικό μαθήματος έχει ανένει νέα έκδοση της εργασίας στην οποία έχει γίνει στην κλάση Node import το πακέτο gr.auth.ee.dsproject.pacman.*; ώστε να μπορείτε να χρησιμοποιήσετε τις κλάσεις του. Επίσης έχει γίνει κάποιες διορθώσεις σε κάποιες μεταβλητές ώστε να συμφωνούν με την εκωνηση. Για να χρησιμοποιήσετε την νέα έκδοση ακολουθείτε τα βήματα που ακολουθούσατε μέχρι τώρα, απλώς, αν έχετε ήδη γράψει κώδικα για την εργασία θα πρέπει να τον κάνετε copy paste στην νέα έκδοση. Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: trabakoulas on December 04, 2017, 16:51:22 pm @leukosaraphs!
Συγκεκριμένα πως μπορούμε να χρησιμοποιήσουμε τη Maze της Creature,στη Node;Έχει νόημα αυτό που λέω ή το προσεγγίζω λάθος; Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: leukosaraphs! on December 04, 2017, 16:57:36 pm @leukosaraphs! Συγκεκριμένα πως μπορούμε να χρησιμοποιήσουμε τη Maze της Creature,στη Node;Έχει νόημα αυτό που λέω ή το προσεγγίζω λάθος; ουσιαστικα η νεα εκδοση για αυτο βγηκε! για να μπορεις να παρεις τις συναρτησεις την creature στην Node. δοκιμασε με τον κωδικα, και πες μου. Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: anestisv on December 04, 2017, 19:35:07 pm Για τον αριθμό των σημαιών γνωρίζουμε κάτι; (ρωτάω για το μέγεθος των πινάκων)
Πχ, υπάρχει μεταβλητή numberOfFlags όπως στα φαντάσματα; Να πάρουμε ότι πάντα θα έχει 4; Ή να θεωρήσουμε τον αριθμό τους άγνωστο; Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: RioCompiler on December 04, 2017, 19:45:59 pm Μετα τις 400 γραμμές κώδικα μέσα στη Node να ανησυχήσω?
Εδιτ: 479 και ο κώδικας δουλεύει. Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: chasiotis on December 05, 2017, 01:45:11 am Παιδιά στη Node πρέπει να αξιολογούμε την κάθε κίνηση και μετα στη συνάρτηση calculateNextPacmanPosition να διαλέγουμε την καλύτερη πιθανη κινηση ;
Η Node δλδ θα επιστρέφει ένα αριθμό που θα αντιπροσοπεύει ποσο καλή είναι η κινηση ; Και αν πρέπει να αξιολογίσουμε όλες τις πιθανές κινήσεις ,γιατί στην calculateNextPacmanPosition εχει random ; Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: anestisv on December 05, 2017, 11:37:33 am Παιδιά στη Node πρέπει να αξιολογούμε την κάθε κίνηση και μετα στη συνάρτηση calculateNextPacmanPosition να διαλέγουμε την καλύτερη πιθανη κινηση ; Η Node δλδ θα επιστρέφει ένα αριθμό που θα αντιπροσοπεύει ποσο καλή είναι η κινηση ; Και αν πρέπει να αξιολογίσουμε όλες τις πιθανές κινήσεις ,γιατί στην calculateNextPacmanPosition εχει random ; Έτσι νομίζω. Το random το είχε από πριν, αυτό που θα γράψουμε θα το αντικαταστήσει. Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: thanosthehuge on December 05, 2017, 16:38:58 pm Γενικά οποίοι την ολοκληρώσατε, ποιο είναι το ποσοστό σας των περιπτώσεων που νικάει ο PacMan παίρνοντας όλες τις σημαίες? Διότι αν και ο κώδικας μου δουλεύει και έχω βάλει αρκετες συνθήκες να ελέγχονται, τα φαντασματακια είναι πολύ τσιτακια και στο 99% των περιπτώσεων τον πιάνουν τον PacMan (εάν δεν μπούνε σε ατερμων βρόγχο που επαναλαμβάνουν συνεχώς τις ίδιες κινήσεις...)! Με λίγα λόγια, υπάρχει "τέλεια" υλοποιήση στην οποία πάντα νικάει ο PacMan ή να μην το πιέζω το θέμα?
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: leukosaraphs! on December 05, 2017, 16:51:14 pm Γενικά οποίοι την ολοκληρώσατε, ποιο είναι το ποσοστό σας των περιπτώσεων που νικάει ο PacMan παίρνοντας όλες τις σημαίες? Διότι αν και ο κώδικας μου δουλεύει και έχω βάλει αρκετες συνθήκες να ελέγχονται, τα φαντασματακια είναι πολύ τσιτακια και στο 99% των περιπτώσεων τον πιάνουν τον PacMan (εάν δεν μπούνε σε ατερμων βρόγχο που επαναλαμβάνουν συνεχώς τις ίδιες κινήσεις...)! Με λίγα λόγια, υπάρχει "τέλεια" υλοποιήση στην οποία πάντα νικάει ο PacMan ή να μην το πιέζω το θέμα? ειναι τετοια η υλοποιηση των φαντασματων που εχει δοθει, που το ποσοστο νικων δεν μπορει να ειναι μεγαλο. Δηλαδη, πρεπει κι να εισαι λιγο τυχερος για το πως θα στηθουν τα φαντασματακια αλλα κι εσυ (κοντα ή μακρια απο flag). Τουλαχιστον απο αυτα που εχω δει εως τωρα, παιρνεις πολυ συχνα τις 2 σημαιες, πιο σπανια την 3η και αρκετα σπανια να παρεις 4. Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: thanosthehuge on December 05, 2017, 17:27:48 pm ειναι τετοια η υλοποιηση των φαντασματων που εχει δοθει, που το ποσοστο νικων δεν μπορει να ειναι μεγαλο. Δηλαδη, πρεπει κι να εισαι λιγο τυχερος για το πως θα στηθουν τα φαντασματακια αλλα κι εσυ (κοντα ή μακρια απο flag). Τουλαχιστον απο αυτα που εχω δει εως τωρα, παιρνεις πολυ συχνα τις 2 σημαιες, πιο σπανια την 3η και αρκετα σπανια να παρεις 4. Αυτό ακριβώς, συνήθως μετά τις 2 είτε τρώγεται ο ΠακΜαν, είτε στοιχίζονται τα φαντάσματα σε μια σειρά και πάνε πέρα δώθε ατελείωτα! Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: Professor on December 05, 2017, 17:51:25 pm Γινεται καποιος να μου εξηγησεις το grading system για την evaluation? δηλαδη κανεις του ελεγχους πχ για τους τοιχους. Τι περιπου θα παίρνει η μεταβλητη evaluation?
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: RioCompiler on December 05, 2017, 18:22:27 pm Στη δικη μου περίπτωση απλα είχα evaluation++ στους ελέγχους, και όταν υπήρχε τοίχος ή φάντασμα -100 και return για να μην γίνουν άλλοι ελέγχοι
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: Mandalorian on December 06, 2017, 14:53:34 pm Ο constructor Node τι ακριβως πρεπει να δημιουργει;
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: mpuras on December 06, 2017, 18:19:20 pm Γινεται καποιος να μου εξηγησεις το grading system για την evaluation? δηλαδη κανεις του ελεγχους πχ για τους τοιχους. Τι περιπου θα παίρνει η μεταβλητη evaluation? Στο φυλλάδιο γράφει να γίνεται αξιολόγηση για τις διαθέσιμες κινήσεις του pacman.Αν βρίσκει σε τοίχο είναι άκυρη κίνηση οπότε δεν χρείαζεται να την αξιολογήσεις.Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: trabakoulas on December 09, 2017, 22:15:28 pm Στην κλάση node η currentGhostPos υποτίθεται ότι περιέχει ήδη τις θέσεις των φαντασμάτων,έτσι;
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: Prison Mike on December 10, 2017, 00:25:58 am Στο φυλλάδιο γράφει να γίνεται αξιολόγηση για τις διαθέσιμες κινήσεις του pacman.Αν βρίσκει σε τοίχο είναι άκυρη κίνηση οπότε δεν χρείαζεται να την αξιολογήσεις. Η μπορείς να την αξιολογήσεις με την χαμηλότερη βαθμολογία την κίνηση αυτή! Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: leukosaraphs! on December 10, 2017, 01:47:57 am Η μπορείς να την αξιολογήσεις με την χαμηλότερη βαθμολογία την κίνηση αυτή! Μα ειναι καλη τεχνικη προγραμματιστικα, να μην την λαμβανεις καν υποψιν. ;) δειχνεις οτι ξερεις τι πας να κανεις Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: Oumuamua on December 11, 2017, 20:28:15 pm μου βγάζει error στο calculateNextPacmanPosition όταν πάω να σετάρω την nodeX. Συγκεκριμένα λέει Exception in thread "Thread-2" java.lang.NullPointerException at gr.auth.ee.dsproject.pacman.Creature.calculateNex tPacmanPosition(Creature.java:39). Καμιά ιδέα ; :-\
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: leukosaraphs! on December 11, 2017, 20:57:40 pm μου βγάζει error στο calculateNextPacmanPosition όταν πάω να σετάρω την nodeX. Συγκεκριμένα λέει Exception in thread "Thread-2" java.lang.NullPointerException at gr.auth.ee.dsproject.pacman.Creature.calculateNex tPacmanPosition(Creature.java:39). Καμιά ιδέα ; :-\ χωρις να ξερω τι κανεις :Ρ αυτο το error σημαινει οτι η αρχικοποιηση που κανεις ειναι ανεπιτυχης, κι πας μετα να το χρησιμοποιησεις καπου χωρις να εχει τιμη. Ελεγξε αν αυτο που επηρεαζεις ειναι private στην μια κλαση , αρα θες getter. Επισης, τωρα που το σκεφτομαι, το nodeX ειναι της κλασης NodeXXXXXXXX , αρα για να "δημιουργηθει" πρεπει να καλεστει ο constructor της NodeXXXXXXXX , ετσι ωστε η μεταβλητη να πιασει καποιον χωρο στην μνημη. Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: Frenzyx on December 11, 2017, 21:55:24 pm μου βγάζει error στο calculateNextPacmanPosition όταν πάω να σετάρω την nodeX. Συγκεκριμένα λέει Exception in thread "Thread-2" java.lang.NullPointerException at gr.auth.ee.dsproject.pacman.Creature.calculateNex tPacmanPosition(Creature.java:39). Καμιά ιδέα ; :-\ Και εμενα μου βγαζει ακριβως το ιδιο error, και πραγματικα δε μπορω να βρω που εχω λαθος... Αν ετυχε και σε καποιον αλλο το συγκεκριμενο error και το ελυσε ας μιλησει!Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: Oumuamua on December 11, 2017, 22:02:00 pm Και εμενα μου βγαζει ακριβως το ιδιο error, και πραγματικα δε μπορω να βρω που εχω λαθος... Αν ετυχε και σε καποιον αλλο το συγκεκριμενο error και το ελυσε ας μιλησει! το έλυσα και το πρόβλημα ήταν ότι δεν είχα ορίσει σωστά τις μεταβλητές στον constructor. Δες επίσης και αυτό που ανέφερε ο leukosaraphs!. btw ευχαριστώ :) :)Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: giorgossykas on December 12, 2017, 00:06:36 am Για το :
Exception in thread "Thread-2" java.lang.NullPointerException at gr.auth.ee.dsproject.pacman.Creature.calculateNex tPacmanPosition(Creature.java:39) το εβγαζε και σε μενα δες αν εχεις ορισει το μεγεθος ολων των πινακων στη NodeXXXXYYYY Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: Frenzyx on December 12, 2017, 01:32:45 am Ενταξει το ελυσα, δεσμευα μνημη για τους πινακες μεσα στον κενο constructor, αλλα για καποιον λογο αυτο δε δουλευει και ηθελε η μνημη να δεσμευτει στην αρχη-αρχη του class, εκει που γινονται ολες οι δηλωσεις.
Τωρα το γιατι ειναι ετσι δε το ξερω, θα ρωτησω μαλλον τον Τσαπανο στο εργαστηριο. Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: TwilightSparkle on December 12, 2017, 15:02:26 pm σε εμένα ο πακμαν παει σε μια θεση και απλα περιμενει τα φαντασματα να τον πιασουν...ουσιαστικα ο,τι αξιολογηση και ελεγχο εχω κανει απλα τον προσπερναει!εχω την υπονοια πως τρεχει μονο η calculateNextGhostPos γιατι παει παντα στη θεση 0,0
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: northmc on December 14, 2017, 06:16:13 am NodeX, NodeY είναι η αρχική θέση ή μετά τη μετακίνηση;;;;;;
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: Mandalorian on December 14, 2017, 12:05:52 pm NodeX, NodeY είναι η αρχική θέση ή μετά τη μετακίνηση;;;;;; Ειναι η πιθανη επομενη θεση καθε φορα Ο constructor της Node τι ακριβως κανει οταν τον καλουμε; Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: leukosaraphs! on December 14, 2017, 12:59:51 pm Δινει τιμες στα στοιχεια της κλασης σου.
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: eceman on December 15, 2017, 02:35:16 am Υπάρχει τρόπος να καλέσεις την evaluate μεσα στην creature, χωρίς να την κάνεις public και αφήνωντας την ως private?
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: leukosaraphs! on December 15, 2017, 02:37:04 am μπορεις να εχεις προσβαση στην nodeEvaluation, μεσω ενος getter
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: ElectroV on December 15, 2017, 08:09:58 am Παιδιά ακόμα και μετά το upload του νέου code δεν έχω πρόσβαση στη Maze στη Node. Τι μπορεί να γίνεται;
Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: afro on December 15, 2017, 10:46:01 am Παιδιά ακόμα και μετά το upload του νέου code δεν έχω πρόσβαση στη Maze στη Node. Τι μπορεί να γίνεται; Έχεις βάλει ως όρισμα,στις μεθόδους που χρησιμοποιείς τη Maze, ένα πίνακα τύπου Room?π.χ.Room[][]MazeTitle: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: ElectroV on December 15, 2017, 11:09:04 am Έχεις βάλει ως όρισμα,στις μεθόδους που χρησιμοποιείς τη Maze, μια μεταβλητή τύπου Room?π.χ.Room[][]Maze αυτό δεν είχα κάνει.. ευχαριστώ :)Title: Re: [Δομές Δεδομένων] Εργασία B 2017/2018 Προθεσμία 15/12/17 Post by: eceman on December 15, 2017, 14:53:26 pm μπορεις να εχεις προσβαση στην nodeEvaluation, μεσω ενος getter Ωραίος, ευχαριστώ!! |