[Archon Elite Force Squadron] Πρωτότυπο παιχνιδιού “κλέφτες κι αστυνόμοι” – Μέρος 2ο: Κυνηγητό

Βελτίωση του game loop

Αυτή την στιγμή η κίνηση των «χαρακτήρων» είναι κάπως γρήγορη εφόσον η ταχύτητα είναι αυτή που προκύπτει από το μηχάνημα που τρέχει η εφαρμογή. Θέλουμε λοιπόν έναν «ρυθμιστή» της ταχύτητας εκτέλεσης ώστε να μπορούμε να παρακολουθούμε τα τεκτενόμενα που διαδραματίζονται στην οθόνη μας. Ο πιό γρήγορος τρόπος είναι να χρησιμοποιήσουμε ένα «μετρητή» που αυξάνεται συνεχώς [Περισσότερα…]

Advertisements

5 comments

  1. GCoder

    Το link του κώδικα θέλει αλλαγή από Day1 σε Day2.

    Αρκετά ενδιαφέρον το project, παρόλο που πρόκειται για ένα text game.
    Θα ήταν καλύτερα ο κώδικας να ήταν γραμμένος με αντικειμενοστραφή λογική, έτσι ώστε να είναι λιγότερο χαώδης.

    Περιμένουμε τα επόμενα 🙂

    • admin

      Εμείς οι γεροντότεροι της peocedural γραφής θέλουμε σκέψη για το OO (χούι) οπότε τέτοια μοντέρνε πράγματα θα τα δείτε όταν μπούμε στην κανονική υλοποίηση… ακόμα γράφω το 3ο μέρος!

  2. iltis

    Πολυ ενδιαφερον αρθρο!!
    Ανυπομονω για το τριτο μερος 🙂

    Θα μου αρεσε να δω και συστημα πλοηγησης απο το πληκτρολογιο αν ειναι δυνατο.

    P.S. Δε με χαλαει καθολου η procedural λογικη της εφαρμογης..Ισα-ισα που την προτιμω οταν προκειται για σχετικα απλα ή μικρα apps. Φτανει πια με την ΟΟ λογικη για τα παντα..ενα Hello World να γραψεις θα σου ζητησουν μια κλαση για το Hello και μια για το World!:D:D:D 😛 Αντε και αλλη μια δωρο για την εμφανιση των αποτελεσματων!!:D:D Μας εχει φαει η ευελιξια και to resusability.

  3. Ryu_gr

    Από το συγκεκριμένο άρθρο μπορεί κάποιος να μάθει πολλά καθώς περιέχει πολλές προγραμματιστικές μαγκιές, όπως η κίνηση του κλέφτη μέσω της Escape/GetPathWeight και ο έξυπνος σχεδιασμός του radar που αλλάζει σχεδιασμό αν οι χαρακτήρες κινούνται προς τις άκρες.

    Όπως ανεφέρθηκε και στο άρθρο, εντύπωση προκαλεί η πρόβλεψη 5 κινήσεων μπροστά με 4 κατευθύνσεις διαθέσιμες κάθε φορά, καθώς μπορούν να αξιολογηθούν μέχρι και 4^5 = 1024 μονοπάτια! (στην πράξη βέβαια αξιολογούνται πολύ λιγότερα λόγω των περιορισμών: εμπόδιο, όρια χάρτη κτλ.).

    Ερωτήσεις/παρατηρήσεις 😀 😉

    1. Δεν έχω καταλάβει τη χρησιμότητα του μπλε πλαισίου που μετακινείται. Ghiotis εξηγα λίγο παραπάνω please!

    2. Η αυξομείωση της ταχύτητας δεν είναι τόσο εμφανής με αυτές τις τιμές. Αυτό όπως ανέφερες προφανώς οφείλεται στην ταχύτητα των νέων μηχανημάτων. Η λύση έρχεται εύκολα βέβαια με τον πειραματισμό στις τιμές του refreshtime.

    3. Στον κώδικα του radar (ShowRadar) μπορούμε να βγάλουμε έξω από τα 2 συνεχόμενα for το τμήμα κώδικα που αφορά τον υπολογισμό των intery και interx. Αυτά χρειάζονται να υπολογιστούν μόνο μια φορά σε κάθε πλήρη σχεδιασμό radar. Έτσι μέσα στα 2 for θα μείνουν μόνο τα Console.SetCursorPosition και Console.Write.

    3. Το cycle++ στη main, μπορεί να μπει ακριβώς κάτω από το if (!stopexec) ώστε τη στιγμή που θα συλληφθεί ο κλέφτης ή γίνει pause να σταματήσει να μετράει.

    Τέλος και ένα τυπογραφικό λάθος, για να γίνεται σωστή εμφάνιση των μηνυμάτων FREE MOVE και HUNT HIM DOWN το τελευταίο Console.Write της ShowMonitor πρέπει να αλλάξει σε Console.Write(string.Format(«[mode: {0}]», movemodes[movementmode]).PadRight(21, ‘ ‘));

    Sorry αν δεν μπόρεσα να κάνω πιο ουσιαστικές αλλαγές, αλλά μπορεί και μην χρειάζονται 😉

    Εννοείται θα διαβάσω και το τρίτο μέρος!! Προς το παρόν όμως xbox, παραλία κτλ! (Τώρα χαίρομαι αλλά στο τέλος ξυρίζουν το γαμπρό!)

    • admin

      Όσον αφορά την μπλε περιοχή, δείχνει την visible περιοχή με βάση την οθόνη του iPhone. Δηλαδή ενώ εμείς βλέπουμε τον συνολικό χάρτη, ο παίχτης βλέπει μόνο το τμήμα που χρωματίζεται. Είναι για να δώσει την αίσθηση αν κρύβεται αρκετή περιοχή ή όχι ώστε να μην δημιουργεί θέματα στο παιχνίδι. Θα το ξαναδούμε στην κανονική υλοποίηση.

      Για τα άλλα τι να πω ΄-) ΕΥΓΕ!

      Έτοιμο το 4ο μέρος, ανεβαίνει…

Σχολιάστε

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s