ΕΡΓΑΣΙΑ 2 - Παίζοντας Blackjack

Σχετικά έγγραφα
Παίζοντας Τόμπολα. Ημερομηνία Ανάρτησης: 16/03/2017 Ημερομηνία Παράδοσης: 30/03/2017, 23:59

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΡΓΑΣΙΑ 1 Ημερομηνία Ανάρτησης: 02/02/2017 Ημερομηνία Παράδοσης: 16/02/2017, 09:00 π.μ. Στόχος Ορισμός

ΕΡΓΑΣΙΑ 3. Παίζοντας Sudoku. Ημερομηνία Ανάρτησης: 16/03/2018 Ημερομηνία Παράδοσης: 03/04/2018, 09:00

Σχηματίζοντας Γραφικές Παραστάσεις για Ημίτονο και Συνημίτονο και Ελέγχοντας Περιορισμούς σε Συστάδες Καρτών Τόμπολας

ΕΡΓΑΣΙΑ 2. Κατασκευάζοντας Ημερολόγια. Ημερομηνία Ανάρτησης: 23/02/2018 Ημερομηνία Παράδοσης: 13/03/2018, 09:00

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2

ΕΡΓΑΣΙΑ 4 - Αντικειμενοστραφής Υλοποίηση του Συστήματος Κατανομής Θέσεων σε Προγράμματα Σπουδών

Blackjack: Στρατηγική, συμβουλές και τρόπος παιχνιδιού - ΚΑΛΑΜΠΑΚΑ CITY KALAMPAKA METEOR

ΕΡΓΑΣΙΑ 4. Εκλογικό Σύστημα με Μεταφορά και Συσσώρευση Ψήφων. Ημερομηνία Ανάρτησης: 16/04/2018 Ημερομηνία Παράδοσης: 04/05/2018, 09:00

Χαρτοπαίγνια. Ένα παιχνίδι, ατέλειωτη διασκέδαση

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

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

ΕΠΙΣΗΜΟΙ ΚΑΝΟΝΕΣ ΤΟΥ ΟΙ ΚΑΡΤΕΣ

Πίνακες (Arrays) ΕΠΛ131 Ενότητα VI

Πίνακες (Arrays) ΕΠΛ131 Ενότητα VI

Το 1ο βήμα ανανέωσης. Νέα οθόνη ΚΙΝΟ. Επίσημη οθόνη στατιστικών ΚΙΝΟ από τον ΟΠΑΠ

ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

Σκοπός του παιχνιδιού Σκοπός του παιχνιδιού είναι να τοποθετήσει πρώτος ο παίκτης όλα τα πλακίδιά του στο τραπέζι.

ΠΛΗ 513-Αυτόνομοι Πράκτορες Χειμερινό εξάμηνο 2012 Εφαρμογή αλγορίθμων ενισχυτικής μάθησης στο παιχνίδι Βlackjack. Χλης Νικόλαος-Κοσμάς

Διάλεξη 12η: Δείκτες, μέρος 2

Αυτόνομοι Πράκτορες Μαριάνος Νίκος Αυτόνομοι Πράκτορες. Χειμερινό Εξάμηνο 2016 Κωδικός Μαθήματος ΠΛΗ513 Πρότζεκτ Μαθήματος

NOVA PRODUCTIONS. by GDTronics

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

Περιεχόμενα του Παιχνιδιού

Το Κ2 είναι ένα παιχνίδι για 1 έως 5 παίκτες, ηλικίας 8 ετών και άνω, με διάρκεια περίπου 60 λεπτά.

Περισσότερες λεπτομέρειες και τρελά βίντεο σας περιμένουν στο: skull-and-roses.com

ΕΙΣΑΓΩΓΗ ΠΕΡΙΕΧΟΜΕΝΑ. 96 Κάρτες αντικειμένων 4 Κάρτες επεξήγησης ενεργειών Οδηγίες. Απεικόνιση Αντικειμένου. Αρνητικος Αριθμός.

