THMMY.gr

Μαθήματα Βασικού Κύκλου => Δομές Δεδομένων => Topic started by: lpool on November 01, 2010, 21:36:43 pm



Title: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on November 01, 2010, 21:36:43 pm
Παιδιά υλοποίησε κανείς την κλάση της πρώτης εργασίας???


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 01, 2010, 21:43:27 pm
Psaxteite oxi paizoume...

Sigoura kamposoi exoume arxisei prokoph de vlepw pantws...  :-\


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on November 01, 2010, 21:49:34 pm
Όποιος το προχωρήσει ας πει για να συγκρίνουμε-ανταλλάξουμε ιδέες!!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on November 05, 2010, 16:07:07 pm
Στην εκφωνηση κανει λογο για την κλαση Color η οποία βρίσκεται στον καταλογο java.awt

Εγω δεν βρηκα ουτε τον καταλογο, ουτε την κλαση. Ξερει κανεις μηπως τι παιζει?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Salvation on November 05, 2010, 16:28:16 pm
Πώς δεν υπάρχει?
http://www.geom.uiuc.edu/~daeron/docs/apidocs/java.awt.Color.html


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on November 05, 2010, 16:30:31 pm
Α πρεπει να την κανουμε import..... Γιατι δεν το ελεγε απ'την αρχη ας πουμε.... Εγω νομιζα οτι θα ειναι μια απ΄τις κλασεις που εχει γραψει μονο για το προγραμμα....

Τεσπα ευχαριστω!!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 05, 2010, 18:01:50 pm
Α πρεπει να την κανουμε import..... Γιατι δεν το ελεγε απ'την αρχη ας πουμε.... Εγω νομιζα οτι θα ειναι μια απ΄τις κλασεις που εχει γραψει μονο για το προγραμμα....

Τεσπα ευχαριστω!!

Πειτε και καποιος πως δουλευει γιατι την παλευαμε σημερα 3 ωρες και χριστο δεν καταλαβαμε.... Το μονο που καταλαβα ειναι οτι ειναι static μεταβλητες συστηματος

επομενως μπορεις να πεις

Color co =  new Colour (0,0,0);
alla den mporeis na peis
Color co = new Colour.black (γιατι αυτο ειναι το μαυρο της java και εινα ενα και μοναδικο)

Return σε τι κανει η getColor() ?Υποπτευομαι πως κατι παιζει επισης με το loop αφου δεν οριζεται πουθενα static μεταβλητη Colour.null......

Επομενως αναγκαστικα polling loop με toString() η ποιο ευκολα με getRed() ktl ktl ktl ???


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on November 05, 2010, 18:18:36 pm
εγώ από ότι κατάλαβα η κλάσση cell δεν δημιουργεί και το πιόνι άρα δεν θα βάλεις όρισμα στην Color.

Η color αλλάζει σε black white null  από την setColor συνάρτηση που σε λέει να δημιουργήσεις στην οποία εισάγεις 1 color αντικειμενο από την main σου

εσύ απλά βάλε Color color; χωρίς new και κάνε και τις συναρτήσεις


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 05, 2010, 19:07:51 pm
εγώ από ότι κατάλαβα η κλάσση cell δεν δημιουργεί και το πιόνι άρα δεν θα βάλεις όρισμα στην Color.

Η color αλλάζει σε black white null  από την setColor συνάρτηση που σε λέει να δημιουργήσεις στην οποία εισάγεις 1 color αντικειμενο από την main σου

εσύ απλά βάλε Color color; χωρίς new και κάνε και τις συναρτήσεις

Wraios.  Thanx.  ;)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 05, 2010, 22:21:10 pm
einai idea mou h mhpws den mporei na kanei return null color epeidh apla den uparxei??

dld prokalei error kata thn ektelesh : Null Pointer Error ktl ktl///// :???: :???: :???: :???: :( :( :( :(


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on November 06, 2010, 16:05:48 pm
Εμείς τί θα ανεβάσουμε σαν αρχείο 1ης εργασίας? Το Cell.java?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Salvation on November 06, 2010, 21:40:45 pm
Η κλάση που θα υλοποιήσουμε θα περιλαμβάνει main ή μόνο τη κλάση; Αν περιλαμβάνει στη main τι θα βάλουμε;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: kickass on November 06, 2010, 21:50:34 pm
γνωρίζουμε μέχρι πότε μπορούμε να παραδώσουμε την εργασία? μέχρι 12 τ μηνός είναι? είναι πολυ νώρις.. ενα εργαστηριο εχουμε κανει μονο...


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: patoho on November 06, 2010, 21:52:34 pm
3 δεκεμβριου παραδιδουμε εργασια..
12 τ μηνος νομιζω ειναι  η προθεσμια για να δηλωσεις ομαδα...


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 07, 2010, 02:40:56 am
3 δεκεμβριου παραδιδουμε εργασια..
12 τ μηνος νομιζω ειναι  η προθεσμια για να δηλωσεις ομαδα...

σωστο 3/12 και δηλωση ομαδων 12/11

οσο για την κλαση ειναι απλα μια κλαση δεν θα εχει main  (πιστευω)

το γραφω αυτο εχοντας αρχισει να γραφω αλλα χωρις γνωση του κωδικα στα αλλα αρχεια.

Αμα ενα απο τα αλλα εχει main προφανως η cell δεν εχει.....

Δειτε και την εκφωνηση : αμα γραψετε σωστα...μπλα μπλα μπλα


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on November 08, 2010, 17:14:33 pm
Δεν χρειαζεται main στην Cell. Υπαρχει main σε καποιο αλλο αρχειο. Γενικα αμα γινει η Cell σωστα το παιχνιδι παιζει κανονικα, απλά human vs human. (Το λεω γιατι εγραψα την κλαση και το δοκιμασα :P)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on November 08, 2010, 19:43:59 pm
Παιδία είναι ούτε 80 γραμμές κώδικα και παίζει κομπλέ, και δεν είναι πιο δύσκολο από τα 2 πρώτα εργαστήρια του μαθήματος


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on November 08, 2010, 19:45:29 pm
Δεν χρειαζεται main στην Cell. Υπαρχει main σε καποιο αλλο αρχειο. Γενικα αμα γινει η Cell σωστα το παιχνιδι παιζει κανονικα, απλά human vs human. (Το λεω γιατι εγραψα την κλαση και το δοκιμασα :P)

Μάγκα εμείς έχουμε ένα μικρό πρόβλημα. Μπορούμε να παίξουμε με 1 και με 2 πούλια αλλά όχι με 3. Το έχεις και εσύ αυτό? Και των 2 μας ο κώδικας το κάνει αυτό οπότε υποθέτουμε ότι έτσι είναι προγραμματισμένο


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on November 08, 2010, 20:08:54 pm
και εμένα το έκανε αλλα είχα κάνει λαθος στον κώδικα που μόλις το βρήκα και το διόρθωσα λειτούργησε κανονικά


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on November 08, 2010, 20:34:45 pm
Αρχικά τι λάθος είχες?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on November 08, 2010, 20:43:53 pm
Και γω ειχα αυτο το προβλημα. Σε μενα το προβλημα ηταν οτι δεν οριζα σωστα τα γειτονικα τετραγωνα στην getNeighbors().

Γενικα με πηρε καμποσο να καταλαβω πως σκατα οριζονται οι συντεταγμενες, αλλα αμα το καταλαβεις αυτο, εχεις τελειωσει!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on November 08, 2010, 20:46:18 pm
Είχες ακριβώς το ίδιο πρόβλημα?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on November 08, 2010, 20:48:17 pm
Είχες ακριβώς το ίδιο πρόβλημα?

Ναι το ειχα, αλλα γενικα πλεον παιζει κανονικοτατα...!!!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on November 08, 2010, 20:54:17 pm
Οταν πατάς το δεύτερο πούλι δε σου λέει select destination of marble 2? Θέλω να πω ότι δεν εχει επιλογή select marble 3. Λέει κατευθείαν destination of marble 2


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: jason_ on November 08, 2010, 20:57:00 pm
Οταν πατάς το δεύτερο πούλι δε σου λέει select destination of marble 2? Θέλω να πω ότι δεν εχει επιλογή select marble 3. Λέει κατευθείαν destination of marble 2
Δεν επιλέγεις τρία πούλια αλλά δύο όταν θες να κινήσεις τρία. Επιλέγεις δηλαδή τα δύο ακριανά της τριαδάς με προσοχή αυτό που θα επιλέξεις δεύτερο να είναι και αυτό που είναι γειτονικό με το κελί που θες να μετακινήσεις την τριάδα.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on November 08, 2010, 20:59:05 pm
και σε μένα το πρόβλημα ήταν πως είχα ορίσει τα γειτονικά λάθος...ψάξε την getneighbors σου μάλλον έχει λάθος


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on November 08, 2010, 21:01:33 pm
Οκ όλα καλά :) thnks απολιτιστε!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 10, 2010, 19:03:57 pm
Λοιπον τελικα τρεχει ολα ωραια και καλα

το προβλημα μου ειναι οτι δεν μπορω να κουνησω 3 πιονια ΠΑΡΑΛΛΗΛΑ

δλδ οπως στην εκφωνηση ΣΧΗΜΑ 2 ΑΡΙΣΤΕΡΑ....

κανω κατι λαθος στο χειρισμο?

ναι ξεκιναω με μαργαριτες και ναι κουναω 3 στη σειρα κατα μηκος μιας "ευθειας" κινησης αλλα με τα παραλληλα τι γινεται?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 10, 2010, 19:05:53 pm
Λοιπον τελικα τρεχει ολα ωραια και καλα

το προβλημα μου ειναι οτι δεν μπορω να κουνησω 3 πιονια ΠΑΡΑΛΛΗΛΑ

δλδ οπως στην εκφωνηση ΣΧΗΜΑ 2 ΑΡΙΣΤΕΡΑ....

κανω κατι λαθος στο χειρισμο?

ναι ξεκιναω με μαργαριτες και ναι κουναω 3 στη σειρα κατα μηκος μιας "ευθειας" κινησης αλλα με τα παραλληλα τι γινεται?


ΑΚΥΡΟ δουλευει τελεια


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 11, 2010, 18:26:14 pm
Παντως μαγκες εχω την εντυπωση οτι σε καποιες κινησεις οταν παιζω μπορεις να φας τα πιονα του αλλου....

Πχ ητανε 2-2 και εκανα διαγωνια κινηση που δεν επιτρεποτανε πανω σε ενα αντιπαλο πιονι

