Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014. Σωτήρης Γυφτόπουλος



Σχετικά έγγραφα
Οδηγίες Εργασίας 1 Facility-Game

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

ΕΡΓΑΣΙΑ 2 - MOODLE ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ακ. Έτος ΔΙΔΑΣΚΩΝ: Π. Εφραιμίδης. Υπεύθυνος εργαστηρίου: Α. Κουτσιαμάνης

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. DS Gomoku.

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ.

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Δημιουργία μιας εφαρμογής Java με το NetBeans

Προγραμματισμός 2 Σημειώσεις εργαστηρίου

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Μάθηση του παιχνιδιού British square με χρήση Temporal Difference(TD) Κωνσταντάκης Γιώργος

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α

Υπολογιστικά Συστήματα

ANDROID Προγραμματισμός Εφαρμογών

Γνωρίστε το Excel 2007

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

Κλιμάκιο Πληροφορικής Σεμινάρια για τα λογισμικά κλειστού τύπου Κύκλος Α

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών. ΤΗΜΜΥ Α.Π.Θ Δευτέρα 22 / 11 / 2017 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

Ενότητα: GameMaker Τα βασικά. Δημιουργώντας ένα παιχνίδι µε το GameMaker

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

ΟΔΗΓΙΕΣ FTP ΣΥΝΔΕΣΗΣ

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch

server : Ο υπολογιστής του καθηγητή που θέλουμε να ελέγχει τους υπόλοιπους του εργαστηρίου client : Οι υπολογιστές των μαθητών

Με λίγα λόγια, το TCP/IP καθορίζει τον τρόπο που πακετάρονται και μεταφέρονται τα δεδομένα της σύνδεσής μας.

XAMPP Apache MySQL PHP javascript xampp

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

App Inventor 5ο Μάθημα (Κορώνα γράμματα - επέκταση)

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

Σχεδιασμός Βάσεων Δεδομένων

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών. ΤΗΜΜΥ Α.Π.Θ Πέμπτη 11 / 12 / 2014 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ

Μάθημα 1: Εισαγωγή. Κάνε κλικ την εντολή "κινήσου" και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

SPSS Statistical Package for the Social Sciences

Hase οδηγίες χρήσης.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

SBOX-II B. Driver B version 1.01

ΣΥΧΝΕΣ ΕΡΩΤΗΣΕΙΣ. Ε: ΠΟΙΕΣ ΕΙΝΑΙ ΟΙ ΠΡΟΫΠΟΘΕΣΕΙΣ ΤΟΠΟΥ ΚΑΤΟΙΚΙΑΣ ΓΙΑ ΟΣΟΥΣ ΘΕΛΟΥΝ ΝΑ ΑΓΩΝΙΣΤΟΥΝ; Α: Αυτή η διοργάνωση αφορά μόνο την Ελλάδα, επομένως:

Slalom Race Computer Game on Scratch

App Inventor 3ο Μάθημα (Ζάρια - επέκταση)

Οδηγίες Εγκατάστασης της εφαρμογής Readium και Readium για μαθητές με αμβλυωπία για την ανάγνωση βιβλίων epub σε Υπολογιστή.

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Το βιβλίο διευθύνσεων των Windows

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Δημιουργώντας ένα παιχνίδι λαβυρίνθου(maze game) με εμπόδια

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΜΑΘΗΜΑΤΩΝ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑΣ ΣΤΟΙΧΕΙΩΝ ΚΑΙ ΕΠΙΔΟΣΕΩΝ ΦΟΙΤΗΤΩΝ. Σταθάκης Απόστολος Α.Ε.Μ.

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

Αντικειμενοστρεφής Προγραμματισμός

Hase οδηγίες χρήσης.

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

50 Ketseo,Theoni Sarif,Omar 104

Προγραμματιστικό Περιβάλλον

Δημιουργία τρισδιάστατου παιχνιδιού οδήγησης 1ο μέρος

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