Περιεχόμενα. Σκοπός του παιχνιδιού. Πριν το πρώτο γύρο. Επισκόπηση παιχνιδιού. Κάρτα Κατάσκοπος. Ροή παιχνιδιού. Αρχή γύρου

Πίστας Αγώνα Αρχικών Στοιχημάτων Βοηθήματος Παικτών Πρώτου Παίκτη Τούρμπο Πρώτο στοίχημα: Κατασκευή της πίστας:

ΣΕΜΙΝΑΡΙΟ ΕΚΠΑΙΔΕΥΣΗΣ

1-4 παίκτες - 30 λεπτά

Παρουσίαση Περιεχομένων. Σκοπός του Παιχνιδιού. Προετοιμασία

Οι παίκτες παίρνουν το ρόλο των χειρότερων πειρατών στο πλήρωμα ενός πλοίου. Ο καπετάνιος σας έχει στη μπούκα, επειδή είστε πολύ τεμπέληδες και


Το Μπαούλο του κυρ Γιάννη

ΠΕΡΙΕΧΟΜΕΝΑ ΤΟΥ ΠΑΙΧΝΙΔΙΟΥ

Ένα παιχνίδι του Stefan Feld ΣΧΕΤΙΚΑ ΜΕ ΤΟ ΠΑΙΧΝΙΔΙ ΠΕΡΙΕΧΟΜΕΝΑ

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσμία: Τετάρτη 23/11/2016, 21:00

The Mind. Mind σε ένα νέο επίπεδο.επιλέξτε ένα από τα δύο μουσικά κομμάτια στο CD. Με το πρώτο κομμάτι

ΔΙΑΓΩΝΙΣΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ:- Γ ΛΥΚΕΙΟΥ ΤΜΗΜΑΤΑ: ΓΟ4 ΓΟ7 (ΖΩΓΡΑΦΟΥ) ΓΟ5 ΓΟ6 (ΧΟΛΑΡΓΟΣ) HM/NIA: 15/1/2017

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Εισαγωγή στον Προγραμματισμό

Η ΠΟΚΕΡΚΑΡΤΑ ΤΟΥ BIG TONY. User s Manual / Εγχειρίδιο Χρήσης. GDTronics

Οδηγίες. Θα το παίξεις... και θα πεις κι ένα τραγούδι!

EMOJITO! 7 Δίσκοι Ψηφοφορίας. 100 Κάρτες Συναισθημάτων. 1 Ταμπλό. 7 Πιόνια παικτών. 2-7 Παίκτες

Τσάπελη Φανή ΑΜ: Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Σχεδιασμός Ψηφιακών Εκπαιδευτικών Εφαρμογών ΙI

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

Μπλάκτζακ Εγχειρίδιο i. Μπλάκτζακ Εγχειρίδιο

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

Περιεχόμενα 1 Scriptorium (Ταμπλό Αξίας Κατηγορίας) 5 εξάπλευρα ζάρια 87 κάρτες

ΠΕΡΙΕΧΟΜΕΝΑ: 88 στόχοι 48 λεγεώνες 23 δείκτες ενεργοποίησης. Επτά λεγεώνες και. κατακτηθεί. Απόθεμα λεγεώνων. Στοίβα στόχων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

Κάρτες Κτιρίων και τα αντίστοιχα Ξύλινα Κομμάτια

ΣΚΗΝΙΚΟ ΥΠΟΒΑΘΡΑ ΑΡΧΙΚΗ

σύµβολο μεταξύ δύο καρτών, τα οποία και πρέπει να βρείτε. σύµβολο στις δύο αυτές κάρτες.

32 κάρτες-πόλης 9 κάρτες-χαρακτήρων 5 κάρτες-αστυνομίας

Περιεχόμενα και προετοιμασία για τέσσερις παίκτες

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

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

Βασικά στοιχεία προγραµµατισµού στη JAVA

Εισαγωγή στον Προγραμματισμό

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Python. 1η Ομάδα Ασκήσεων

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Διαδρομών Μέρμηγκα Μερμηγκιών Τζίτζικα Τζίτζικα Επιλογής Επιλογής Φθινόπωρο Φθινόπωρο Προμηθειών Χειμώνα Δύναμης Χειμώνα Φθινόπωρο Χειμώ- νας

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/10, 23:59

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