απλα "εξαφανιστηκε" χωρις να αλλαξει το σκορ....  ::) ::) ::) ::)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: kickass on November 12, 2010, 15:12:19 pm
μπορεί κάποιος να βοήθησει γιατι μ βγαζει error στην isInBoard... μ λεει οτι πρεπει να ναι τυπου return.. εγω μεσα εχω πολλα return για καθε ενδεχομενο αλλα ειναι ολα μεσα σε if και θελει και ενα return εξω απο τα if που εχω.. εσεις πως την κανατε? εγω το χω:
if (y==1){
      if ((x==6)||(x==7)||(x==8)||(x==9)||(x==0)||(x==10)){
         return false;
      }
      else{
         return true;
      }
κτλπ για καθε περιπτωση..


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on November 12, 2010, 15:20:06 pm
Και γω ολα τα return που εχω ειναι μεσα σε if ή else αλλα μια χαρα τρεχει. :/


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: kickass on November 12, 2010, 16:04:16 pm
με τον ιδιο τροπο την εκανες??


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 12, 2010, 16:41:20 pm
Ειχα το ιδιο προβλημα ακριβως

η java ειναι υψηλου επιπεδου γιαυτο μην κανετε κολπα τυπου C++

δεν υποστηριζει ουτε if μεσα σε case:
ουτε αυτα τα  X &&X || Y && Y

στα χαρτια μια χαρα τα υποστηριζει ολα στην πραξη σπασε τα σε πιο απλα και θα δουλεψουνε ολα


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: kickass on November 12, 2010, 16:44:10 pm
οκ thnx για την βοηθεια.. τα κανα πιο απλα και τρεχει!!  ;)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 12, 2010, 17:03:20 pm
οκ thnx για την βοηθεια.. τα κανα πιο απλα και τρεχει!!  ;)

ειναι που θελει να κατακτισει τον κοσμο η java και γι'αυτο απευθυνετε σε web developers του ΙΕΚ ΟΜΗΡΟΣ, ενω αμα γραψει κωδικα κανας πραγματικος προγραμματιστης/μηχανικος.....  :-X :-X :-X :-X :-X


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: christinette on November 13, 2010, 15:22:08 pm
μου βγαζει ενα σφαλμα the method getColor from the type cell is not visible. το σφαλμα όμως δεν το εντοπιζει στην κλαση cell αλλα στην κλαση boardpanel οπου γινεται κληση αυτης της συναρτησης. υπαρχει καποιο προβλημα με την κλαση color που κανουμε import? αλλα και αν υπηρχε δεν θα εμφανιζε προβλημα και στην συναρτηση setColor που καλειται απο αλλες κλασεις οπως η game?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on November 13, 2010, 15:23:13 pm
ολες τις μεθοδους που κανεις στην κλαση Cell καντες public ;)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: christinette on November 13, 2010, 15:27:08 pm
δεν τις εκανα ολες μονο την getColor και ετρεξε! ρε συ ελεος δεν ειχαμε κανενα αλλο λαθος και τοση ωρα παιδευομασταν με αυτο... Jesus... καπετανιε χιλια ευχαριστω!!!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Αθηρ on November 14, 2010, 03:18:52 am
Ειχα το ιδιο προβλημα ακριβως

η java ειναι υψηλου επιπεδου γιαυτο μην κανετε κολπα τυπου C++

δεν υποστηριζει ουτε if μεσα σε case:
ουτε αυτα τα  X &&X || Y && Y

στα χαρτια μια χαρα τα υποστηριζει ολα στην πραξη σπασε τα σε πιο απλα και θα δουλεψουνε ολα
Όταν χρησιμοποιείς λογικούς τελεστές σε μπερδεμένη σειρά, τότε ναι στην πράξη θα έχεις πρόβλημα γιατί υπάρχει συγκεκριμένη σειρά εκτέλεσης των τελεστών και η java "μπερδεύεται" σχετικά με το τι θέλεις εσύ να γίνει. Όταν όμως χρησιμοποιείς τον ίδιο λογικό τελεστή μέσα στην if, δεν μπορώ να καταλάβω γιατί να μην χώσεις αβέρτα όλες σου τις συνθήκες, κάνοντας τη ζωή σου ευκολότερη; Η java ως υψηλού επιπέδου σε αυτό δεν αποβλέπει;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 14, 2010, 12:53:56 pm
Υψηλου επιπεδου σημαινει οτι δε θα χρειαστει ποτε να κανεις τετοια "παπατζιλικια" ή bitwise

γιατι ειναι πολυ *δυσνοητα*.  Σου παρεχω ετοιμα εργαλεια εγω ως java πχ α.equals(b) και γενικα ειναι κατι

λιιιγο διαφορετικο ως εννοια. Σημασια εχει οτι πχ δοκιμασα στο eclipse που εχω σπιτι

case( getX() ) κατι απολυτα φυσιολογικο για C, ....περασε και δεν αγγιξε, ακριβως οπως και οι λογικοι συντελεστες , που τους ειχαμα γραψει δυο ατομα μαζι και απλα δεν τους ειχαμε δοκιμασει.

Ε η δοκιμη εδειξε οτι αντι για xE[1,6] και y== || y== (που δεν δουλευε!) απλα σπαμε το || σε 2 "ιδιες" και ολα καλα  ;)

εδιτ: ναι ξερω οτι η java διαβαζει απο αριστερα με μεταβολη λογω (), τ δοκιμασα κ αυτο....


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Left_Behind on November 15, 2010, 20:37:39 pm
Καλησπέρα παιδιά είμαι παλιότερος και κάνω τις εργασίες στη java αλλά επειδή δεν παρακολουθώ τα εργαστήρια έχω μερικές απορίες.
Πρώτα από όλα αν θυμάμαι καλά για να ξεκινήσω θα πρέπει να φτιάξω ένα καινούργιο java project με το όνομα Cell και στη συνέχεια να φτιάξω μια καινουργια κλάση,τη κλάση Cell.Αυτό που δεν ξέρω είναι το εξής:
η εκφώνηση της εργασίας λέει οτι η κλάση πρέπει να ανήκει στο πακέτο gr.auth.ee.dsproject.abalone αυτό το γράφω στο πεδίο package όταν δημιουργώ την κλάση μου???
Ακόμα για να κάνω import την κλάση Color τη κάνω με την εντολή import java.awt.color.*;; (το γράφω πριν ξεκινήσω να γράφω τη κλάση Cell)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Αθηρ on November 15, 2010, 20:55:20 pm
Μπορείς να κάνεις import existing project όπως ακριβώς το λέει στις οδηγίες της άσκησης, επιλέγοντας το Abalone.zip που προφανώς θα έχεις κατεβάσει απο ethmmy. Έπειτα new class με όνομα Cell. Εκεί πετάς τα

package gr.auth.ee.dsproject.abalone;

import java.awt.Color;

πριν ξεκινήσεις να γράφεις τον κώδικά σου και είσαι καλυμμένος.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Left_Behind on November 15, 2010, 21:06:12 pm
Eυχαριστώ πολύ θα το δοκιμάσω...


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Left_Behind on November 15, 2010, 22:30:20 pm
Το πρόγραμμα δεν έχει λάθη...αλλά πως το τρέχω για να παίξω...???? :-[


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on November 15, 2010, 22:46:14 pm
Στο ίδιο πακέτο με την κλάσση Cell.java που έφτιαξες είναι και η κλάσσση platform...δεξί click->run as->1. Java Aplication


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Left_Behind on November 15, 2010, 23:10:24 pm
Στο ίδιο πακέτο με την κλάσση Cell.java που έφτιαξες είναι και η κλάσσση platform...δεξί click->run as->1. Java Aplication

ωραίος...να σαι καλά!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 15, 2010, 23:33:56 pm


Ξερουμε καθολου ποτε θα δωσει τη συνεχεια της εργασιας?

το νουμερο 2 καταλαβατε... 8))


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: cordelia on November 23, 2010, 18:09:41 pm
οταν βγαζω εξω ενα πούλι δεν θα πρεπει να το μετραει οτι βγηκε εξω να λεει δλδ "1  marbles out"???????


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Αθηρ on November 24, 2010, 01:06:04 am
Τελικά ανεβάζουμε Cell.java, Cell.class και αναφορά; Σωστά;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on November 24, 2010, 01:17:02 am
εγω παντως απ'αυτο που βλεπω στο pdf με την εκφωνηση νομιζω οτι πρεπει να εχουμε ολα τα αρχεια της εργασιας (και αυτα που εχει κανει αυτος) και επισης την αναφορα!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: nasia!! on November 28, 2010, 16:13:53 pm
Και την αναφορά μόνο πρέπει να την πάμε και γραπτή-εκτυπωμένη στο μάθημα της Παρασκευής  ή στο γραφείο!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on November 28, 2010, 18:09:51 pm
Μπορεί κάποιος που κατάλαβε να εξηγήσει τί εννοεί στην τελευταία σελίδα του pdf-"και καλά οδηγίες" για επικεφαλίδα σχολίων (που την βάζω?) και για επεξήγηση μεθόδων και κλάσεων(αφού 1 κλάση κάνεις!!!, εκτός αν θέλει να ...εξηγήσουμε και τις δικές τους  ^sfyri^)

Και όταν λέει όλα τα class, java αρχεία (για το upload) αν βάλω μέσα στο zip τους φακέλους bin και src ως έχουν είμαι καλυμμένος???


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: gr3gory on November 29, 2010, 06:08:46 am
Λοιπόν έχω δύο θεματάκια:

1ον: η μέθοδος <Cell[] getNeighbors(Cell[][] board)> δε θα είναι κάπως έτσι:

Cell[0].x=x+1;
Cell[0].y=y;

και παρόμοια για τα άλλα πέντε κελιά. Μου λέει όμως Cell cannot be resolved to a variable. Πως θα δηλώσω τον πίνακα;

Μετά επιστρέφω τον πίνακα έτσι: return Cell; Εκεί δεν βγάζει πρόβλημα.

και 2ον: στη μέθοδο <boolean isInBoard()> ξεκινάω έτσι:

if (x==1) {
   if (y==0){return false;}
   if (y==6){return false;}
   if (y==7){return false;}...
else {
   return true;
   }

και παίρνω This method must return a result of type boolean. Πως να γίνει πιο απλό;  :???:

Αν έχετε καμιά ιδέα πείτε μου..  :)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Wanderer on November 29, 2010, 16:07:03 pm
Η μέθοδος επιστρέφει έναν πίνακα 6 θέσεων τύπου Cell. Δεν επιστρέφει πίνακα με όνομα Cell. Οπότε μέσα στην getNeighbors δηλώνεις έναν πίνακα Cell 6 θέσεων π.χ. Cell[] pinakas6 = new Cell[6]  (ή κάπως έτσι δεν πολυθυμάμαι αυτή τη στιγμή :P ) και κάνεις

pinakas6[0]=blah blah
pinakas6[1]= blah2 blah2
κ.λ.π.

Και μετά θα κάνεις return to_onoma_tou_pinaka.

Στο 2ο μήπως επειδή στην περίπτωση που το y αν είναι π.χ. 8 δεν επιστρέφει τίποτα, για αυτό σου βγάζει σφάλμα... βάλε if  else if    else και για το y.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Ευχαριστο Διαλειμμα on November 29, 2010, 23:53:42 pm
2ον: στη μέθοδο <boolean isInBoard()> ξεκινάω έτσι:

