Εργασία 1 - Facility Game [2014-15]

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό sgyftopo » 16 Νοέμ 2014, 21:50

1)Η getMoveLocation επιστρέφει τις θέσεις των κόμβων που έχουν καταληφθεί και από του δύο παίκτες μέχρι τη συγκεκριμένη στιγμή στο παιχνίδι (π.χ. όταν επιστρέφει σε μορφή vector τους αριθμούς 12,24,7,13,5 σημαίνει ότι ο PLAYER_A έχει δεσμευσει τους κόμβους 12, 7 και 5 ενώ ο PLAYER_B έχει δεσμεύσει τους κόμβους 24 και 13).
2)Η getMoveByPlayer επιστρέφει τη σειρά με την οποία έχουν παίξει οι παίκτες (PLAYER_A, PLAYER_B,PLAYER_A, PLAYER_B,...)
3) Το ArrayIndexOutOfBoundsException εμφανίζεται όταν προσπαθούμε να προσπελάσουμε μια θέση σε πίνακα ( ή σε vector) που είναι εκτός ορίων (π.χ. ο πίνακας έχει 40 θέσεις - από 0 έως και 39 - και εμείς προσπαθούμε να προσπελάσουμε τη θέση 40 ή -1).
4)Τα παιχνίδια τύπου COPY δε μπορούν να εκτελεστούν τοπικά. Εκτελούνται μόνο στο euclid.ee.duth.gr. Επίσης, τα παιχνίδια τύπου COPY πρέπει να εκτελεστούν στο port 4471.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό virusx2 » 16 Νοέμ 2014, 23:32

Για το παιχνίδι τύπου copy, θα πρέπει να γίνει νέος παίκτης ή μπορούμε με τον ίδιο βάζοντας ένα if ή switch να επιλέγουμε κάθε φορά; Προγραμματιστικά γίνεται, εννοώ αν το δέχεστε έτσι;
Άβαταρ μέλους
virusx2
Jr. Member
 
Δημοσιεύσεις: 93
Εγγραφή: 15 Δεκ 2010, 02:18

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό ioanbout » 17 Νοέμ 2014, 17:41

Κύριε , αντιμετωπίζω ένα πρόβλημα και όταν τρέχω τον Copy player μου βγάζει μήνυμα ειδοποίησης :Wrong Personal Informations !!! , ενώ έχω τοποθετήσει σωστά και τον αριθμό μητρώου μου και το ονοματεπώνυμό μου . Τι μπορώ να κάνω ;
ioanbout
Newbie
 
Δημοσιεύσεις: 1
Εγγραφή: 11 Μαρ 2013, 12:29

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό sgyftopo » 17 Νοέμ 2014, 21:07

1)Καλύτερα να δημιουργήσετε δύο κλάσεις (όπως αναφέρεται και στην εκφώνηση) όπου κάθε μια θα υλοποιεί τη στρατηγική που ζητείται για να καλύψετε τα απαιτούμενα της εργασίας. Έτσι θα είναι και πιο απλή η δομή της στρατηγικής σας.
2)Για να εκτελέσετε τα παιχνίδια στον server πρέπει να είναι συμπληρωμένα σωστά τα στοιχεία σας και κυρίως ο ΑΜ σας (πρέπει να είναι ο πλήρης ΑΜ με μορφή 5****).
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό stylpapa1 » 18 Νοέμ 2014, 12:59

Πως μπορούμε να συγκρίνουμε το αποτέλεσμα της getMoveLocation που είναι τύπου vector με έναν άλλο πινάκα τύπου array?Θα πρέπει να το μετατρέψουμε πρώτα?
stylpapa1
Newbie
 
Δημοσιεύσεις: 4
Εγγραφή: 23 Ιαν 2013, 13:57

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό vagelislinar » 18 Νοέμ 2014, 15:56

sgyftopo έγραψε:Εδώ μπορείτε να υποβάλετε ερωτήσεις σχετικά με την 1η εργασία.


1ον όσον αφορά το normal type, όταν τρέχω το server με τις παραμέτρους 1500-234, 1500-235 δε μου εμφανίζει αποτέλεσμα. Μου δείχνει στη console τις κινήσεις και τα nodes που έχουν επιλεγεί κανονικά αλλά δε μου εμφανίζει τα αποτελέσματα.