ΟΔΗΓΙΕΣ ΧΡΗΣΤΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΑΞΗΣ

Οδηγίες Χρήσης της MySQL

οδικός χάρτης Μπάμπης Γούτσος V6 Δεκέμβριος 2016

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών. ΤΗΜΜΥ Α.Π.Θ Τρίτη 1 / 12 / 2015 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

1ο Φύλλο Εργασίας. της παλέτας Ήχος. Πώς μπορούμε να εισάγουμε και να αναπαράγουμε έναν ήχο;

Ενότητα. Εισαγωγή στη Microsoft Access

οδικός χάρτης Μπάμπης Γούτσος V7 Νοέμβριος 2017

Epsilon Net PYLON Platform

Πώς το λένε Computer game στο Scratch

Διδακτική ενότητα: Το φυσικό περιβάλλον (Το ανάγλυφο της Γης)

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

MEGASOFT ΤΜΗΜΑ ΤΕΧΝΙΚΗΣ ΥΠΟΣΤΗΡΙΞΗΣ. Οδηγός Σύνδεσης Ταμειακών Μηχανών Online

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

Σχέσεις Πινάκων σχέσεις1-ν

Διαδικασία εγκατάστασης και ρύθμισης AUA-VPN για Windows XP/Vista/7/8

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Υπηρεσία StudentsWeb ΟΔΗΓΟΣ ΣΠΟΥΔΑΣΤΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ TEXNOΛΟΓΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΓΙΑ ΤΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΕΓΓΡΑΦΕΣ ΚΑΙ ΔΗΛΩΣΕΙΣ ΜΑΘΗΜΑΤΩΝ

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τµήµα ιοικητικής Επιστήµης και Τεχνολογίας ΥΛΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ JAVA.

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Δραστηριότητα 1 γνωριμία με το περιβάλλον Karel

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

e - Γραμματεία Εγχειρίδιο Εγκατάστασης & Χρήσης

Εισαγωγή στη γλώσσα προγραμματισμού C++

Δημιουργία παιχνιδιού με το Game Maker

Ξεκινώντας με το MIT App Inventor 2 Μάθημα 4 Δημιουργώντας ένα απλό παιχνίδι (Κορώνα Γράμματα)

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ. ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning. Βόλτσης Βαγγέλης Α.Μ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Transcript:

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014 Σωτήρης Γυφτόπουλος

Κανόνες του Facility Game (1/4) Στο Facility Game υπάρχει ένα σύνολο κόμβων που συνδέονται «σειριακά» και κάθε κόμβος έχει έναν αριθμό αξία (value). π.χ. 9 10 3 15 7 5 8 14 13 3 Στο παιχνίδι υπάρχουν δύο παίκτες που παίζουν εναλλάξ και δεσμεύουν σε κάθε γύρω από έναν κόμβο. Η αξία του κόμβου που δεσμεύουν προστίθεται στο score κάθε παίκτη. Δεν επιτρέπεται να υπάρχουν δύο συνεχόμενοι δεσμευμένοι κόμβοι!

Στρατηγική Facility Game Η 1 η Εργασία για το μάθημα Δομές Δεδομένων αφορά στην ανάπτυξη και υλοποίηση μιας στρατηγικής για το παιχνίδι Facility Game. Καλούμαστε να αναπτύξουμε μια στρατηγική, να την υλοποιήσουμε σε Java και να την ενσωματώσουμε σε ένα υπάρχον project. Η στρατηγική μας πρέπει να επιτυγχάνει όσο το δυνατόν καλύτερα αποτελέσματα (scores) και να νικάει τουλάχιστον έναν από τους έτοιμους αντιπάλους που περιέχονται στο παιχνίδι.