if (x==1) {
   if (y==0){return false;}
   if (y==6){return false;}
   if (y==7){return false;}...
else {
   return true;
   }

και παίρνω This method must return a result of type boolean. Πως να γίνει πιο απλό;  :???:

Μη βαζεις καθολου else. Αν οποιοσδηποτε ελεγχος ειναι εγκυρος τοτε θα εκτελεστει return μέσα απο το if οποτε τελιωνει η ιστορια. Απλα αφησε το return true μετά το if. Δηλαδη:

Code:
if (x==1) {
   if (y==0){return false;}
   if (y==6){return false;}
   if (y==7){return false;}
   }
return true;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: mafalda on November 30, 2010, 01:19:16 am
το Cell εχει γραμμες Α-Ι,στις οποιες αντιστοιχει το χ, και στηλες 1-9,στις οποιες αντιστοιχει το y,σωστα;
αρα το δεξια θα εχει συντεταγμενες (a,b)=(x,y+1) σε σχεση με το κελι που μελεταμε;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: gr3gory on November 30, 2010, 01:47:37 am
Η μέθοδος επιστρέφει έναν πίνακα 6 θέσεων τύπου Cell. Δεν επιστρέφει πίνακα με όνομα Cell.

Μη βαζεις καθολου else. Αν οποιοσδηποτε ελεγχος ειναι εγκυρος τοτε θα εκτελεστει return μέσα απο το if οποτε τελιωνει η ιστορια.

Σωστά.. το Cell είναι τύπος.. Οπότε ονομάζω όπως θέλω αυτό που επιστρέφει.. Θα δοκιμάσω και την if χωρίς το else if..

Σας ευχαριστώ  :)

αρα το δεξια θα εχει συντεταγμενες (a,b)=(x,y+1) σε σχεση με το κελι που μελεταμε;

Νομίζω έτσι είναι ναι...

edit: το "return true;" το έβαλα τελικά μετά από όλους τους ελέγχους if (x==κάτι) και φαίνεται να δουλεύει.

Αλλά: μου λέει κάτω ένα warning

"The method stop() from the type Thread is deprecated"

στην κλάση Game, αν και δεν πείραξα τίποτα.. Το έβγαλε σε κανέναν από σας;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: mafalda on November 30, 2010, 11:48:35 am

Αλλά: μου λέει κάτω ένα warning

"The method stop() from the type Thread is deprecated"

στην κλάση Game, αν και δεν πείραξα τίποτα.. Το έβγαλε σε κανέναν από σας;

Το εβγαζε και σε μενα,κ δεν μπορουσα να το διορθωσω ο,τι κ να εκανα..
απλα εμφανιζε ενα stop σε μια απο τις συναρτησεις της κλασης Game,δε θυμαμαι σε πια..ακομα κ αν το εσβηνα και το ξαναπληκτρολογουσα,παλι ετσι εμφανιζοταν.
κλεινοντας το προγραμμα ομως κ ανοιγοντας νεοτερη εκδοση δεν μου το εμφανιζε... :-\


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Κάρβουνο on November 30, 2010, 18:08:25 pm
Δοκίμασε κανείς τη καινούργια πλατφόρμα που έβγαλε πρόσφατα εμένα δεν εκτελείται σωστά τώρα.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 30, 2010, 18:17:25 pm
Αυτη που εβγαλε προσφατα ηταν επισης λαθος και οι παραλληλες κινησεις τρωγανε πιονια στο ασχετο

οποτε και τωρα ειπε οτι θα ξαναβγει το Σαββατο μεσα στην εκφωνηση για το Β μερος


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: vagouras on November 30, 2010, 21:06:57 pm
Αυτη που εβγαλε προσφατα ηταν επισης λαθος και οι παραλληλες κινησεις τρωγανε πιονια στο ασχετο

οποτε και τωρα ειπε οτι θα ξαναβγει το Σαββατο μεσα στην εκφωνηση για το Β μερος
αφου εμεις μεχρι την παρασκευη παραδιδουμαι πως γινεται να ανεβασει καινουργια το Σαββατο?εκτος αμα αλλαξε ημερομηνια καταθεσης και δεν μπορω να την δω λογω πεσμενου ethmmy


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on November 30, 2010, 22:11:49 pm
Αυτη που εβγαλε προσφατα ηταν επισης λαθος και οι παραλληλες κινησεις τρωγανε πιονια στο ασχετο

οποτε και τωρα ειπε οτι θα ξαναβγει το Σαββατο μεσα στην εκφωνηση για το Β μερος
αφου εμεις μεχρι την παρασκευη παραδιδουμαι πως γινεται να ανεβασει καινουργια το Σαββατο?εκτος αμα αλλαξε ημερομηνια καταθεσης και δεν μπορω να την δω λογω πεσμενου ethmmy

Η καινουρια εργασια θα ειναι κατα καποιο τροπο συνεχεια της παλιας.

Εχει την εκφώνηση ηδη ανεβασμένη στο ετημμυ, που τα λεει και πιο καλα. Εγω μονο μια ματια την εριξα.

Η προθεσμια για την 2η εργασια ειναι μεχρι της 20 Δεκεμβρη!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on November 30, 2010, 22:19:34 pm
Δεν καταλαβα τι δεν καταλαβατε

θα ανεβει το ετημμυ παλι και θα δειτε

εως τοτε υπομονη  :-X


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Sunshine on December 01, 2010, 02:01:57 am
μήπως μπορεί κάποιος να ποστάρει το εμαιλ της νικολαϊδου? έχω ενα πολύ περίεργο πρόβλημα.. και μην μου πείτε δες το στο ethmmy.. einai down


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: pepe on December 01, 2010, 02:26:40 am
Τα σχόλια που θα γράψουμε στην κλάση cell πρέπει να είναι σε greeklish ή κανονικά στα ελληνικά;
Αν πας να κάνεις copy-paste στον eclipse κάτι στα ελληνικά το βγάζει σε αλαμπουρνέζικα και δεν ξέρω αν όταν το "τρέξει" δε φαίνονται τα ελληνικά...


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: gr3gory on December 01, 2010, 05:42:42 am
Το εβγαζε και σε μενα,κ δεν μπορουσα να το διορθωσω ο,τι κ να εκανα..
απλα εμφανιζε ενα stop σε μια απο τις συναρτησεις της κλασης Game,δε θυμαμαι σε πια..ακομα κ αν το εσβηνα και το ξαναπληκτρολογουσα,παλι ετσι εμφανιζοταν.
κλεινοντας το προγραμμα ομως κ ανοιγοντας νεοτερη εκδοση δεν μου το εμφανιζε... :-\

Αυτό βγάζει ναι, στη μέθοδο gameOver..

Πατάω να το εκτελέσει και μου βγάζει το παράθυρο του παιχνιδιού, αλλά όταν πατάω start game μου εμφανίζει στην κονσόλα:

Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at gr.auth.ee.dsproject.abalone.Cell.getNeighbors(Cell.java:45)
at gr.auth.ee.dsproject.abalone.Game.makeDaisyAround(Game.java:208)
at gr.auth.ee.dsproject.abalone.Game.newGame(Game.java:393)
at gr.auth.ee.dsproject.abalone.Platform$5.actionPerformed(Platform.java:166)...

Μήπως φταίει κάτι που δεν έχω στον υπολογιστή;

mafalda όταν λες νεότερη έκδοση ποια εννοείς; Εγώ έχω κατεβάσει από το eclipse.org το τελευταίο Eclipse IDE for Java Developers..  :-\


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: mafalda on December 01, 2010, 19:58:55 pm
@grigoris21 :
 Με το Eclipse Helios 3.6.1 (IDE for Java Developers που λες κ εσυ) που εβαλα ,το εμφανιζε οκ,ενω πριν με το Eclipse Classic 3.6.1,παλι στο helios,ειχε προβλημα..


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on December 01, 2010, 20:48:24 pm
Βασικα μπορει να παιζει ρολο και σε ποια βιβλιοθηκη τα τρεχετε ολα αυτα
(ειδικα αν ειναι σε λινουξ)

αν και μου φαινεται παραλογο γενικα ο ιδιος κωδικας να δουλευει στο ενα και οχι στο αλλο

Εν πασει περιπτωσει διαλεχτε αυτο που δουλευει και καντε τη δουλεια σας , αυτο εχει σημασια


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: gr3gory on December 02, 2010, 07:33:54 am
@grigoris21 :
 Με το Eclipse Helios 3.6.1 (IDE for Java Developers που λες κ εσυ) που εβαλα ,το εμφανιζε οκ,ενω πριν με το Eclipse Classic 3.6.1,παλι στο helios,ειχε προβλημα..

Τελικά διόρθωσα λίγο τον κώδικα στη συνάρτηση getNeighbors και σταμάτησε να το βγάζει αυτό το λάθος όλα αυτά με το IDE for Java Developers οπότε τρέχει κανονικά.

Μετά, αυτό το "The method stop() from the type Thread is deprecated" το βγάζει ακόμα αλλά δεν το πείραξα.

Αυτη που εβγαλε προσφατα ηταν επισης λαθος και οι παραλληλες κινησεις τρωγανε πιονια στο ασχετο

οποτε και τωρα ειπε οτι θα ξαναβγει το Σαββατο μεσα στην εκφωνηση για το Β μερος

Εγώ κατάλαβα πάντως ότι εννοεί ότι θα ανέβει η πλατφόρμα για το Β μέρος, όχι για την εργασία Α. Την Α την ανεβάζουμε μέχρι παρασκευή. Λογικά το Σάββατο θα ανεβεί η πλατφόρμα με την κλάση Cell έτοιμη, για να έχουν όλη την ίδια στο Β μέρος.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: nasia!! on December 02, 2010, 11:59:28 am
Αυτη που εβγαλε προσφατα ηταν επισης λαθος και οι παραλληλες κινησεις τρωγανε πιονια στο ασχετο

οποτε και τωρα ειπε οτι θα ξαναβγει το Σαββατο μεσα στην εκφωνηση για το Β μερος

Εγώ κατάλαβα πάντως ότι εννοεί ότι θα ανέβει η πλατφόρμα για το Β μέρος, όχι για την εργασία Α. Την Α την ανεβάζουμε μέχρι παρασκευή. Λογικά το Σάββατο θα ανεβεί η πλατφόρμα με την κλάση Cell έτοιμη, για να έχουν όλη την ίδια στο Β μέρος.
Ναι, αυτό μας είπε οτι θα συμβεί γενικά!  :)


Κάτι  άσχετο, άμα έχεις ανεβάσει στο ετημμυ ένα αρχείο με κανονικά το όνομα.rar και στο καπάκι ένα αρχείο με το όνομα.zip και δεν έχει αντικαταστήσει το δεύτερο το πρώτο, τί κάνεις; ::)
σσ.ΚΗΜΜΥ, μην με σκοτώσεις.  :-X


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: foititis007 on December 02, 2010, 12:23:08 pm
Την προσευχή σου...Λογικά θα έχουν καταχωρηθεί και τα δύο.Δοκίμασε να το ξαναστείλεις  :D


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: nasia!! on December 02, 2010, 12:41:32 pm
Την προσευχή σου...Λογικά θα έχουν καταχωρηθεί και τα δύο.Δοκίμασε να το ξαναστείλεις  :D
Ναι ρε χαμένο, αυτό έγινε! Ζβουν!  :D
Το θέμα είναι πώς μπορεί να μείνει μόνο το ένα πάνω πλέον; (ή δεν μας πειράζει που είναι δύο ολόιδια αρχεία; )


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Moiss25 on December 02, 2010, 12:47:37 pm
@grigoris21 :
 Με το Eclipse Helios 3.6.1 (IDE for Java Developers που λες κ εσυ) που εβαλα ,το εμφανιζε οκ,ενω πριν με το Eclipse Classic 3.6.1,παλι στο helios,ειχε προβλημα..