ΕΞΕΡΕΥΝΗΣΤΕ ΤΗ ΜΥΣΤΗΡΙΩΔΗ ΝΗΣΟ

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

Προετοιμασία του παιχνιδιού

Το Jungle Speed είναι ένα παιχνίδι για 2 έως 10 παίκτες (ή και ακόμη περισσότερους!) ηλικίας 7 και άνω.

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

ΕΡΓΑΣΤΗΡΙΟ 16. Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 1

The Mind. Wolfgang Warsch Για επαγγελματίες με τηλεπαθητικές ικανότητες! Λευκό (1-50) Κόκκινο (1-50)

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

Coup: City State Εγχειρίδιο κανόνων

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

Η ΕΠΕΚΤΑΣΗ ΚΑΡΤΩΝ. Μετάφραση / Ενσωμάτωση: Νίκος Χριστάκης για την Re M v.3

Ακρότατα πίνακα, χωρίς min, max, μόνο με pos

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

Σ Π. 1 Βιβλίο Τιτανικού 60 κάρτες Επιβατών. 20 κάρτες Ενεργειών. 10 κάρτες Μελών Πληρώματος

Τεχνητή Νοημοσύνη. 6η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Εισαγωγή. Περιεχόμενα. Μέσα στο Κουτί. Εισαγωγή Στόχος Μέσα στο Κουτί Οι Κάρτες Περιγραφή των Καρτών Επιβίβαση!...

Transcript:

ΕΡΓΑΣΙΑ 2 - Παίζοντας Blackjack Ημερομηνία Ανάθεσης: 2/0/207 Ημερομηνία Παράδοσης: 30/0/207 (8 ημέρες) Τελευταία Ώρα Παράδοσης: 9:00 π.μ. Στόχος Σκοπός της παρούσας άσκησης είναι η εξάσκηση σε πίνακες και μεθόδους. Διαβάστε προσεχτικά το πρόβλημα και κατανοήστε τι πρέπει να γίνει. Όταν καταλάβετε πως λειτουργεί, τότε ξεκινάτε την υλοποίηση του στον υπολογιστή εφαρμόζοντας τη σύνταξη και σημασιολογία της γλώσσας προγραμματισμού Java. Η άσκηση πρέπει υποχρεωτικά να υλοποιηθεί στη βάση μεθόδων. Μπορείτε να χρησιμοποιήσετε όσες μεθόδους κρίνετε ότι χρειάζονται, έτσι ώστε το πρόγραμμα να έχει μια λογική αρθρωτή δομή. Εισαγωγή Το blackjack είναι ένα από τα δημοφιλέστερα παιχνίδια τράπουλας γνωστό επίσης με το όνομα "Εικοσιένα" ή "2". Οι βασικοί κανόνες του είναι αρκετά απλοί για να τους κατανοήσει οποιοσδήποτε παίκτης και μέσα σε λίγα λεπτά μπορεί να παίξει άνετα έχοντας πάρα πολύ καλές πιθανότητες να κερδίσει. Υπάρχουν πάρα πολλές παραλλαγές οι οποίες διαφοροποιούν τους κανόνες. Για την άσκηση αυτή, ισχύουν οι κανόνες που περιγράφονται πιο κάτω. Οι παίκτες του blackjack ανταγωνίζονται ενάντια στον κρουπιέρη (dealer) και όχι ενάντια σε άλλους παίκτες. Ο σκοπός του παιχνιδιού είναι να πάρει ο παίκτης ένα χέρι από φύλλα που έχουν μεγαλύτερη βαθμολογική αξία από το χέρι του κρουπιέρη, αλλά που να μην υπερβαίνει το συνολικό ποσό του 2. Αν o παίχτης ξεπεράσει το 2 τότε "καίγεται" και χάνει την παρτίδα, ανεξάρτητα από το χέρι του κρουπιέρη. Στο τραπέζι κάθονται μέχρι 6 παίκτες και οι τράπουλες που χρησιμοποιούνται είναι από έως 8. Στην άσκηση αυτή έχουμε μόνο παίχτη να παίζει απέναντι από τον κρουπιέρη και χρησιμοποιείται μόνο τράπουλα. Η αξία του χεριού στο blackjack καθορίζεται από το άθροισμα της αξίας του κάθε φύλλου των χαρτιών που μοιράζονται. Όλες οι κάρτες φέρουν την αριθμητική (αναγραφόμενή) τους αξία εκτός από τις φιγούρες (βαλές J, ντάμα Q, ρήγας K) που φέρουν την αξία του 0 και οι άσσοι οι οποίοι μετράνε για ή, ανάλογα με το ποια είναι τα οφέλη του χεριού του παίκτη ή του κρουπιέρη. Το καλύτερο χέρι στο blackjack είναι ένα χέρι 2 φύλλων που αποτελείται από έναν άσσο και μία άλλη κάρτα αξίας των 0 πόντων. Ένα τέτοιο χέρι θα μετρηθεί ως 2, και καλείται ως ένα φυσικό blackjack. Διαδικασία Παιχνιδιού Όταν το παιχνίδι ξεκινάει, ο κρουπιέρης ανακατεύει την τράπουλα. Δίνεται στο τέλος της εκφώνησης η συνάρτηση createshuffledeck() η οποία κτίζει και ανακατεύει μια πλήρη τράπουλα. ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου

Μπορείτε προαιρετικά να τη χρησιμοποιήσετε αυτούσια μέσα στο πρόγραμμά σας ή να την τροποποιήσετε κατά το δοκούν. Στη συνέχεια ο παίκτης προσδιορίζει το στοίχημά του (ποντάρισμα), και ο κρουπιέρης του δίνει δύο ανοιχτά φύλλα και ο ίδιος παίρνει επίσης δύο φύλλα, ένα ανοιχτό κι ένα κλειστό. Οπότε, είναι κατανοητό ότι ο κρουπιέρης γνωρίζει μόνο τα δύο πρώτα φύλλα του παίκτη, και ο παίκτης αρχικά γνωρίζει μόνο το ένα φύλλο του κρουπιέρη. Όταν ο κρουπιέρης εμφανίζει έναν άσσο, ο παίκτης έχει την επιλογή λήψης μέτρων έναντι του ενδεχόμενου ο κρουπιέρης να έχει ένα φυσικό blackjack, μειώνοντας το στοίχημά του μέχρι το μισό ποσό του αρχικού στοιχήματος, προστατεύοντας έτσι τον εαυτό του από το να χάσει ολόκληρο το στοίχημα, εάν και εφόσον προκύψει ένα φυσικό blackjack από μέρους του κρουπιέρη. Εάν ο παίκτης έχει φυσικό blackjack, τότε κερδίζει αυτόματα παίρνοντας πίσω το.5 της αξίας του στοιχήματός του. Εάν όμως έχει ο κρουπιέρης φυσικό blackjack (μπορεί να το ελέγξει βλέποντας και το κρυφό του χαρτί χωρίς να το δει ο παίχτης) το παιχνίδι τερματίζεται και ο παίχτης χάνει το στοίχημα που πόνταρε. Διαφορετικά εάν κανένας δεν έχει φυσικό blackjack, το παιχνίδι συνεχίζεται όπου ο παίκτης έχει τέσσερις βασικές κινήσεις που μπορεί να κάνει: Hit: να λάβει ένα συμπληρωματικό, κλειστό, χαρτί από τον κρουπιέρη. Ο παίκτης μπορεί να τραβήξει όσα φύλλα επιθυμεί μέχρι να τύχει 2 ή να χάσει, δηλαδή να ξεπεράσει το 2 και να καεί. Stand: να μην πάρει άλλα φύλλα και να παραμείνει με την αξία των χαρτιών που έχει (πάσο). Double Down: ο παίκτης θα έχει την ευκαιρία να αυξήσει το αρχικό του στοίχημα 00% (διπλασιασμός πονταρίσματος) για το δικαίωμα να λάβει ένα μόνο φύλλο και μετά να πάει πάσο. Surrender: μετά το αρχικό στοίχημα και μόλις ο κρουπιέρης ελέγξει ότι δεν έχει προκύψει ένα φυσικό blackjack, ο παίκτης που διαισθάνεται ότι το χέρι του δεν είναι αρκετά καλό για να συνεχίσει να παίζει, μπορεί να επιλέξει να παρατήσει το χέρι του και να του επιστραφεί μισό από το αρχικό του στοίχημα. Συνεπώς αυτή η κίνηση είναι διαθέσιμη μόνο μια φορά, στην αρχή των κινήσεων του παίκτη. Μετά τον παίκτη, συνέχεια έχει ο κρουπιέρης, ο οποίος πρέπει να αποφασίσει αν θα τραβήξει νέο φύλλο (hit) ή θα σταματήσει σ αυτά που έχει. Σημαντική λεπτομέρεια είναι ότι ο κρουπιέρης δεν έχει δικαίωμα να σταματήσει αν έχει άθροισμα μικρότερο ή ίσο με το 7, όπου πρέπει απαραίτητα να τραβήξει νέο φύλλο. Όταν ο κρουπιέρης σταματήσει σε συγκεκριμένα φύλλα τότε συγκρίνονται τα φύλλα του παίκτη και του κρουπιέρη, και αυτός που έχει καλύτερο άθροισμα κερδίζει το χέρι. Σε περίπτωση ισοπαλίας το ποντάρισμα επιστρέφεται στον παίκτη. ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 2