2ον για το game type copy προσπαθώ να φτιάξω καινούργια κλάση για να φτιάξω τη στρατηγική μου και δεν μπορώ να τη δηλώσω στο createPlayerObject. Τι γίνεται ακριβώς? Πώς πρέπει να δηλώσω αυτό το type (copy) στο eclipse?
Τελευταία επεξεργασία από Seitjo90 και 18 Νοέμ 2014, 16:09, έχει επεξεργασθεί 1 φορά/ες συνολικά
Αιτία: Επεξεργασία δημοσίευσης - Μετατροπή greeklish σε πεζά ελληνικά
vagelislinar
Newbie
 
Δημοσιεύσεις: 1
Εγγραφή: 30 Ιουν 2012, 14:36

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό ThanksForStoppingBy! » 18 Νοέμ 2014, 18:32

vagelislinar έγραψε:
1ον όσον αφορά το normal type, όταν τρέχω το server με τις παραμέτρους 1500-234, 1500-235 δε μου εμφανίζει αποτέλεσμα. Μου δείχνει στη console τις κινήσεις και τα nodes που έχουν επιλεγεί κανονικά αλλά δε μου εμφανίζει τα αποτελέσματα.

Εφόσον σου δείχνει τις κινήσεις, απλά κάνε scroll up, είναι κάπου στην μέση της κονσόλας τα αποτελέσματα.
Αλλιώς, απλώς βάλε αντί για TRUE, FALSE και θα σου βγάζει μόνο το αποτέλεσμα.

vagelislinar έγραψε:2ον για το game type copy προσπαθώ να φτιάξω καινούργια κλάση για να φτιάξω τη στρατηγική μου και δεν μπορώ να τη δηλώσω στο createPlayerObject. Τι γίνεται ακριβώς? Πώς πρέπει να δηλώσω αυτό το type (copy) στο eclipse?

Ακολουθείς ακριβώς τις ίδιες οδηγίες.

Φτιάχνεις μια νέα κλάση, πχ CopyClass.

Φτιάχνεις νέο case στην CreatePlayerObject.java

case CopyPlayer:
player = new CopyClass(playerAorB);
break;


Και το βάζεις το όνομα που επέλεξες στην case και στο EnumPlayerType.java.

Μετά στον client επιλέγεις ως πρώτη παράμετρο το CopyPlayer και τον αγώνα ως COPY.
ThanksForStoppingBy!
Jr. Member
 
Δημοσιεύσεις: 82
Εγγραφή: 22 Ιαν 2013, 13:53

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό savvkech » 18 Νοέμ 2014, 19:00

Που ανεβάζουμε τα Proof of Participation και τα .java αρχεια μας?
savvkech
Newbie
 
Δημοσιεύσεις: 8
Εγγραφή: 22 Ιαν 2013, 13:54

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό nikos_karampasis » 18 Νοέμ 2014, 19:08

Δεν μου βγαζει το πιστοποιητικο στο τελος στην κονσολα . Γιατι?
nikos_karampasis
Newbie
 
Δημοσιεύσεις: 5
Εγγραφή: 20 Μαρ 2013, 14:50

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό andrsymi » 18 Νοέμ 2014, 19:26

O παίχτης μου τρέχει κανονικά και νικάει όλες τις παρτίδες έκτος απο μία ( vs FPLAYER_SIMPLE_1 για n:=40, seed:=3158)
Τι μπορεί να φταίει;;;
andrsymi
Newbie
 
Δημοσιεύσεις: 4
Εγγραφή: 02 Νοέμ 2012, 17:16

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό sgyftopo » 18 Νοέμ 2014, 20:08

Σχετικά με τα προηγούμενα posts:

1)Για να προσπελάσετε τα στοιχεία ενός αντικειμένου Vector μπορείτε να χρησιμοποιήσετε τη συνάρτηση get() στο αντικείμενο. Έτσι για να συγκρίνετε μια τιμή του Vector που περιέχει ακεραίους με μια τιμή ενός πίνακα ακεραίων μπορείτε να κάνετε game.getMoveLocation().get(i) == ar[i] όπου ar ένας πίνακας ακεραίων. Προσοχή χρειάζεται στις τιμές που μπορεί να πάρει το i, καθώς το μέγεθος του vector game.getMoveLocation() είναι μεταβαλλόμενο κατά την διάρκεια του παιχνιδιού.