Τελικά διόρθωσα λίγο τον κώδικα στη συνάρτηση getNeighbors και σταμάτησε να το βγάζει αυτό το λάθος όλα αυτά με το IDE for Java Developers οπότε τρέχει κανονικά.

Μετά, αυτό το "The method stop() from the type Thread is deprecated" το βγάζει ακόμα αλλά δεν το πείραξα.

Αυτη που εβγαλε προσφατα ηταν επισης λαθος και οι παραλληλες κινησεις τρωγανε πιονια στο ασχετο

οποτε και τωρα ειπε οτι θα ξαναβγει το Σαββατο μεσα στην εκφωνηση για το Β μερος
Επειδή έχω ακριβώς το ίδιο πρόβλημα,μήπως μπορείς να μου πεις γενικά τις αλλαγές έκανες πάνω κάτω? Τελικά δε φταίει η έκδοση του Eclipse?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 02, 2010, 13:31:56 pm
Αν θέλω να δώσω την αντίθετη τιμή που έχει 1 boolean π.χ.
δεν θέλω if(Cellx.isInBoard()) αλλά if(δεν Cellx.isInBoard) πως το κάνω!?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on December 02, 2010, 13:38:10 pm
Αν θέλω να δώσω την αντίθετη τιμή που έχει 1 boolean π.χ.
δεν θέλω if(Cellx.isInBoard()) αλλά if(δεν Cellx.isInBoard) πως το κάνω!?

αδειο if απο πανω και else απο κατω με αυτα που θες

εχει ακομα 10 τροπους θα στους γραψουν αλλοι ... ;)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 02, 2010, 14:18:04 pm
Θέλω οπωσδήποτε  μέσα στο if δεν είναι μόνη της η συνθήκη  :-\


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on December 02, 2010, 14:21:42 pm
Θέλω οπωσδήποτε  μέσα στο if δεν είναι μόνη της η συνθήκη  :-\

if ( ==0)
if ( !=1)

αυτα που ερχονται για την ωρα

οπου προφανως θα βαλεις true kai false εγω παντα σε C σκεφτομαι γ@μΤ!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 02, 2010, 15:18:14 pm
Έβαλα στον eclipse if(!Cellx.isInBoard()) και δεν βγάζει σφάλμα...το αφήνω προς το παρόν
                           θαυμαστικό


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: gr3gory on December 02, 2010, 15:46:13 pm
Επειδή έχω ακριβώς το ίδιο πρόβλημα,μήπως μπορείς να μου πεις γενικά τις αλλαγές έκανες πάνω κάτω? Τελικά δε φταίει η έκδοση του Eclipse?

Αν ρωτάς εμένα, στη getNeighbors είχα εντολες του στυλ pinakas[0].x=x' και pinakas[0].y=y' όπως έγραψα σε προηγούμενο ποστ και τις άλλαξα με μια εντολή pinakas[0]=board[x'][y'] όπου board ο διδιάστατος του ορίσματος. Επίσης είχα στις συναρτήσεις set: newVar=x ενώ ήθελε x=newVar.  :???:

Αυτά δούλεψαν στην IDE for Java Developers και στην SDK 3.6 (νομίζω διαφορετικά είναι ε;  :P) Στην classic δεν ξέρω, παίζει να θέλει να βάλεις και JDK/JRE.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: LegalizeMe on December 02, 2010, 18:37:12 pm
Παιδιά, έχω να κάνω μια ερώτηση γιατί κολλάω εδώ και πολύ ώρα στην getNeighbors.
Χρησιμοποιώντας μια έκφραση τύπου neigbors[0]=board[x+1][y-1] και πάει λέγοντας, μου βγάζει ένα error Αrray out of bounds (και φυσικά μια ακολουθία από συνδεόμενα errors) αφού πατήσω start game.
Υποθέτω ότι είναι επειδή αν οι συντεταγμένες-στοιχείο από τον 11Χ11 πίνακα boards που έρχονται ως ορισμα είναι σε μία από τις ακριανές σειρές/στήλες, βγαίνω εκτός ορίων του 11Χ11 πίνακα  με εκφράσεις x+1 ή y+1
κτλ κτλ
Προφανώς χρειάζονται και κάποιες συνθήκες ελέγχου πρίν αρχίσω να φτιάχνω τον πίνακα neigbours ;
Το θέμα είναι, αν τελικά ισχύει ότι κάποια από τα στοιχεία με τα οποία συμπληρώνεται ο πίνακας neighbours είναι εκτός του πίνακα/συστήματος συντεταγμένων 11Χ11, τί τιμή θα έχουν στον πίνακα neighbours ? 0 ?
Δεν ξέρω αν βγάζουν νοήμα αυτά που λέει το μπερδεμένο κεφάλι μου, αλλά αν κάποιος έχει καμιά πρόταση, ευπρόσδεκτη.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 02, 2010, 18:55:00 pm
Το board[x+1][y-1] δεν είναι γειτονικό είναι "παρα-γειτονικό" άρα λογικό να υπάρχει πιθανότητα να πέσει και εκτός της safe line 0,11

Ο πίνακας board δεν έχει σαν στοχείο 0,0 το πάνω αριστερά αλλά το κάτω αριστερά οπότε με το board[x+1][y-1] μάλλον εννοείς board[x-1][y-1]


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: LegalizeMe on December 02, 2010, 19:17:50 pm
Ευχαριστώ για το τιπ δικαστά Ντρέντ, η αλήθεια είναι ότι χρησιμοποιούσα το πάνω αριστερά στοιχείο του 11X11 αντί το κάτω αριστερά για 0,0. Δυστυχώς και πάλι μου βγαίνει out of bounds.
Έτσι τον γεμίζω...
Code:
neighbors[0]=board[x-1][y+1];
neighbors[1]=board[x+1][y+1];
neighbors[2]=board[x+1][y];
neighbors[3]=board[x+1][y-1];
neighbors[4]=board[x-1][y-1];
neighbors[5]=board[x-1][y];

υλοποιήθηκε άρα χωρίς κάποιον έλεγχο για όρια μέσα στην getneighbors?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: nikos6 on December 02, 2010, 19:27:59 pm
εκτός από το αρχείο κειμένου αυτά που πρέπει να ανεβάσουμε είναι τα cell.java και cell.class?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on December 02, 2010, 19:54:36 pm
μεχρι ποτε ειναι η παραδοση?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ΚΗΜΜΥ on December 02, 2010, 20:00:35 pm
αυριο στις 3 η αναφορα
και
αυριο στις 23:59 το ζιπ


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: nikos6 on December 02, 2010, 20:08:04 pm
ρωτάω το ζιπ τι θα περιέχει?
το cell.java και το cell.class?

και το αρχείο κειμένου βέβαια


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: provataki on December 02, 2010, 20:14:44 pm
κανει οτι να ναι κινήσεις ή ειναι η ιδεα μου;
σε σας δουλευει ολόσωστα;
 :D :D :D

νομιζω η δευτερη πλατφορμα τα ψιλογαμησε ολα...


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ΚΗΜΜΥ on December 02, 2010, 20:21:43 pm
Αυριο που εχουμε καταληψη και δεν θα γινει το μαθημα λετε να παρει καμια παραταση η παραδοση της αναφορας η πρεπει να παμε να τη δωσουμε?  :???:


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: elektra on December 02, 2010, 20:25:18 pm
και πού ακριβώς βρίσκεται το Ε.Π.Υ. ??


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ΚΗΜΜΥ on December 02, 2010, 20:27:03 pm
Πανω απο τη βιβλιοθηκη, στο βαθος

ας επιβεβαιωσει ομως καποιος


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on December 02, 2010, 20:30:35 pm
ναι


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Left_Behind on December 02, 2010, 21:51:56 pm
Ποια αρχεία ανεβάζουμε τελικά???
Και κάτι ακόμα..από όσο κατάλαβα την πρώτη εργασία θα την ανεβάσουμε με την παλιά πλατφόρμα,σωστά??


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: geor on December 02, 2010, 22:06:36 pm
Ρε παιδιά τελικά όσοι ανεβάσατε εργασία ποια αρχεία ανεβάσατε? μόνο τα .java .class . word σας? 


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: provataki on December 02, 2010, 22:13:26 pm
πειτε λιγο, κανει ή δεν κανει οτι να ναι με τις κινησεις;;
γιατι εχω και 40 πυρετό!  :-\


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Moiss25 on December 02, 2010, 23:19:37 pm
Επειδή έχω ακριβώς το ίδιο πρόβλημα,μήπως μπορείς να μου πεις γενικά τις αλλαγές έκανες πάνω κάτω? Τελικά δε φταίει η έκδοση του Eclipse?

Αν ρωτάς εμένα, στη getNeighbors είχα εντολες του στυλ pinakas[0].x=x' και pinakas[0].y=y' όπως έγραψα σε προηγούμενο ποστ και τις άλλαξα με μια εντολή pinakas[0]=board[x'][y'] όπου board ο διδιάστατος του ορίσματος. Επίσης είχα στις συναρτήσεις set: newVar=x ενώ ήθελε x=newVar.  :???:

Αυτά δούλεψαν στην IDE for Java Developers και στην SDK 3.6 (νομίζω διαφορετικά είναι ε;  :P) Στην classic δεν ξέρω, παίζει να θέλει να βάλεις και JDK/JRE.
Se efxaristw poly! ekana kai egw tin allagi me to board
  • [y] anti tou board.x kai board.y kai mou etrekse!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Wanderer on December 02, 2010, 23:30:49 pm
πειτε λιγο, κανει ή δεν κανει οτι να ναι με τις κινησεις;;
γιατι εχω και 40 πυρετό!  :-\
Με την παλιά πλατφόρμα μια χαρά παίζει πάντως μου φαίνεται.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: provataki on December 02, 2010, 23:33:30 pm
πειτε λιγο, κανει ή δεν κανει οτι να ναι με τις κινησεις;;
γιατι εχω και 40 πυρετό!  :-\
Με την παλιά πλατφόρμα μια χαρά παίζει πάντως μου φαίνεται.

ναι!

το θέμα ειναι οτι διορθωσε και ανέβασε μια αλλη...
δε μπορω να βρω την παλια


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Moiss25 on December 02, 2010, 23:57:07 pm
Τα σχόλια στην εργασία με greeklish????


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Wanderer on December 03, 2010, 03:14:05 am
Provataki αν και μάλλον δεν έχει τώρα σημασία (περασμένη η ώρα), παρόλαυτα ορίστε η παλιά πλατφόρμα:





(προφανώς έσβησα την κλάση Cell ^poke^ ^poke^ ^poke^ ^poke^ ^poke^ ^poke^ ^poke^ ^poke^ )


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: gr3gory on December 03, 2010, 05:22:50 am
Τα σχόλια στην εργασία με greeklish????

Εγώ με greeklish τα έβαλα πάντως..

ρωτάω το ζιπ τι θα περιέχει?
το cell.java και το cell.class?

και το αρχείο κειμένου βέβαια