Μέθοδος createshuffledeck() ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ public static String[] createshuffledeck() { } String[] suit = { "Clubs", "Diamonds", "Hearts", "Spades" }; String[] rank = { "2", "3", "4", "5", "6", "7", "8", "9", "0", "Jack", "Queen", "King", "Ace"}; int SUITS = suit.length; int RANKS = rank.length; int N = SUITS * RANKS; String[] deck = new String[N]; for (int i = 0; i < RANKS; i++) for (int j = 0; j < SUITS; j++) deck[suits*i + j] = rank[i] + " of " + suit[j]; for (int i = 0; i <= 00000; i++){ int c = (int) (Math.random() * N); int c2 = (int) (Math.random() * N); String t = deck[c]; deck[c] = deck[c2]; deck[c2] = t; } return deck; Παραδείγματα Εκτέλεσης Για την εργασία σας χρειάζεται να σχεδιάσετε, αξιοποιώντας τις διάφορες αλγοριθμικές δομές, και να υλοποιήσετε ένα πρόγραμμα όπου ο υπολογιστής σε ρόλο κρουπιέρη παίζει blackjack με το χρήστη, στο ρόλο του παίκτη. Στο ίδιο session, o χρήστης μπορεί να παίξει όσα παιχνίδια επιθυμεί, και στο τέλος του ανακοινώνεται το συνολικό ποσό που κέρδισε ή έχασε. Το πρόγραμμα επιδεικνύεται στα πιο κάτω παραδείγματα χρήσης του (με κόκκινο έντονο χρώμα φαίνονται οι αριθμοί που εισάγει ο χρήστης καθώς τρέχει το πρόγραμμα). $ java Blackjack ******* WELCOME TO BLACKJACK ******** >>>> We are about to start Game number <<<< ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 3

Enter your stake in Euro: 0 2 of Spades 6 of Spades ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ The first of my initial two cards is 0 of Spades Your next card is 6 of Diamonds Your next card is 7 of Hearts Blackjack for you!!! You have just won 0.0 Euro 2 You have won 0.0 Euro. Lucky you!! ******** GOODBYE - COME AGAIN ********** $ java Blackjack ******* WELCOME TO BLACKJACK ******** >>>> We are about to start Game number <<<< Enter your stake in Euro: 0 5 of Diamonds ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 4