Κανόνες του Facility Game (2/4) Παίκτης Α και Παίκτης Β 1 ος Γύρος: Παίκτης Α 9 10 3 15 7 5 8 14 13 3 2 ος Γύρος: Παίκτης Β 9 10 3 15 7 5 8 14 13 3 3 ος Γύρος: Παίκτης Α 9 10 3 15 7 5 8 14 13 3 4 ος Γύρος: Παίκτης Β 9 10 3 15 7 5 8 14 13 3 5 ος Γύρος: Παίκτης Α 9 10 3 15 7 5 8 14 13 3

Κανόνες στο Facility Game (3/4) Αν ένας παίκτης δεσμεύσει τρεις ή περισσότερους «συνεχόμενους» κόμβους τριπλασιάζει τις αξίες αυτών των κόμβων! π.χ. 4 ος Γύρος: Παίκτης Β 9 10 3 15 7 5 8 14 13 3 5 ος Γύρος: Παίκτης Α 9 10 3 15 7 5 8 14 13 3 Τρεις συνεχόμενοι κόμβοι

Κανόνες στο Facility Game (4/4) Μία ακόμα περίπτωση «συνεχόμενων» κόμβων: Τρεις συνεχόμενοι κόμβοι Οι κόμβοι δεν μπορούν να δεσμευτούν διότι Βρίσκονται δίπλα σε δεσμευμένους κόμβους! Καλείστε να υλοποιήσετε τη δική σας στρατηγική για να παίξετε στο παιχνίδι

Βήματα για την εκτέλεση του Facility Game και την υλοποίηση στρατηγικής

Βήματα για την εκτέλεση του Facility Game και την υλοποίηση στρατηγικής 1. Εισαγωγή του Facility Game στο Eclipse 2. Δημιουργία νέου παίκτη με τη στρατηγική σας ή τροποποίηση υπάρχοντος παίκτη. 3. Εκτέλεση παιχνιδιού με τις κατάλληλες παραμέτρους (είτε τοπικά στον υπολογιστή σας είτε στον server )

Εισαγωγή του Facility Game Από το μενού File Import και ακολουθούμε τα βήματα για την εισαγωγή του project που κατεβάσατε από το eclass.

Δημιουργία νέου παίκτη Αφού ανοίξουμε το project FacilityGame, ανοίγουμε τον φάκελο του πηγαίου κώδικα (src) και ανοίγουμε το πακέτο του facilitygame.

Δημιουργία νέου παίκτη Δημιουργούμε μια νέα κλάση στο πακέτο και δίνουμε ένα όνομα στον παίκτη κλάση π.χ. SotirisGyftopoulos

Δημιουργία νέου παίκτη

Δημιουργία νέου παίκτη Στη νέα κλάση που δημιουργήσαμε αντιγράφουμε τα περιεχόμενα από κάποιον υπάρχοντα παίκτη π.χ. MyFPlayer1.java. ΠΡΟΣΟΧΗ! Κατά την αντιγραφή των περιεχομένων αντιγράφονται και τα ονόματα των δηλώσεων της κλάσης και της συνάρτησης δημιουργίας! Πρέπει να τα διορθώσουμε και να δώσουμε το σωστό όνομα όπως το δηλώσαμε στην δημιουργία της κλάσης!

Δημιουργία νέου παίκτη Πρέπει να διορθώσουμε τα ονόματα που αντιγράφτηκαν και να βάλουμε αυτά που ορίσαμε στην κλάση π.χ. SotirisGyftopoulos

Δημιουργία νέου παίκτη Στη συνέχεια πρέπει να δώσουμε τα στοιχεία μας στις μεταβλητές που ορίζονται μέσα στην κλάση. Τα στοιχεία αυτά είναι: 1. Το όνομα που θα χρησιμοποιούμε στο παιχνίδι για τον παίκτη μας (playername) 2. Η έκδοση της στρατηγικής μας, σε περίπτωση που στο μέλλον θέλουμε να κάνουμε βελτιώσεις και να πετύχουμε καλύτερα αποτελέσματα (version) 3. Τον αριθμό μητρώου του φοιτητή (afm) 4. Το όνομα του φοιτητή (firstname) 5. Το επίθετο του φοιτητή (lastname) Η αλλαγή των στοιχείων είναι υποχρεωτική για τη σωστή εκτέλεση του παιχνιδιού!