Στην εκφώνηση λέει "κατ' ελάχιστο" τα αρχεία .class και .java. Εγώ έβαλα ολόκληρο το φάκελο  :P


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 03, 2010, 13:28:07 pm
Στο εργαστήριο που κάποιος τον ρώτησε είπε όπως στο zip θα είναι ο φάκελος ABALONE που κατεβάσαμε με την κλάση μας μέσα όπως αποθηκεύτηκε

Λίγο αργά το ξέρω αλλά  ^sleep^


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: mafalda on December 03, 2010, 15:34:02 pm
Στο εργαστήριο που κάποιος τον ρώτησε είπε όπως στο zip θα είναι ο φάκελος ABALONE που κατεβάσαμε με την κλάση μας μέσα όπως αποθηκεύτηκε


+ την αναφορά σε pdf/word


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: provataki on December 03, 2010, 17:15:17 pm
αν ξανανεβάσω αρχειο .zip στο ethmmy τοτε το παλιο αντικαθίσταται απο το νέο, σωστά;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: cordelia on December 04, 2010, 20:51:12 pm
αρχισε κανεις την δευτερη εργασια?τους παικτες random και τον heuristic τους φτιαχνουμε εμεις?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on December 09, 2010, 15:59:27 pm
Οι παίχτες random και heuristic υπάρχουν και άμα κάνεις την findAllMoves και την evaluate είσαι καλυμένος/η. Έκανε κανείς την findAllMoves? Εγώ την έκανα και οι random παίζουν κανονικά, απλά σε κάποιες περιπτώσεις σταματάει η εκτέλεση, και παρατηρώ ότι εκεί που γράφει αυτά που κάνει print το πρόγραμμα, γράφει moving outside board πάντα. Προφανώς δεν είναι τυχαίο. Όποιος έχει καμιά ιδέα ας την πει!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: copernicus on December 11, 2010, 01:09:56 am
στη μέθοδο findAllMoves για να γεμίσουμε το Vector πρέπει να δημιουργήσουμε για κάθε δυνατή κίνηση ένα αντικείμενο Move ?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on December 11, 2010, 08:04:31 am
αχα! την δημιουργεις κ την κάνεις add!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 11, 2010, 13:06:48 pm
Οι παίχτες random και heuristic υπάρχουν και άμα κάνεις την findAllMoves και την evaluate είσαι καλυμένος/η. Έκανε κανείς την findAllMoves? Εγώ την έκανα και οι random παίζουν κανονικά, απλά σε κάποιες περιπτώσεις σταματάει η εκτέλεση, και παρατηρώ ότι εκεί που γράφει αυτά που κάνει print το πρόγραμμα, γράφει moving outside board πάντα. Προφανώς δεν είναι τυχαίο. Όποιος έχει καμιά ιδέα ας την πει!

Εμένα παίζουν κανονικά Random και Heuristic...για λίγες κινήσεις, ενώ ταυτόχρονα πετάγονται μηνύματα στην κονσόλα για moving outside board, cannot move to cells occupied by you κτλ

Μέχρι που σε κάπιο σημείο σταματάει με ένα τελευταίο μήνυμα το οποίο διαφέρει κάθε φορά!!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on December 11, 2010, 15:47:09 pm
Οι παίχτες random και heuristic υπάρχουν και άμα κάνεις την findAllMoves και την evaluate είσαι καλυμένος/η. Έκανε κανείς την findAllMoves? Εγώ την έκανα και οι random παίζουν κανονικά, απλά σε κάποιες περιπτώσεις σταματάει η εκτέλεση, και παρατηρώ ότι εκεί που γράφει αυτά που κάνει print το πρόγραμμα, γράφει moving outside board πάντα. Προφανώς δεν είναι τυχαίο. Όποιος έχει καμιά ιδέα ας την πει!

Εμένα παίζουν κανονικά Random και Heuristic...για λίγες κινήσεις, ενώ ταυτόχρονα πετάγονται μηνύματα στην κονσόλα για moving outside board, cannot move to cells occupied by you κτλ

Μέχρι που σε κάπιο σημείο σταματάει με ένα τελευταίο μήνυμα το οποίο διαφέρει κάθε φορά!!

Ρώτησα το δάσκαλο και είπε ότι χωρίς να το καταλαβαίνουμε μπαίνει το πρόγραμμα μας σε infinite loop. Αυτός το βρήκε με debugging, δε φαίνεται δια γυμνού οφθαλμού...Εγώ για να προσπεράσω αυτό τελικά απλά έβαλα σα συνθήκη να μην ελέγχει καν τις κινήσεις "moving outside board" και κομπλέ. Είπες ότι σταματάει και κάθε φορά το τελευταίο μήνυμα είναι διαφορετικό έτσι? Σε γενικές γραμμές το τελευταίο μήνυμα πριν σταματήσει το παιχνίδι αποτελείται από όλα τα δυνατά μηνύματα η απο 2-3 συγκεκριμένα?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 11, 2010, 16:19:02 pm
Cells are not consecutive (1 φορά μόνο)

Broadside 2 to a non-empty space

Cannot move to a space occupied by ourself

και Moving outside board

  :D :D :D

Αυτά τα λέει και ενώ τρέχει χωρίς να σταματάει..Απλά κάποτε θα σταματήσει..Το ρεκόρ χρόνου είναι 5-2 με 2 heurιstic και μετά σταμάτησε   :(
Εντωμεταξύ οι 2 heuristic κάνουν πάντα τα ίδια και καταλήγει στο ίδιο τέλος με το ίδιο μήνυμα μόλις πριν πάει να φάει ο άσπρος το 3ο πούλι του μαύρου



Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on December 11, 2010, 17:31:43 pm
Στείλτο στον Χρυσόπουλο να σου πει κάνα hint. Καλός είναι θα σου πει τι παίζει στάνταρ


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 13, 2010, 15:14:37 pm
Την εργασία από πότε θα μπορούμε να την ανεβάσουμε? Ακόμα δείχνει την παλιά

Αν την ανεβάσω θα υπάρχουν και οι 2??


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: copernicus on December 13, 2010, 15:43:01 pm
η μεταβλητή from3 που υπάρχει στο ψευδοκώδικα δεν υπάρχει στο πρόγραμμα,το αφήνουμε έτσι ή προσθέτουμε και την μεταβλητή from3?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Αιμιλία η φτερωτή χελώνα on December 13, 2010, 22:22:49 pm
Να ρωτησω, εσας που σας ετρεχε (χωρις να εχετε κανει την evaluate, μονο την Vector), εκανε καποιες τυχαιες κινησεις. Αυτες ηταν με τυχαιο αριθμο πιονιων ή μονο με ενα πιονι??


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: lpool on December 13, 2010, 23:15:14 pm
Ήταν και με 1 και με 2 και με 3


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: stavrakas on December 14, 2010, 15:31:05 pm
αν μπορει καποιος να απαντησει παρακαλω, γιατι εχω απορια !! μπορω στην evaluate να καλεσω την getNeighbors για να κανω αξιολογηση της συνεκτικοτητας ? και αν ναι, πως γινεται η συνταξη της κλησης? ευχαριστωωωωω ( επισης αν το σκεφτομαι τελειως λαθος πεiτε μου )


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: afroditeschild on December 14, 2010, 18:31:21 pm
με for γινεται ο ελεχγος στην findallmoves?????


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on December 15, 2010, 19:26:09 pm
Όταν τρέχω το προγραμμα και επιλεγω για παραδειγμα σαν Euristic τον μαυρο παιχτη, συμπεριφερεται τελικα ο ασπρος σαν Euristic (και προφανως κερδιζει το παιχνιδι). Εχει κανενας αλλος το ιδιο "προβλημα'?

Για να ξερω αν ειναι δικο μου λαθος ή bug του κωδικα που μας εχουν δωσει, μην ψαχνω τζαμπα!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 15, 2010, 19:30:39 pm
Εμένα λειτουργεί όπως ακριβώς πρέπει

Πώς σου έγινε αυτό??? Δεν φαίνεται να έχει σχέση με τις 2 μεθόδους που ήταν να κάνουμε  :o


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on December 15, 2010, 19:35:38 pm
Εμένα λειτουργεί όπως ακριβώς πρέπει

Πώς σου έγινε αυτό??? Δεν φαίνεται να έχει σχέση με τις 2 μεθόδους που ήταν να κάνουμε  :o

Δεν ξερω, παιζει να πειραξα κατα λαθος τον αρχικο κωδικα :/

Θα τον ξανακατεβασω αμα ειναι, θα δοκιμασω και θα επανελθω :P


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on December 15, 2010, 20:15:56 pm
Θα τον ξανακατεβασω αμα ειναι, θα δοκιμασω και θα επανελθω :P

Νταξ, δικο μου ηταν το λαθος...ειχα βαλει καπου αναποδες συνθηκες για τα χρωματα...

Πλεον ειναι οκ!

tnks


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: christinette on December 15, 2010, 20:42:54 pm
τον τροπο που προτεινουν στο ετημμυ για τις διπλοτυπες κινησεις τον εχει δοκιμασει κανεις αν δουλευει?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on December 15, 2010, 20:55:57 pm
τον τροπο που προτεινουν στο ετημμυ για τις διπλοτυπες κινησεις τον εχει δοκιμασει κανεις αν δουλευει?

δεν εχω βρει τροπο να αποδειξω οτι εχω κανει ολες τις κινησεις μια φορα, αλλα αν γραψεις τον κωδικα με την ιδεα που εχει στο ε-τημμυ για τις διπλοτυπες δουλευει!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 15, 2010, 21:00:52 pm

δεν εχω βρει τροπο να αποδειξω οτι εχω κανει ολες τις κινησεις μια φορα, αλλα αν γραψεις τον κωδικα με την ιδεα που εχει στο ε-τημμυ για τις διπλοτυπες δουλευει!

Άφηνε μέσα στον κώδικα κάθε φορά 1 είδος και δες αν το κάνει...Εγώ έτσι διόρθωσα πολλά λάθη..Μπορεί π.χ. να το βάλεις να κάνει μόνο μονές κινήσεις για να τις τσεκάρεις


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 16, 2010, 19:28:40 pm
Πάω να ανεβάσω την εργασία και λέει "Έχει λήξει η προθεσμία υποβολής των εργασιών"

Πότε θα το ανοίξουν!?! Ελπίζω όχι τελευταία μέρα Δευτέρα όπως συνηθίζουν  ^confused^


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on December 16, 2010, 19:30:52 pm
Πάω να ανεβάσω την εργασία και λέει "Έχει λήξει η προθεσμία υποβολής των εργασιών"

Πότε θα το ανοίξουν!?! Ελπίζω όχι τελευταία μέρα Δευτέρα όπως συνηθίζουν  ^confused^

Μπορει να μην το εχουν προσεξει....

Στειλε ενα mail να τους το υπενθημισεις!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 16, 2010, 19:36:19 pm
Όντως, θα στείλω

Όταν απαντήσουν θα σας πω!! 


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: geor on December 16, 2010, 22:25:03 pm
Στην findAllMoves χρησιμοποιείτε καθόλου την isValid για τον έλεγχο των κινήσεων ή κάνατε δικούς σας ελέγχους?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: cordelia on December 16, 2010, 22:50:41 pm
Στην findAllMoves χρησιμοποιείτε καθόλου την isValid για τον έλεγχο των κινήσεων ή κάνατε δικούς σας ελέγχους?

Στο σημειο που ο ψευδοκώδικας σου λέει <<if the move of from1, from2 and to2 is valid>> για την κινηση 2 πουλιων και αντίστοιχα <<if the move of from1, from3 and to3 is valid>> για την κίνηση 3,χρησιμοποιεις την isValid κι ελέγχεις κατευθείαν την εγκυρότητητα των κινήσεων


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: gr3gory on December 17, 2010, 08:18:39 am
Έχω μερικές απορίες:

α) έχω κάνει την findAllMoves και οι Random κάνουν τυχαίες κινήσεις (παράλληλα βγάζει μηνύματα "Moving Outside Board" στην κονσόλα) αλλά αρκετά συχνά παίζουν οι παίκτες 2 και 3 φορές συνεχόμενα; Σε τι μπορεί να οφείλεται αυτό;