Queen of Spades ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ The first of my initial two cards is 4 of Hearts Your next card is 4 of Diamonds Enter chosen action: 2 My turn to play... My second initial card is Queen of Hearts My next card is 0 of Diamonds I am stopping... I have burned myself and you win 0.0 Euro >>>> We are about to start Game number 2 <<<< Enter your stake in Euro: 8 King of Hearts 6 of Clubs The first of my initial two cards is 2 of Diamonds ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 5

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Your next card is 4 of Diamonds Enter chosen action: 2 My turn to play... My second initial card is 9 of Clubs My next card is 0 of Clubs I am stopping... Blackjack for me!!! You have just lost 8.0 Euro >>>> We are about to start Game number 3 <<<< Enter your stake in Euro: 9 8 of Clubs 7 of Hearts The first of my initial two cards is 6 of Diamonds Your next card is 2 of Spades ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 6

Enter chosen action: 3 Your final card is 6 of Hearts You have been burned and have lost 8.0 Euro >>>> We are about to start Game number 4 <<<< Enter your stake in Euro: 5 0 of Diamonds 7 of Diamonds The first of my initial two cards is Queen of Diamonds Your next card is 9 of Clubs You have been burned and have lost 5.0 Euro >>>> We are about to start Game number 5 <<<< ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 7

Enter your stake in Euro: 6 7 of Clubs King of Hearts The first of my initial two cards is 6 of Diamonds Your next card is 9 of Spades You have been burned and have lost 6.0 Euro >>>> We are about to start Game number 6 <<<< Enter your stake in Euro: 0 5 of Spades Queen of Hearts The first of my initial two cards is 6 of Diamonds Your next card is Ace of Diamonds ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 8

Enter chosen action: 3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Your final card is 5 of Clubs Blackjack for you!!! You have just won 20.0 Euro >>>> We are about to start Game number 7 <<<< Enter your stake in Euro: 0 5 of Clubs 4 of Diamonds The first of my initial two cards is 2 of Hearts Your next card is 3 of Hearts Your next card is 8 of Diamonds Enter chosen action: 3 Your final card is 4 of Clubs ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 9

You have been burned and have lost 20.0 Euro >>>> We are about to start Game number 8 <<<< Enter your stake in Euro: 20 6 of Hearts Jack of Clubs The first of my initial two cards is 2 of Diamonds Your next card is 9 of Hearts You have been burned and have lost 20.0 Euro >>>> We are about to start Game number 9 <<<< Enter your stake in Euro: 0 3 of Spades Jack of Hearts The first of my initial two cards is Queen of Hearts ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 0

Your next card is 2 of Spades Your next card is 0 of Diamonds You have been burned and have lost 0.0 Euro 2 You have lost 57.0 Euro. Next time luckier. ******** GOODBYE - COME AGAIN ********** $ java Blackjack ******* WELCOME TO BLACKJACK ******** >>>> We are about to start Game number <<<< Enter your stake in Euro: 0 8 of Diamonds 5 of Diamonds The first of my initial two cards is 0 of Clubs ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Your next card is 6 of Clubs Enter chosen action: 2 My turn to play... My second initial card is Queen of Diamonds I am stopping... You have lost 0.0 Euro >>>> We are about to start Game number 2 <<<< Enter your stake in Euro: 0 0 of Spades 4 of Diamonds The first of my initial two cards is 9 of Spades Your next card is 6 of Diamonds ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 2

Enter chosen action: 2 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ My turn to play... My second initial card is 5 of Clubs My next card is 5 of Spades I am stopping... You have won 0.0 Euro >>>> We are about to start Game number 3 <<<< Enter your stake in Euro: 20 Jack of Hearts 0 of Hearts The first of my initial two cards is King of Hearts Enter chosen action: 2 My turn to play... My second initial card is 2 of Clubs My next card is 9 of Spades I am stopping... Blackjack for me!!! You have just lost 20.0 Euro ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 3

>>>> We are about to start Game number 4 <<<< Enter your stake in Euro: 0 King of Hearts 8 of Spades The first of my initial two cards is King of Clubs Enter chosen action: 2 My turn to play... My second initial card is Queen of Hearts I am stopping... You have lost 0.0 Euro >>>> We are about to start Game number 5 <<<< Enter your stake in Euro: 0 8 of Spades ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 4