Δημιουργία νέου παίκτη

Δήλωση του παίκτη μας στο παιχνίδι Στη συνέχεια πρέπει να κάνουμε τις απαραίτητες αλλαγές σε κάποια αρχεία για να δηλώσουμε τον παίκτη μας. Ανοίγουμε το αρχείο EnumPlayerType.java και δημιουργούμε μια νέα καταχώρηση για τον παίκτη μας δηλώνοντας ένα νέο όνομα για αυτόν.

Δήλωση του παίκτη μας στο παιχνίδι Ανοίγουμε το αρχείο CreatePlayerObject.java και στο switch που περιέχεται μέσα δημιουργούμε μια νέα καταχώρηση που θα συνδέει το όνομα που δηλώσαμε στο αρχείο EnumPlayerType.java με το όνομα της κλάσης του παίκτη μας

Δημιουργία στρατηγικής Αφού τελειώσαμε τις δηλώσεις για τον παίκτη μας στο παιχνίδι, πρέπει να δημιουργήσουμε τη στρατηγική μας. Η υλοποίηση της στρατηγικής μας γίνεται στη συνάρτηση nextmove στην κλάση του παίκτη που δημιουργήσαμε. Η συνάρτηση αυτή επιστρέφει σε κάθε γύρω τον αριθμό του κόμβου που θέλουμε να δεσμεύσουμε αφού κάνουμε τους ελέγχους που θέλουμε. ΠΡΟΣΟΧΗ! Οι αριθμοί των κόμβων ξεκινούν από το 0 και όταν θα κάνουμε μια επιλογή κόμβου θα πρέπει να είμαστε σίγουροι ότι ο κόμβος αυτός πρέπει να είναι ελεύθερος

Δημιουργία στρατηγικής Για την υλοποίηση της στρατηγικής μας έχουμε στη διάθεσή μας μια σειρά από συναρτήσεις

Εκτέλεση του παιχνιδιού τοπικά Για να κάνουμε δοκιμές στη στρατηγική μας μπορούμε να εκτελέσουμε το παιχνίδι στον υπολογιστή μας. Το παιχνίδι έχει ήδη μέσα υλοποιημένες τις στρατηγικές δύο απλών παικτών: του SIMPLE_PLAYER_1 και του SIMPLE_PLAYER_2. Θα εκτελέσουμε το αρχείο Fserver.java που θα υλοποιεί τη στρατηγική του αντιπάλου μας δίνοντας τις απαραίτητες παραμέτρους. Για να περάσουμε τις παραμέτρους που θέλουμε κάνουμε δεξί κλικ πάνω στο Fserver.java Run As Run Configurations

Εκτέλεση του παιχνιδιού τοπικά

Εκτέλεση του παιχνιδιού τοπικά Κάνουμε διπλό κλικ στην επιλογή Java Application στο παράθυρο που εμφανίζεται για να δημιουργήσουμε νέα καταχώρηση παραμέτρων. Στην καρτέλα Arguments της νέας καταχώρησης παραμέτρων πληκτρολογούμε στο κατάλληλο πλαίσιο τις παραμέτρους που θέλουμε.

Εκτέλεση του παιχνιδιού τοπικά

Παράμετροι για τον Server Οι παράμετροι που πληκτρολογούμε είναι <PlayerType> <verbose> <port> Στο PlayerType δίνουμε όνομα του παίκτη που θέλουμε να είναι αντίπαλος του παίκτη μας π.χ. SIMPLE_PLAYER_1 Στο verbose καθορίζουμε αν το πρόγραμμα θα εμφανίζει αναλυτικά μηνύματα ή συνοπτικά (TRUE ή FALSE) Στο port καθορίζουμε σε ποια θύρα θα εκτελείται ο server (συνιστάται η θύρα 4455)