β) στην evaluate επιστρέφουμε απλά έναν αριθμό σωστά; Στο τέλος εχω βάλει μια συνθήκη που ελεγχει ποιος είναι ο επόμενος παίκτης με την isBlack -αρα και ποιος παίζει αυτη τη στιγμή- και ανάλογα επιστρέφει το evaluation το οποίο αναφέρεται στον παίκτη που παίζει τώρα. Σωστή είναι αυτή η λογική; Όταν βάζω 2 Heuristic να παίξουν βέβαια κάνουν 2-3 κινήσεις και μετά κολλάει στον άσπρο ο οποίος παίζει συνέχεια και πάει πέρα-δώθε  :-\. Αν έχει αντιμετωπίσει κανείς κάτι παρόμοιο ας με διαφωτίσει.  :P


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 17, 2010, 14:52:59 pm
Όντως, θα στείλω

Όταν απαντήσουν θα σας πω!! 

Όντως το ξέχασαν  :D :D
Τώρα είναι πια ανοιχτό


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: pumba on December 17, 2010, 19:19:18 pm
για να βάλουμε 1 κινηση στον πινακα moves,ουσιαστικα την δημιουργουμε πρωτα (π.χ.Move m1=new Move(game.board[j], game.board[j], game.board[j].getNeighbors(game.board)[k]);) και μετα απλα κανουμε moves.add() και μπαινει μονη της????


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: provataki on December 17, 2010, 19:48:57 pm
Έχω μερικές απορίες:

α) έχω κάνει την findAllMoves και οι Random κάνουν τυχαίες κινήσεις (παράλληλα βγάζει μηνύματα "Moving Outside Board" στην κονσόλα) αλλά αρκετά συχνά παίζουν οι παίκτες 2 και 3 φορές συνεχόμενα; Σε τι μπορεί να οφείλεται αυτό;

να ελεγχεις οτι κελί χρησιμοποιείς με την isInBoard.... ετσι λύθηκε σε μενα.

β) στην evaluate επιστρέφουμε απλά έναν αριθμό σωστά; Στο τέλος εχω βάλει μια συνθήκη που ελεγχει ποιος είναι ο επόμενος παίκτης με την isBlack -αρα και ποιος παίζει αυτη τη στιγμή- και ανάλογα επιστρέφει το evaluation το οποίο αναφέρεται στον παίκτη που παίζει τώρα. Σωστή είναι αυτή η λογική; Όταν βάζω 2 Heuristic να παίξουν βέβαια κάνουν 2-3 κινήσεις και μετά κολλάει στον άσπρο ο οποίος παίζει συνέχεια και πάει πέρα-δώθε  :-\. Αν έχει αντιμετωπίσει κανείς κάτι παρόμοιο ας με διαφωτίσει.  :P

δοκίμασε να κάνεις αυτό τον ελεγχο για το ποιος παιζει και ποιος ειναι αντιπαλος στην αρχή και να το αξιοποιησεις ως συνθήκη στη διαδικασία του(με το χρώμα για παραδειγμα).

η λογική μου λεει οτι οι 2 euristic δεν μπορουν να παιξουν αποτελεσματικά αφου και οι δυο κανουν βελτιστες κινήσεις, εχουν την ιδια στρατηγική ακριβως.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: provataki on December 17, 2010, 19:49:37 pm
για να βάλουμε 1 κινηση στον πινακα moves,ουσιαστικα την δημιουργουμε πρωτα (π.χ.Move m1=new Move(game.board[j], game.board[j], game.board[j].getNeighbors(game.board)[k]);) και μετα απλα κανουμε moves.add() και μπαινει μονη της????

μπαινει μονη της, αφου βεβαια ελεγξεις την εγκυροτητα της.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: pumba on December 17, 2010, 19:55:50 pm
για να βάλουμε 1 κινηση στον πινακα moves,ουσιαστικα την δημιουργουμε πρωτα (π.χ.Move m1=new Move(game.board[j], game.board[j], game.board[j].getNeighbors(game.board)[k]);) και μετα απλα κανουμε moves.add() και μπαινει μονη της????

μπαινει μονη της, αφου βεβαια ελεγξεις την εγκυροτητα της.
ναι,εννοειται....οκ! αρα αλλου ειναι το λαθος.... :-\


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Ευχαριστο Διαλειμμα on December 17, 2010, 22:51:58 pm
για να βάλουμε 1 κινηση στον πινακα moves,ουσιαστικα την δημιουργουμε πρωτα (π.χ.Move m1=new Move(game.board[j], game.board[j], game.board[j].getNeighbors(game.board)[k]);) και μετα απλα κανουμε moves.add() και μπαινει μονη της????

μπαινει μονη της, αφου βεβαια ελεγξεις την εγκυροτητα της.
ναι,εννοειται....οκ! αρα αλλου ειναι το λαθος.... :-\

Μη σε τρολλαρει ο προβατος....  :D :D
Φυσικα και την κανεις add, δεν ειχε νοημα αλλιως να υπαρχει η συναρτηση add (ελεχγεις την εγκυροτητα της πρωτα βεβαια, οπως λεει και ο προβατος). :P


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: gr3gory on December 17, 2010, 23:08:48 pm

να ελεγχεις οτι κελί χρησιμοποιείς με την isInBoard.... ετσι λύθηκε σε μενα.

δοκίμασε να κάνεις αυτό τον ελεγχο για το ποιος παιζει και ποιος ειναι αντιπαλος στην αρχή και να το αξιοποιησεις ως συνθήκη στη διαδικασία του(με το χρώμα για παραδειγμα).

η λογική μου λεει οτι οι 2 euristic δεν μπορουν να παιξουν αποτελεσματικά αφου και οι δυο κανουν βελτιστες κινήσεις, εχουν την ιδια στρατηγική ακριβως.

Ευχαριστώ, θα τα δοκιμάσω να δω αν γίνεται τίποτα.

Με την isInBoard εννοείς λύθηκε και το ότι έπαιζαν 2-3 φορές ο κάθε random;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: provataki on December 18, 2010, 00:25:35 am

να ελεγχεις οτι κελί χρησιμοποιείς με την isInBoard.... ετσι λύθηκε σε μενα.

δοκίμασε να κάνεις αυτό τον ελεγχο για το ποιος παιζει και ποιος ειναι αντιπαλος στην αρχή και να το αξιοποιησεις ως συνθήκη στη διαδικασία του(με το χρώμα για παραδειγμα).

η λογική μου λεει οτι οι 2 euristic δεν μπορουν να παιξουν αποτελεσματικά αφου και οι δυο κανουν βελτιστες κινήσεις, εχουν την ιδια στρατηγική ακριβως.

Ευχαριστώ, θα τα δοκιμάσω να δω αν γίνεται τίποτα.

Με την isInBoard εννοείς λύθηκε και το ότι έπαιζαν 2-3 φορές ο κάθε random;

ναι αυτο συνεβαινε οντως. εγραφε "moving out of board" και μετα επαιζε ο αλλος χωρις να κινηθει ο πρωτος.
μαλλον κομπλαρε σε καποιο παρακατω ελεγχο
οποτε εμενε στασιμο. παντως λυθηκε


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Άγνωστος Χ on December 18, 2010, 23:00:47 pm
Υλοποίηση κάποιας δομής δεδομένων θα υπάρχει στην τρίτη εργασία; Γιατί μέχρι τώρα...


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: beefheart on December 18, 2010, 23:41:52 pm
Υλοποίηση κάποιας δομής δεδομένων θα υπάρχει στην τρίτη εργασία; Γιατί μέχρι τώρα...

Άραξε ρε φιλαρακι.Πόσο γαμάτος μπορεί να είσαι;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: gr3gory on December 19, 2010, 05:43:56 am

να ελεγχεις οτι κελί χρησιμοποιείς με την isInBoard.... ετσι λύθηκε σε μενα.

δοκίμασε να κάνεις αυτό τον ελεγχο για το ποιος παιζει και ποιος ειναι αντιπαλος στην αρχή και να το αξιοποιησεις ως συνθήκη στη διαδικασία του(με το χρώμα για παραδειγμα).

η λογική μου λεει οτι οι 2 euristic δεν μπορουν να παιξουν αποτελεσματικά αφου και οι δυο κανουν βελτιστες κινήσεις, εχουν την ιδια στρατηγική ακριβως.

Ευχαριστώ, θα τα δοκιμάσω να δω αν γίνεται τίποτα.

Λοιπόν τελικά στη findAllMoves δεν έκανα έλεγχο για το ποιος παίζει τώρα, οπότε στο Vector επέστρεφε κινήσεις και για τους δύο παίκτες. Έτσι δεν υπήρχε σειρά και έπαιζαν λίγο τυχαία. Με έναν έλεγχο με την isBlack λύθηκε το πρόβλημα, ώστε να επιστρέφονται κινήσεις μόνο του ενός παίκτη κάθε φορά.

Τα μηνύματα στην κονσόλα σταμάτησαν με έλεγχο κάθε κελιού με την isInBoard όπως είπε και ο provataki και παράλληλα οι 2 Heuristic δεν κολλάνε, απλά στην αρχή κάνουν ίδιες κινήσεις και δεν βγαίνει κάποιος μπροστά.

Το θέμα είναι πλέον ότι με έναν Heuristic και έναν Random, ο Heuristic δεν βγάζει πιονια του αντιπάλου έξω και παίζουν συνέχεια.. Αυτό μαλλον είναι πρόβλημα στην Evaluate; Σε σας ο Heuristic νικάει πάντα τον Random;


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Turambar on December 19, 2010, 07:53:33 am
H evaluate στην αρχή είναι φτιαγμένη να δίνει random αποτελέσματα.
Αν δεν την πειράξεις αυτήν, θα παίζει random και ο Heuristic.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 19, 2010, 12:05:09 pm
Απλά στην evaluate πρέπει να αφαιρείς σημαντικό μέρος του βαθμού αξιολόγησης ανάλογα με το πόσα πούλια φαγώθηκαν.

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