9 of Spades The first of my initial two cards is Jack of Clubs Enter chosen action: 4 By surrendering you only lose 5.0 Euro >>>> We are about to start Game number 6 <<<< Enter your stake in Euro: 0 5 of Diamonds Jack of Clubs The first of my initial two cards is 0 of Diamonds My second card is Ace of Spades As you see I have a natural blackjack, so you lose your stake 2 You have lost 45.0 Euro. Next time luckier. ******** GOODBYE - COME AGAIN ********** Παράδοση. Όταν τελειώσετε τον πηγαίο κώδικα, μεταγλωττίστε τον και βεβαιωθείτε ότι τρέχει σωστά. ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 5

2. Παραδώστε τον πηγαίο κώδικα (userid_erg2.java) ηλεκτρονικά μέσω του submit assignment (κάτω από το Ασκήσεις Εργασία 2 στην ιστοσελίδα του μαθήματος μέχρι τις 30/0/207 και ώρα 09:00 π.μ. 3. Μαζί με το πηγαίο κώδικα, παραδώστε και την λίστα δοκιμής, (userid _erg2.txt) που να περιλαμβάνει 3 sessions από το πολύ 3 παιχνίδια το καθένα και να επιδεικνύονται όλες οι διαθέσιμες επιλογές του χρήστη (Hit, Stand, Double Down, Surrender). 4. Προσοχή: Το σύστημα ελέγχει το χρόνο παράδοσης εργασιών γι αυτό μην περιμένετε την τελευταία στιγμή να κάνετε submit την εργασία σας. a. Όπου userid βάλτε το username που σας δόθηκε από το τμήμα. b. η λίστα δοκιμής μπορεί να δημιουργηθεί αν τρέξετε το πρόγραμμά σας από την γραμμή εντολών (terminal) και χρησιμοποιώντας την εντολή script που περιγράφεται στο πρώτο εργαστήριο (φυλλάδιο Unix) ή μπορείτε να πιάσετε τα αποτελέσματα εξόδου από το Console του Eclipse. Βαθμολογία: Σημαντικό μέρος της αξιολόγησης θα αποτελέσει η ταχύτητα εκτέλεσης του προγράμματος. Επίσης, ένα πρόγραμμα για να πάρει όλες τις μονάδες είναι απαραίτητο να:. χρησιμοποιεί σχόλια 2. ευθυγραμμισμένος κώδικας 3. αυτό-επεξηγηματικά ονόματα για τις μεταβλητές 4. εκτυπώνει με την ίδια μορφή που φαίνεται στα παραδείγματα εκτέλεσης. Για όλα τα παραπάνω ακολουθήστε τις οδηγίες που περιγράφονται εδώ: http://introcs.cs.princeton.edu/java/style/ Το αρχείο με το πηγαίο κώδικα πρέπει οπωσδήποτε να περιέχει μια συμπληρωμένη κατάλληλα επικεφαλίδα από σχόλια στην αρχή του αρχείου όπως: /** * Author: Γράψτε εδώ το όνομα σας * Written:../../207 * Last updated:../../207 * * Compilation: javac userid_erg2.java * Execution: java userid_erg2 * * Γράψτε εδώ πληροφορίες σχετικά με το τι κάνει * το πρόγραμμα * */ Η εργασία είναι ατομική. Μπορείτε να συζητήσετε για αυτήν με τους συμφοιτητές σας, ωστόσο ποτέ δεν είναι αποδεκτό για σας να δείτε τον κώδικα κάποιου άλλου. Φυσικά, αν έχετε οποιεσδήποτε ερωτήσεις σχετικά με την εργασία, είμαστε πάντα στη διάθεσή σας για βοήθεια. Κώδικας που δε μεταγλωττίζει ή δεν τρέχει (crashes) παίρνει αυτόματα βαθμολογία 0. ΕΠΛ3 Εργασία 2. Υπεύθυνος Εργασίας: Παύλος Αντωνίου 6