2)Όταν εκτελούμε παιχνίδι με πολλούς κόμβους και ρύθμιση για αναλυτική εμφάνιση μηνυμάτων, η κονσόλα "πλημμυρίζει" από μηνύματα και κρατά μόνο τα τελευταία με αποτέλεσμα να μην εμφανίζεται το αποτέλεσμα. Μπορούμε να αυξήσουμε το πλήθος χαρακτήρων στην κονσόλα από το μενού Window ->Preferences->Run/Debug->Console->Console buffer size. Η ρύθμιση αυτή ισχύει για τις επόμενες εκτελέσεις.

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

4)Η φόρμα υποβολής των αποτελεσμάτων θα ανακοινωθεί άμεσα. Επίσης, θα υπάρχει αρχείο στο eclass που θα εμφανίζει τα βήματα καταχώρησης των αποτελεσμάτων.

5)Σε κάθε εκτέλεση παιχνιδιού στο euclid.ee.duth.gr εμφανίζει αποδεικτικό (proof of participation). Αν δεν εμφανίζεται ίσως οφείλεται στο μικρό πλήθος χαρακτήρων που μπορεί να εμφανίζει η κονσόλα. Δείτε τη 2η απάντηση στο παρόν post.

6)Στις παρτίδες με λίγους κόμβους μπορεί να εμφανιστεί το φαινόμενο να χάνουμε από τον FPLAYER_SIMPLE_1 επειδή η στρατηγική μας δεν προλαβαίνει να "αποδώσει" λόγω του μικρού πλήθους των κινήσεων. Αν ελέγξουμε τις κινήσεις του αντιπάλου μπορούμε να εντοπίσουμε τι ακριβώς συμβαίνει και να προσαρμόσουμε ανάλογα τη στρατηγική μας.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό Hountiny » 19 Νοέμ 2014, 01:24

Καλησπέρα σας,

Στις server-ports πρωταθλητών ο server δεν μας αφήνει να παίξουμε ως PLAYER_Α, οπότε εκτυπώνει:
java.lang.IllegalArgumentException: No enum constant facilityGame.EnumPlayer.PLAYER_Α
FClient will be by default: PLAYER_B

Ευχαριστώ εκ των προτέρων
Hountiny
Newbie
 
Δημοσιεύσεις: 4
Εγγραφή: 19 Ιαν 2013, 13:34
Φοιτητής ΗΜΜΥ: Ναι

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό Hountiny » 19 Νοέμ 2014, 01:38

Βρήκα άκρη.
Απλά προσέχετε όταν αλλάζετε το PLAYER_B σε PLAYER_A να γράφετε το Α στα Αγγλικά και όχι στα Ελληνικά. (μην έχετε ξεχάσει το πληκτρολόγιο στα Ελληνικά)
Hountiny
Newbie
 
Δημοσιεύσεις: 4
Εγγραφή: 19 Ιαν 2013, 13:34
Φοιτητής ΗΜΜΥ: Ναι

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό petris » 19 Νοέμ 2014, 12:28

Ποια είναι η μεγαλύτερη αξία που μπορεί να έχει ένας κόμβος?
petris
Newbie
 
Δημοσιεύσεις: 7
Εγγραφή: 10 Δεκ 2012, 20:32

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό michterz » 19 Νοέμ 2014, 13:29

public int [][] sort(FacilityGameAPI game){
int[] a= game.getValue();
int[][] b=new int[1][n-1];
int swap ;
for (int i=0;i<n ; i++){
b[0][i]=a[i];
b[1][i]=i;
}


for ( int c = 0; c < ( n - 1 ); c++) {
for ( int d = 0; d < n - c - 1; d++) {
if (b[0][d] <b[0][d+1])
{
swap = b[0][d];
b[0][d] = b[0][d+1];
b[0][d+1] = swap;
swap = b[1][d];
b[1][d] = b[1][d+1];
b[1][d+1] = swap;
}
}
}
return b ;
}


public int nextMove(FacilityGameAPI game) {
int move = -1;



// Select which free location (move = location) to occupy

// Trivial choice: Select the first free location
for (int i = 0; i< n; i++) {
int[][] b=sort(i);
if (game.getStatus(b[1][i]) == EnumFacilityStatus.FREE) {
// Select location/node i
move = b[1][i];
// The values of the locations are stored in the array
// game.value
// int locationValue = game.value[i];

break; // Abandon the loop
}
}
ΤΙ ΛΑΘΟΣ ΕΧΩ Κ ΔΕΝ ΚΑΛΕΙ ΤΗΝ short??
michterz
Newbie
 
Δημοσιεύσεις: 1
Εγγραφή: 10 Απρ 2013, 15:03

ΠροηγούμενηΕπόμενο

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης

cron