Οπότε και θα την επιλέξει ως βέλτιστη κίνηση


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: abadasa13 on December 19, 2010, 16:21:15 pm
να ρωτησω και εγω κατι... βαζω να παιξει η ραντομ και δεν πουσαρει ποτε τον αντιπαλο... εχω εγω κατι λαθος ή σε ολους ετσι ειναι?????
αμα υπαρχει λαθος θα ειναι στην vector αλλα εγω ακολουθησα κατα γραμμα τον ψευδοκωδικα της εκφωνησης....


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Turambar on December 19, 2010, 17:38:47 pm
γενικά πολύυυυύ σπάνια θα πουσάρει τον αντίπαλο. Αν θες να το τσεκάρεις για σιγουριά, βάλε να παίζεις εσύ κόντρα στην random και στήνε τα πούλια σου έτσι ώστε να υπάρχουν όσο το δυνατόν περισσότερες πιθανότητες να σε πουσάρει. Είναι τόσες πολλές οι δυνατές κινήσεις γενικά που για να τύχει να πετύχει την σωστή κίνηση θα σου πάρει πολύ ώρα.

Άσχετο το παιχνίδι τελειώνει όταν τα πούλια του ενός παίχτης τελειώσουν ή όταν κάποιος βγάλει 6 πούλια του αντιπάλου?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on December 19, 2010, 17:43:51 pm
Ισχυει αυτο που λεει ο τουραμ. Πολυ σπανια σπρωχνει εκτος ταμπλο ο random, αλλα σπρωχνει! Είναι καθαρα θεμα τυχης.


Άσχετο το παιχνίδι τελειώνει όταν τα πούλια του ενός παίχτης τελειώσουν ή όταν κάποιος βγάλει 6 πούλια του αντιπάλου?

Οταν καποιος βγαλει 6 πουλια του αντιπαλου!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: abadasa13 on December 19, 2010, 17:49:40 pm
Κατ'αρχάς, ευχαριστώ για την ενημέρωση σχετικά με τη ράντομ γιατί με είχε ανησυχήσει το όλο θέμα...
Έχω βέβαια και ακόμα ένα θέμα: Ολοκλήρωσα (υποτίθεται) την evaluate, είμαι σίγουρος ότι επιστρέφει αριθμό απο -100 εώς 100, αλλά παρολ'αυτά η Heuristic δεν κάνει καμία κίνηση...
Να υποθέσω αυτή η %$^&%&^% Vector έχει πρόβλημα; Ακόμα και όταν βάζω τυχαίο (σταθερό) αριθμό δε λειτουργεί...
Γενικότερα ψιλοπαράνοια η εργασία...(ή παρανοϊκή είναι η υλοποίησή μου, δεν είμαι σίγουρος... :D )

Υ.Γ. Με 6 πούλια του αντιπάλου εκτός τελείωνει το παιχνίδι.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Turambar on December 19, 2010, 18:03:39 pm
Γενικά η evaluate δεν χρειάζεται να επιστρέφει κάποιο συγκεκριμένο πεδίο τιμών.
Απλά πρέπει να φροντίσεις να ορίσεις τι αριθμούς να στέλνει για κάθε πιθανό ταμπλώ.

Αν δεν κάνει καμία κίνηση κάτι χαζό παίζει. Το πιο πιθανό είναι να μην επηρεάζει ο κώδικας σου το τι επιστρέφει η evaluate, με αποτέλεσμα να βαθμολογεί ίσα όλες τις κινήσεις και έτσι να κάνει τετριμένες επιλογές. (πχ να κινεί το τελευταίο δυνατό πούλι).
Θα πρότεινα πάντως, στους παράγοντες σας να προσθέτεται με πολύ μικρό βάρος και έναν τυχαίο παράγοντα, ώστε αν όλες οι δυνατές κινήσεις ναι είναι ισάξιες, να επιλέγει μια τυχαία, αλλιώς κινδυνεύει να μπει σε επαναλαμβανόμενες κινήσεις ο Heuristic.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Turambar on December 19, 2010, 18:11:54 pm
Υπάρχει ένας τρόπος για να κάνετε τον Heuristic ανίκητο από κάθε αντίπαλο.


Κάντε έλεγχο για το πόσα πούλια έχουν βγει. Αν έχουν βγει 5 δικά σας... βάλτε τον αλγόριθμο σε ένα ατέρμονο loop.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Moiss25 on December 19, 2010, 19:25:50 pm
Paidia,thelw kai egw tin vohtheia sas, gia to pws elegxoume tin kateufunsi twn triwn pouliwn?? ennow stin findAllMoves gia tin periptwsi twn triwn pouliwn!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Turambar on December 19, 2010, 21:40:21 pm
τους γείτονες για ένα πούλι τους βρίσκουμε με το findAllNeighbors.
Η κατεύθυνση στην οποία είναι ένας γείτονας φαίνεται από το πια θέση παίρνει στον τελικό πίνακα 6 κελιών που εξάγει αυτή η συνάρτηση.
πχ αν είναι πάνω αριστερά θα είναι το πρώτο στοιχείο του πίνακα

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




Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Moiss25 on December 19, 2010, 22:25:26 pm
Diladi na elegxw ousiastika tous deiktes me tous opoious pernaw apo tous geitones tou from1 kai tou from2, ean einai idioi kai to xrwma amesws meta? To dokimasa kai nomizw pws mou leitourgise! Se efxaristw polu!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 22, 2010, 20:18:35 pm
Μπορεί να με πει κάποιος γιατί η evaluate που εδωσαν νικάει την δικιά μου 6-3?  :D


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Turambar on December 23, 2010, 10:36:06 am
Γιατί παίζει πρώτη? :P


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 23, 2010, 12:01:43 pm
Όντως μετά την άλλαξα να παίζει τα ασπρα και την νικησα 6-2  8))

Αν και τίποτα από αυτά δεν έχει σχέση αφού όλες κοιτάν μόνο 1 θέση μπροστά


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Turambar on December 23, 2010, 14:31:19 pm
Βγάζει πάντα το ίδιο αποτέλεσμα?

Βάλτε λίγο random στην ζωή σας...


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Κάρβουνο on December 25, 2010, 16:04:59 pm
Από το pdf που έδωσαν, δε μπορώ να καταλάβω , αν μπορώ να χρησιμοποιήσω την evaluate τους, αν δε δουλεύει η δικιά μας;
Αν όχι τι την έδωσαν


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 25, 2010, 16:13:07 pm
βάλε όποια evaluate θες..αυτοί θα βαθμολογήσουν την άλλη μέθοδο που ζητάει η άσκηση


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Godhatesusall on December 27, 2010, 14:43:47 pm
Ένας μυστικός πράκτορας, μου είπε να σας πω τα εξής:

 "i evaluate pou dinei kanei pra3eis 8ewrontas oti o player einai panta o mauros, opote ypologizei la8os otan paizei gia ton aspro"


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Κάρβουνο on December 27, 2010, 20:02:47 pm
Εμένα αντί να μου βγεί δέντρο μου βγήκε πίνακας από λίστες που καλύτερα θα δούλευε σαν 2-διάστατος πίνακας αντικειμένων.

Για να βρώ την καλύτερη κίνηση, βάζω στη ρίζα όλες τις κινήσεις. Για κάθε κίνηση φτιάχνω μόνο ένα παιδί με την καλύτερη απάντηση του αντιπάλου  και μετά άλλο ένα παιδί με την δική μου καλύτερη απάντηση. Μετά ψάχνω να βρώ από τα φύλα ποιο έχει καλύτερη evaluate. Πώς λύνεται με δέντρα η άσκηση; Δε χρειάζονται λεπτομέρειες απλώς κάτι πιο καταοπιστικό από ότι υπάρχιε στο pdf.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Κάρβουνο on December 28, 2010, 22:01:07 pm
Ο heuristic που δίνουν δεν νικά τον ράντομ... τουλάχιστον όχι σε κάθε περίπτωση. Συνήθως πάει σχετικά καλά, αλλά το πρόγραμμα τερματίζει από stack overflow.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: copernicus on December 29, 2010, 13:36:58 pm
για να κάνουμε το δέντρο πρέπει να χρησιμοποιήσουμε interface?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on December 30, 2010, 12:36:49 pm
Μπορούμε να φτιάξουμε και δικιά μας, βοηθητική κλάση ή απαγορεύεται? :???:


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on January 04, 2011, 11:09:17 am
Μπορούμε να φτιάξουμε και δικιά μας, βοηθητική κλάση ή απαγορεύεται? :???:

Δεν νομιζω να απαγορευεται! Αλλιως πως θα φτιαξεις τους κομβους του δεντρου? (Εγω εφτιαξα μια κλαση Node που αναπαριστε εναν κομβο του δεντρου)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: christinette on January 05, 2011, 11:29:35 am
Το δεντρο που καλούμαστε να δημιουργήσουμε είναι δυαδικό δέντρο αναζήτησης?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on January 05, 2011, 14:05:44 pm
Το δεντρο που καλούμαστε να δημιουργήσουμε είναι δυαδικό δέντρο αναζήτησης?

Μπα δεν νομιζω...

Εγω εκανα ενα δεντρο, που στην ριζα ηταν η τρεχουσα κατασταση, και είχε τόσα παιδιά όσα και ο αριθμός των διαθέσημων κινήσεων. Και επίσης για κάθε ένα από του κόμβους που δημιουργηθηκαν (παιδια της ριζας), εφτιαξα παλι τοσα παιδια οσα ο αριθμος διαθεσιμων κινησεων του αντιπαλου...(αυτο επειδη ζηταγε δεντρο με βαθως 2, δηλαδη μια κινηση δικια μας και μια του αντιπαλου)

Ελπιζω να πιανεις την λογικη...


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on January 05, 2011, 14:37:44 pm
Πόση ώρα σας πιάνει μια κίνηση σε sec?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: arashi on January 05, 2011, 14:56:11 pm
It's official


il capitano is the man


the  javaman


 ;)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: christinette on January 05, 2011, 15:45:18 pm
Πόση ώρα σας πιάνει μια κίνηση σε sec?

εγω -που ακομη δεν την εχω ολοκληρωσει- ο μινιμαξ παιχτης αργει πολυ να κανει μια κινηση. μπορει να χρειαζεται και μισο με ενα λεπτο.

Το δεντρο που καλούμαστε να δημιουργήσουμε είναι δυαδικό δέντρο αναζήτησης?

Μπα δεν νομιζω...

Εγω εκανα ενα δεντρο, που στην ριζα ηταν η τρεχουσα κατασταση, και είχε τόσα παιδιά όσα και ο αριθμός των διαθέσημων κινήσεων. Και επίσης για κάθε ένα από του κόμβους που δημιουργηθηκαν (παιδια της ριζας), εφτιαξα παλι τοσα παιδια οσα ο αριθμος διαθεσιμων κινησεων του αντιπαλου...(αυτο επειδη ζηταγε δεντρο με βαθως 2, δηλαδη μια κινηση δικια μας και μια του αντιπαλου)

Ελπιζω να πιανεις την λογικη...

οκ ευχαριστω πολυ! και εγω αυτο σκεφτηκα απλα θα ηταν πολυ πιο απλα τα πραγματα αν ηταν δυαδικο.  :D

It's official


il capitano is the man


the  javaman


 ;)

