Skip to content

Grid type map and turn-based game. The player creates different kind of heroes and travels across the map. In the process, he fights the Monsters he meets and can buy items from the scattered shops.

Notifications You must be signed in to change notification settings

theopaid/MMORPG_GAME.Heroes-Monster-Fights-and-Shops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

◆ Θεοδόσης Παιδάκης Α.Μ.: 1115201500118

◆ Δημήτρης Παπαχρήστου Α.Μ.: 1115201500124

◆ Εντολές μεταγλώττισης και εκτέλεσης: $ make (inside project dir) $ cd bin $ ./runner $ To recompile: $ make clean

◆ Σειρά υλοποίησης του κώδικά μας:

  1. Υλοποίηση των κλάσεων που περιγράφει η εκφώνηση με τις εξής ιεραρχίες:

▪ Item :

◦ Weapon

◦ Armor

◦ StrengthPotion

◦ DexterityPotion

◦ AgilityPotion

▪ Spell:

◦ IceSpell

◦ FireSpell

◦ LightingSpell

▪ Living:

◦ Hero:

• Warrior

• Sorcerer

• Paladin

◦ Monster:

• Dragon

• Exoskeleton

• Spirit

▪ Grid

▪ Market

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

  2. Στην αρχή του παιχνιδιού, ο παίχτης δημιουργεί 1- ήρωες, χωρίς την δυνατότητα να δημιουργήσει παραπάνω ήρωες στην συνέχεια του παιχνιδιού. Ο κάθε τύπος ήρωα (Warrior,..κλπ), αρχικοποιείται με συγκεκριμένες προκαθορισμένες τιμές.

  3. Οι θέσεις του χάρτη αρχικά δημιουργούνταν τυχαία, αλλα αυτό παρουσίαζε προβλήματα στο παιχνίδι, μιας και δεν εξασφαλιζόταν ότι δεν θα είχαμε κλειστό μονοπάτι. Οπότε, ο χάρτης πλέον ειναι σταθερός και προκαθορισμένος απο εμάς. Ο τύπος της κάθε θέσης (enum square_type) , αρχικοποιείται από το αρχείο map.txt. Οι ήρωες πάντα στην αρχή του παιχνιδιού, θα ξεκινούν από την θέση [1 , 1]. c = Common , m = Market , n = nonAccessible

  4. Έπειτα, δημιουργήσαμε το market. Για κάθε Weapon, Armor, Potions και Spells, δημιουργήσαμε structures τα οποία περιέχουν τα χαρακτηριστικά που έχει το κάθε Item ή Spell. Έχουμε ακόμα μία λίστα για κάθε ένα απο αυτά τα Items και Spells, η οποία αποτελείται απο Nodes του αντίστοιχου structure. Οι τιμές αυτών δίνονται από τα αντίστοιχα αρχεία .txt.

  5. Κάθε ήρωας διαθέτει δικό του Inventory και δικό του σύνολο από Spells που έχει αγοράσει, τα οποία αποθηκεύονται σε vectors. Συνεπώς κάθε ήρωας έχει και δικο του ξεχωριστό ποσό χρημάτων για αγορές και πωλήσεις από το market. Επίσης, ένας ήρωας δεν μπορεί να αγοράσει πάνω από μία φορά το ίδιο αντικείμενο, αν αυτό υπάρχει ήδη στο inventory του.

  6. Υλοποίηση όλων των επιλογών των ηρώων (move, checkInventory, buy, sell, equip, use, display stats-map(etc), show market ,quit). Η επιλογή των items και των spells στο market γίνεται με βάση την αρίθμηση τους, ενώ για την επιλογή κάποιου owned item/spell ή ήρωα ή τέρατος πρέπει να γράψουμε ακρίβως το αντίστοιχο όνομα (case sensitive).

  7. Κάθε φορά που ο παίχτης μεταφέρεται σε ένα common position, υπάρχει 45% πιθανότητα να ξυπνήσει καποια τέρατα. Αν γίνει αυτό, τότε μεταφερόμαστε σε κατάσταση μάχης. (Αν ο παίχτης δεν έχει προλάβει να αγοράσει κάποιο όπλο και να το κάνει equip, τότε αναγκάζεται να πολεμήσει με τις γροθιές του, οι οποίες προκαλούν μειωμένο damage). Υπάρχει αντίστοιχο μενού επιλογών μάχης με το κεντρικό του παιχνιδιού. Ο αριθμός των τεράτων κυμαίνεται τυχαία από 1 μέχρι τον αριθμό των δημιουργηθέντων ηρώων, τα οποία είναι διαφορετικού είδους μεταξύ τους, και είναι αντίστοιχου level με των ηρώων. Οι ήρωες επίλεγουν στόχο (γράφοντας το όνομα του τέρατος) ενώ τα τέρατα επιτίθενται σε κάποιον από τους ήρωες τυχαία. Εμφανίζονται σχετικά μηνύματα μετά από κάθε επίθεση. Η επιρροή των Spells διαρκεί 3 γύρους. Μετά από την νίκη μιας μάχης οι ήρωες παίρνουν 25 experience και 5 ρούβλια για κάθε τέρας που υπήρξε στην μάχη συν 10 ρούβλια επί το level του.

  8. Τα τέρατα προκαλούν ζημιά, η οποία αποτελείται απο το base damage, συν ενα εύρος ζημιάς από 0-15, που επιλέγεται τυχαία κάθε φορά.

  9. Όταν κάποιος ήρωας κάνει level up, αυξάνονται τα στατιστικά που αναφέρει η εκφώνηση. Τα τέρατα ανάλογα με το level τους, έχουν ανεβασμένα τα αμυντικά τους στατιστικά και το health power τους. Τέλος, το μέγιστο level είναι 5.

About

Grid type map and turn-based game. The player creates different kind of heroes and travels across the map. In the process, he fights the Monsters he meets and can buy items from the scattered shops.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published