Εκτέλεση του παιχνιδιού τοπικά Πατάμε Apply στο παράθυρο και στη συνέχεια Run. Στον χώρο μηνυμάτων στο Eclipse εμφανίζονται τα μηνύματα που εκτυπώνει το Fserver. Παρατηρούμε τη διεύθυνση IP του υπολογιστή μας για να τη χρησιμοποιήσουμε στις παραμέτρους του παίκτη μας.

Εκτέλεση του παιχνιδιού τοπικά Μετά την εκτέλεση του FServer.java εκτελούμε τον παίκτη μας για να παίξει με τον αντίπαλο. Ο παίκτης μας θα εκτελεστεί με τη βοήθεια του FClient.java αφού περάσουμε τις κατάλληλες παραμέτρους. Δημιουργούμε μια καταχώρηση παραμέτρων για το αρχείο FClient.java με τον ίδιο τρόπο που δημιουργήσαμε για το FServer.java (δεξί κλικ πάνω στο FClient.java Run As Run Configurations διπλό κλικ στο Java Application) Στην καρτέλα Arguments πληκτρολογούμε τις παραμέτρους για τον παίκτη μας.

Παράμετροι για τον παίκτη μας Οι παράμετροι για τον παίκτη μας είναι <PlayerType> <verbose> <host> <port> <nodes> <seed> <Player_A> Το PlayerType είναι το όνομα που δώσαμε στον παίκτη μας στο EnumPlayerType (π.χ. SOTIRIS_PLAYER) Το verbose είναι σχετικό με αναλυτικά ή συνοπτικά μηνύματα (TRUE ή FALSE) Το host είναι η IP του Server όπως την παρατηρήσαμε κατά την εκτέλεση του Server (π.χ. 192.168.2.3) Το port είναι η θύρα του Server (4455) Το nodes είναι το πλήθος των κόμβων (π.χ. 1012) Το seed χρησιμοποιείται για την ανάθεση αξιών στους κόμβους (π.χ. 3690) Στο Player_A μπορείτε να δηλώσετε αν θέλουμε να παίζουμε πρώτοι (PLAYER_A) ή δεύτεροι (PLAYER_B)

Παράμετροι για τον παίκτη μας Πατάμε Apply στο παράθυρο και στη συνέχεια Run. Με την εκτέλεση του FClient γίνεται η σύνδεση με τον Server και οι παίκτες εκτελούν τις κινήσεις τους. Στο χώρο των μηνυμάτων εμφανίζονται τα αποτελέσματα του παιχνιδιού

Αποτελέσματα εκτέλεσης Ανατρέχοντας παραπάνω μπορούμε να δούμε το αποτέλεσμα

Εκτέλεση του παιχνιδιού στον Server Για την εκτέλεση του παίκτη μας στον Server αλλάζουμε τις παραμέτρους που χρησιμοποιούμε για το FClient.java: Στην παράμετρο host χρησιμοποιούμε τη διεύθυνση euclid.ee.duth.gr Στην παράμετρο port μπορούμε να χρησιμοποιήσουμε τις εξής παραμέτρους: 4465 για αντίπαλο τον FPLAYER_SIMPLE_1 4466 για αντίπαλο τον SIMPLE_PLAYER_2 4467 για αντίπαλο τον FPLAYER_201112 4468 για αντίπαλο τον FPLAYER_201213Α 4469 για αντίπαλο τον FPLAYER_201213Β

Πηγές για υποστήριξη - ερωτήσεις: Ιστοσελίδα μαθήματος: http://pericles.ee.duth.gr/courses/2013-2014/ds/index.html Στο eclass https://eclass.duth.gr/eclass/courses/tma392/ Στο Forum deece https://www.deece.edu.gr/forum/viewforum.php?f=198