yes indeed! ^hello^


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on January 05, 2011, 19:26:29 pm
Πόση ώρα σας πιάνει μια κίνηση σε sec?

Εμενα για ελεγχο 2 κινησεων (εμου και του αιδιου, εεε του αντιπαλου) το κανει σε λιγοτερο απο σεκ (λιγο πιο αργα απ'τον εβριστικ). Δοκιμασα να υπολογισω και με τρεις κινησεις αλλα τοτε εκανε περι τα 10 σεκ.


Υ.Γ. παιζει μεγαλο ρολο και η evaluate. με την δικια μου που ειναι λιγο τεραστια ειναι πιο αργο, ενω με αυτη που εδωσε επειδη ειναι πιο συνοπτικη ειναι πιο γρηγορη!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: beefheart on January 12, 2011, 12:23:01 pm
μήπως μπορεί κάποιος να μου εξηγήσει τι ακριβώς χρειάζεται ο έλεγχος με την isblack() στο αντίγραφο του παιχνιδιού;
(να φανταστώ επίσης οτι η αντιγραφή της κίνησης είναι η ήδη γραμμένη στον κώδικα της getmextmoveminimax)


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: anastasia on January 12, 2011, 17:14:06 pm
μήπως μπορεί κάποιος να μου εξηγήσει τι ακριβώς χρειάζεται ο έλεγχος με την isblack() στο αντίγραφο του παιχνιδιού;
(να φανταστώ επίσης οτι η αντιγραφή της κίνησης είναι η ήδη γραμμένη στον κώδικα της getmextmoveminimax)


+1


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Chester on January 12, 2011, 19:10:11 pm
Το δεντρο που θα δημιουργησουμε ειναι δυαδικο??
Αν δεν ειναι, πως θα τροποποιηουμε τις κλασεις node και tree οι οποιες ειναι για δυαδικα δεντρα??


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: provataki on January 12, 2011, 22:18:29 pm
προφανως το δεντρο δεν ειναι δυαδικο!
δυαδικο σημαινει οτι κάθε κόμβος έχει 2 παιδιά.
κάθε παιδί αντιπροσωπεύει μια κίνηση.
Για να είναι δυαδικό θα πρέπει για κάθε κίνηση, να υπάρχουν μόνο δυο πιθανές απαντήσεις-κινήσεις το οποιο προφανέστατα δεν ισχύει.(μια εμπειρική εκτίμηση που έκανα μου έδωσε περίπου 60 κινήσεις σε πρώτη φάση-αν θυμάμαι καλά ο πρώτος που παίζει έχει 61 κινήσεις)

στην περίπτωση μας, οι μεταβλητές left και right child θα πρεπει να αντικατασταθούν με μια δομή ικανή να αποθηκεύσει όλα τα παιδια (ο αριθμος του προσδιοριζεται απο το moves.size() - το οποιο καλο ειναι να μπει ορισμα στον constructor της κλάσης node). Η πιο απλή λύση είναι να περιέχει η κλάση Node ενα πινακα τυπου Node που θα δηλωνεται γενικα σαν μεταβλητη και στη συνεχεια στον constructor θα παίρνει το όρισμα απο το size() του διανύσματος των κινήσεων, οπου θα μπουν τα παιδιά. Εναλλακτικά μπορούμε να χρησιμοποιήσουμε vector τυπου Node- αλλά αυξάνεται τσάμπα η πολυπλοκότητα στις εκφράσεις.

Εγώ το έφτιαξα(όπως και πολλοι αλλοι συνάδελφοι) χωρίς πρόσθετη κλάση Tree. Μια δοκιμή που έκανα να φτιάξω δέντρο με τους κόμβους αύξησε σημαντικά το χρόνο κάθε κίνησης(τώρα είμαι στα 10sec περίπου) γιατί έκανε extra δουλειά να πάρει τους κόμβους και να τους αποθηκεύσει σε ενα vector το οποίο στη συνέχεια και χειριζόμουν.

tip: στην κλάση Node ορίστε οσο το δυνατον λιγότερες μεταβλητές και συναρτήσεις!!!!!! Εγώ τη δήλωσα public οπότε αναφέρομαι άμεσα χωρίς get-set μεθόδους στις μεταβλητές της.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on January 12, 2011, 23:15:11 pm
tip: στην κλάση Node ορίστε οσο το δυνατον λιγότερες μεταβλητές και συναρτήσεις!!!!!! Εγώ τη δήλωσα public οπότε αναφέρομαι άμεσα χωρίς get-set μεθόδους στις μεταβλητές της.

γιατί?!?!?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: geor on January 12, 2011, 23:23:56 pm
Ρε παιδιά, έχω μια απορία. Η createSubtree πόσα υποδέντρα δημιουργεί? Γιατί απ' ότι κατάλαβα από τον ψευδοκώδικα τρέχει μια φορά με όρισμα επιπέδου 0 και δημιουργεί ένα υποδέντρο με τις δικές μας πιθανές κινήσεις, μετά άλλη μία με όρισμα depth=1, όπου δημιουργεί ένα υποδέντρο με τις απαντήσεις του αντιπάλου σε κάθε μας κίνηση, και τέλος καλεί άλλη μια φορά την createSubtree για βάθος=2 όπου και έχουμε τις δικιές μας απαντήσεις στις αντίστοιχες απαντήσεις του αντιπάλου...
Κανονικά θα έπρεπε να έχουμε μόνο δυο υποδέντρα, ένα με τις δικές μας κινήσεις και ένα με του αντιπάλου. Κάνω κάποιον λάθος υπολογισμό?


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on January 13, 2011, 02:13:47 am
Ρε παιδιά, έχω μια απορία. Η createSubtree πόσα υποδέντρα δημιουργεί? Γιατί απ' ότι κατάλαβα από τον ψευδοκώδικα τρέχει μια φορά με όρισμα επιπέδου 0 και δημιουργεί ένα υποδέντρο με τις δικές μας πιθανές κινήσεις, μετά άλλη μία με όρισμα depth=1, όπου δημιουργεί ένα υποδέντρο με τις απαντήσεις του αντιπάλου σε κάθε μας κίνηση, και τέλος καλεί άλλη μια φορά την createSubtree για βάθος=2 όπου και έχουμε τις δικιές μας απαντήσεις στις αντίστοιχες απαντήσεις του αντιπάλου...
Κανονικά θα έπρεπε να έχουμε μόνο δυο υποδέντρα, ένα με τις δικές μας κινήσεις και ένα με του αντιπάλου. Κάνω κάποιον λάθος υπολογισμό?

Σωστος εισε φιλε. Δεν εχει νοημα να τελειωνει το δεντρο σε δικια σου κινηση, πρεπει παντα να τελειωνει σε κινηση του αντιπαλου, οποτε θα πάς <1 ή <3 ή <5 κλπ!


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ALEO on January 13, 2011, 02:20:28 am
Μπορουμε να κανουμε μια διαφορετικη υλοποιηση απο αυτη του ψευδοκωδικα της εκφωνησης??
 πχ να χρησημοποιουμε πολλα δυαδικα δεντρα αντι για ενα μη δυαδικο.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on January 13, 2011, 12:33:16 pm
Τα πάντα επιτρέπονται αρκεί να λειτουργεί. Μπορείς να φτιάξεις και δικές σου άσχετες μεθόδους/κλάσεις

Αλλά γιατί να θες να το κάνεις αυτό στην ζωή σου ?  :D


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ALEO on January 13, 2011, 14:15:23 pm
Επειδη δεν θελω να τροποποιησω τις κλασεις node και tree του βιβλιου και να μπορω να χρησημοποιησω τις συναρτησεις insert και minimum οπως ειναι. (προφανως δεν ξερω να χειριζομαι μη δυαδικα δεντρα   ;)    :P )


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ktsourap on January 13, 2011, 14:19:19 pm
τελικα η isblack που χρησιμοποιειται??


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: provataki on January 13, 2011, 14:42:07 pm
tip: στην κλάση Node ορίστε οσο το δυνατον λιγότερες μεταβλητές και συναρτήσεις!!!!!! Εγώ τη δήλωσα public οπότε αναφέρομαι άμεσα χωρίς get-set μεθόδους στις μεταβλητές της.

γιατί?!?!?

καθαρα για λογους απλοτητας των εκφρασεων. δηλωνεις public τη node και καθαρισες...  :P


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: il capitano on January 13, 2011, 15:44:16 pm
τελικα η isblack που χρησιμοποιειται??

Γενικα την χρησιμοποιεις για να καλεσεις την evaluate().

Επειδη κανεις κοπι το παιχνιδι, την evaluate πρεπει να την καλεις καθε φορα για τον παικτη που παιζει και οχι για την κλαση player. Δηλαδη κανεις κατι του στιλ:

Code:
if(isBlack()) gameCopy.getPleyreForColor(Color.black).evaluate(gameCopy);
else gameCopy.getPleyreForColor(Color.white).evaluate(gameCopy);


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: geor on January 13, 2011, 21:14:54 pm
Thx για την απάντηση il capitano!!!
Πάντως αυτό που λέτε για την evaluate ότι κάθε φορά την καλείς για τον παίχτη που παίζει δεν ξέρω αν ο minimax θα βγάλει σωστό αποτέλεσμα. Όταν η evaluate τρέξει στο ένα επίπεδο για τον άσπρο θα δίνει θετικές τιμές στις καλύτερες γι αυτόν καταστάσεις, ενώ όταν θα τρέξει για τον μαύρο στο άλλο επίπεδο θα δίνει θετικές τιμές πάλι στις καλύτερες για τον μαύρο καταστάσεις. Οπότε εδώ αν τρέξεις τον minimax η μικρότερη τιμή στο δεύτερο επίπεδο δεν αντιπροσωπεύει την καλύτερη για τον αντίπαλο (μαύρο) κατάσταση. Νομίζω πως πρέπει να τρέξεις την evaluate κάθε φορά για τον ίδιο παίχτη(εσένα) ώστε να αξιολογεί ως πολύ θετικές στο ένα επίπεδο και ως πολύ αρνητικές στο άλλο τις ευνοϊκές για τους δυο παίχτες καταστάσεις.


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: ggpyr on January 14, 2011, 17:53:36 pm
Δουλεύει όπως και νά χει. Αν την καλείς κάθε φορά από τον this θα πρέπει να βάλεις έλεγχο
αν ο παίκτης στο βάθος minimax n που καλεί την evaluate έχει το ίδιο χρώμα με τον this ή όχι.

Αλλιώς κάθε φορά παίρνεις την μέγιστη τιμή evaluate.

Εγώ το έκανα με το 1ο


Title: Re: [Δομές Δεδομένων] Εργασίες 2010-2011
Post by: Αθηρ on January 14, 2011, 22:40:09 pm
Ρε παίδες ο παίκτης μου ενώ επιλέγει την κίνηση που τελικά θα παίξει ΔΕΝ ΘΕΛΕΙ ΝΑ ΤΗΝ ΠΑΙΞΕΙ!..Την κίνηση εννοώ... Είχε κανείς παρόμοιο πρόβλημα; Επισυνάπτω και τα printscreen για απόδειξη ότι υπάρχει όντως κίνηση για να παιχτεί..Πάει πουθενά το μυαλό σας;