• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
November 03, 2025, 22:16:33 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
November 03, 2025, 22:16:33 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 20:22:53]

[ΑΣΗΕ] Γενικές απορίες κα...
by DimStyl
[Today at 15:00:14]

[Λογική Σχεδίαση] Εργαστή...
by RivenT
[Today at 08:06:35]

GEFORCE RTX 3080 Ti 12GB ...
by botrinis
[November 02, 2025, 12:34:04 pm]

Ταχυρρυθμα ιδιαιτερα Φυσι...
by kostisgialamas
[November 01, 2025, 23:48:04 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[November 01, 2025, 16:57:52 pm]

Αποτυχία δήθεν "φοιτητικώ...
by Nikos_313
[November 01, 2025, 16:24:50 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by Nikos_313
[October 31, 2025, 21:46:32 pm]

[Σ.Φ. Ηλ-Μηχ] Κινητοποίησ...
by Nikos_313
[October 31, 2025, 21:41:48 pm]

Μόνο λάθος απαντήσεις
by Nikos_313
[October 31, 2025, 19:45:44 pm]

[ΣΦ ΗΛ-ΜΗΧ] Γενική Συνέλε...
by Aris★
[October 31, 2025, 17:44:39 pm]

[Λογική Σχεδίαση] Ύλη που...
by Orgianelis
[October 31, 2025, 02:04:50 am]

Ποιο τραγούδι ακούσατε 5+...
by pesto80
[October 31, 2025, 00:06:03 am]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[October 30, 2025, 17:19:57 pm]

[Υψηλές Τάσεις Ι] Γενικές...
by chatzikys
[October 29, 2025, 14:50:41 pm]

[Πυρηνική Τεχνολογία] Γεν...
by chatzikys
[October 29, 2025, 14:49:30 pm]

Αποτελέσματα Εξεταστικής ...
by supersonic pepega
[October 29, 2025, 14:25:43 pm]

Ποιον θεωρείτε χειρότερο...
by Katarameno
[October 29, 2025, 12:49:59 pm]

[Τεχνικές Βελτιστοποίησης...
by ttsengel
[October 28, 2025, 09:30:42 am]

Των συνειρμών το παίγνιο....
by Nikos_313
[October 27, 2025, 14:27:19 pm]
Στατιστικά
Members
Total Members: 10156
Latest: drandic
Stats
Total Posts: 1428789
Total Topics: 31845
Online Today: 606
Online Ever: 2093
(April 17, 2025, 07:47:49 am)
Users Online
Users: 18
Guests: 182
Total: 200
mimaki
Randomuser762
tony123
sassi
michalis26
manek
kakousios
gpapmtb
mprizakias
Sotirisbikos
zztk
akmilios
tasos gourd
Tasaras
stefanos hios
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 3ο Εξάμηνο > Δομές Δεδομένων (Moderators: chatzikys, Tasos Bot, tzortzis, RivenT) > Εργασία Γ - Απορίες
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 5 Go Down Print
Author Topic: Εργασία Γ - Απορίες  (Read 8903 times)
Larry_Flynt
Καταστραμμένος
********
Gender: Male
Posts: 5403



View Profile WWW
Εργασία Γ - Απορίες
« on: December 23, 2006, 19:23:04 pm »

1. Και το Prey και το Predator οδηγούνται από την ίδια κλάση; (creature)
Πως θα γίνει αυτό;
π.χ. Όταν το prey βλέπει το  predator θέλουμε να απομακρύνεται και το αντίστροφο

2. Η οσμή πως λειτουργεί;
Logged

void DrawShadow()
        {
            shadow = Matrix.CreateShadow(-directionalLight0Direction, game.functions.GetPlane(ref game.player.position, 5));
            Matrix[] bones = game.heroPlayer.GetSkinTransforms();
            Matrix[] shadowBones = new Matrix[bones.Length];

            for (int i = 0; i < shadowBones.Length; i++)
            {
                shadowBones = bones * shadow;
            }

            foreach (ModelMesh mesh in game.heroModel.Meshes)
            {
                foreach (Effect effect in mesh.Effects)
                {
                    effect.CurrentTechnique = effect.Techniques["Shadow"];
effect.Parameters["Bones"].SetValue(shadowBones);  effect.Parameters["View"].SetValue(game.viewMatrix);
effect.Parameters["Projection"].SetValue(game.projectionMatrix);
                }
                mesh.Draw();
            }
           
        }
fpsom
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 119


I am not antisocial. Society is anti-me...


View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #1 on: December 23, 2006, 20:39:01 pm »

1. Ναι, η κλάση Creature έχει και τους δύο ρόλους. Η διαφοροποίηση των ρόλων γίνεται με τη χρήση της μεταβλητής amPrey. Όταν δημιουργηθεί ένα αντικείμενο της κλάσης Creature και σαν τιμή της amPrey μπει η τιμή true, τότε αυτό το αντικείμενο θα παίζει το ρόλο του Prey. Εάν μπει η τιμή false τότε το αντικείμενο θα αντιμετωπίζεται ως Predator.

Από την πλευρά του κώδικα, και στις δύο περιπτώσεις θα καλείται η συνάρτηση calculateNextPosition. Η υλοποίηση που πρέπει να κάνετε, πρέπι να λαμβάνει υπόψιν της το περιεχόμενο της μεταβλητής amPrey, ώστε να "ενεργοποιείται" κάθε φορά η αντίστοιχη λειτουργικότητα (ένα απλό if μπορεί κάλλιστα να έχει αυτό το ρόλο, αν και υπάρχουν και πιο "κομψές" προσεγγίσεις").


2. Η οσμή, πρακτικά, είναι η ακέραια μεταβλητή που αποτελεί το δεύτερο όρισμα εισόδου της calculateNextPosition. Η τιμή που έχει η μεταβλητή αυτή εκφράζει τον αριθμό δωματίων που παρεμβάλονται μεταξύ των δύο παικτών (Prey και Predator). Σε περίπτωση που ο αριθμός των δωματίων υπερβαίνει τα 25 δωμάτια, τότε η μεταβλητή έχει πάντα την τιμή 26.
« Last Edit: December 23, 2006, 21:14:19 pm by fpsom » Logged

Sed quis custodiet ipsos custodes?
Larry_Flynt
Καταστραμμένος
********
Gender: Male
Posts: 5403



View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #2 on: December 23, 2006, 20:51:49 pm »

Οτι πρέπει ήταν η απάντηση σου!
Thanx

Συνεχίζω.

Δηλαδή απο την οσμή δεν καταλαβαίνουμε προς τα ποια κατεύθυνση μυρίζουμε;

Αν είναι έτσι είναι ψιλοάχρηστη αίσθηση.


Και κάτι άλλο. Μπορούμε σαν τρόπο να μην έχουμε την προτεινόμενη υλοποίηση με την κλασσική arrayMemory αλλα κάτι άλλο;
Logged

void DrawShadow()
        {
            shadow = Matrix.CreateShadow(-directionalLight0Direction, game.functions.GetPlane(ref game.player.position, 5));
            Matrix[] bones = game.heroPlayer.GetSkinTransforms();
            Matrix[] shadowBones = new Matrix[bones.Length];

            for (int i = 0; i < shadowBones.Length; i++)
            {
                shadowBones = bones * shadow;
            }

            foreach (ModelMesh mesh in game.heroModel.Meshes)
            {
                foreach (Effect effect in mesh.Effects)
                {
                    effect.CurrentTechnique = effect.Techniques["Shadow"];
effect.Parameters["Bones"].SetValue(shadowBones);  effect.Parameters["View"].SetValue(game.viewMatrix);
effect.Parameters["Projection"].SetValue(game.projectionMatrix);
                }
                mesh.Draw();
            }
           
        }
fpsom
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 119


I am not antisocial. Society is anti-me...


View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #3 on: December 23, 2006, 21:16:48 pm »

Ναι, από την οσμή δεν καταλαβαίνετε προς ποιά κατεύθυνση είναι ο αντίπαλος, αλλά κρατώντας διαδοχικές (χρονικά) τιμές της οσμής, μπορείτε σχετικά εύκολα να αντιληφθείτε την κατεύθυνση. Για αυτό το λόγο, καθώς και για το γεγονός ότι σας ενημερώνει για την εγγύτητα του αντιπάλου σας, η όσφρηση είναι μάλλον χρήσιμη.

Προφανώς μπορείτε να αξιοποιήσετε την όραση (γιατί εκεί προτείνετε ο arrayMemory) με όποιον τρόπο θέλετε.
Logged

Sed quis custodiet ipsos custodes?
Larry_Flynt
Καταστραμμένος
********
Gender: Male
Posts: 5403



View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #4 on: December 23, 2006, 21:19:13 pm »

Το θέμα είναι οτι μπορεί ο άλλος να είναι απο πάνω σου ακριβώς και να σας χωρίζει ένας τοίχος αλλα για να πάς απο τη μια μεριά στην άλλη να
χρειάζεται να κάνεις ολόκληρο κύκλο του λαβύρινθου...  Undecided
Logged

void DrawShadow()
        {
            shadow = Matrix.CreateShadow(-directionalLight0Direction, game.functions.GetPlane(ref game.player.position, 5));
            Matrix[] bones = game.heroPlayer.GetSkinTransforms();
            Matrix[] shadowBones = new Matrix[bones.Length];

            for (int i = 0; i < shadowBones.Length; i++)
            {
                shadowBones = bones * shadow;
            }

            foreach (ModelMesh mesh in game.heroModel.Meshes)
            {
                foreach (Effect effect in mesh.Effects)
                {
                    effect.CurrentTechnique = effect.Techniques["Shadow"];
effect.Parameters["Bones"].SetValue(shadowBones);  effect.Parameters["View"].SetValue(game.viewMatrix);
effect.Parameters["Projection"].SetValue(game.projectionMatrix);
                }
                mesh.Draw();
            }
           
        }
fpsom
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 119


I am not antisocial. Society is anti-me...


View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #5 on: December 23, 2006, 23:05:39 pm »

Η όσφρηση δίνει την απόσταση που συνδέει τους δύο παίκτες, χωρίς όμως να περνάει μέσα από τοίχους. Οπότε αν σας χωρίζει ένας τοίχος, η όσφρηση ΔΕΝ θα επιστρέψει 0 αλλά το πλήθος δωματίων της μοναδικής διαδρομής που σας συνδέει (και σε περίπτωση που η απόσταση αυτή είναι πάνω από 25, τότε θα πάρεις την τιμή 26).

Τα λέω όλα αυτά γιατί δεν κατάλαβα που ακριβώς ήταν η αντίρρηση... Smiley
Logged

Sed quis custodiet ipsos custodes?
Larry_Flynt
Καταστραμμένος
********
Gender: Male
Posts: 5403



View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #6 on: December 23, 2006, 23:09:06 pm »

αααααααααααααα

Δηλαδή δε μυρίζει μέσα απο τοίχους;
Logged

void DrawShadow()
        {
            shadow = Matrix.CreateShadow(-directionalLight0Direction, game.functions.GetPlane(ref game.player.position, 5));
            Matrix[] bones = game.heroPlayer.GetSkinTransforms();
            Matrix[] shadowBones = new Matrix[bones.Length];

            for (int i = 0; i < shadowBones.Length; i++)
            {
                shadowBones = bones * shadow;
            }

            foreach (ModelMesh mesh in game.heroModel.Meshes)
            {
                foreach (Effect effect in mesh.Effects)
                {
                    effect.CurrentTechnique = effect.Techniques["Shadow"];
effect.Parameters["Bones"].SetValue(shadowBones);  effect.Parameters["View"].SetValue(game.viewMatrix);
effect.Parameters["Projection"].SetValue(game.projectionMatrix);
                }
                mesh.Draw();
            }
           
        }
ilithios
Καταξιωμένος/Καταξιωμένη
***
Posts: 104


View Profile
Re: Εργασία Γ - Απορίες
« Reply #7 on: December 24, 2006, 17:19:29 pm »

Ο pretador χρησιμοποιεί την όσφρηση;
Logged
KorkoLyk
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 840


Δεν αντέχω τόση πραγματικότητα


View Profile
Re: Εργασία Γ - Απορίες
« Reply #8 on: December 24, 2006, 20:32:52 pm »

ε ναι!

Και το θύμα όμως.

Παρένθεση: Ποια είναι τα τελικά ονόματα θύτη-θύματος και οι οριστικοί κανόνες του παιχνιδιού? Ξέρει κανείς?
Logged

"The fact that each individual sees apathy in his fellows perpetuates the common reluctance to organize for change."

Port Huron Statement
fpsom
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 119


I am not antisocial. Society is anti-me...


View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #9 on: December 25, 2006, 13:49:41 pm »

Quote from: Larry_Flint on December 23, 2006, 23:09:06 pm
αααααααααααααα

Δηλαδή δε μυρίζει μέσα απο τοίχους;
Εννοείται ότι ΔΕΝ μυρίζει μέσα από τοίχους... Αυτό πλέον δεν είναι μυρωδιά, είναι μπόχα! Smiley

Quote from: ilithios on December 24, 2006, 17:19:29 pm
Ο pretador χρησιμοποιεί την όσφρηση;
Ναι, και το prey και το predator χρησιμοποιούν ΚΑΙ την όραση ΚΑΙ την όσφρηση.


Quote from: KorkoLyk on December 24, 2006, 20:32:52 pm
ε ναι!

Και το θύμα όμως.

Παρένθεση: Ποια είναι τα τελικά ονόματα θύτη-θύματος και οι οριστικοί κανόνες του παιχνιδιού? Ξέρει κανείς?

Τελικά ονόματα θύτη και θύματος δεν έχουν βγει (αλλά εγώ τουλάχιστον νομίζω ότι αυτό είναι λεπτομέρειες). Όσο για τους κανόνες, αυτοί που σας ενδιαφέρουν για την Εργασία Γ', αναγράφονται στην εκφώνησή της. Αυτά τα οποία ΔΕΝ έχουν οριστικοποιηθεί ακόμα είναι το πλήθος των εξόδων, τα όρια των σχετικών αποστάσεων των τυχαίων θέσεων των δύο παικτών, και άλλα τέτοια παρόμοια... Smiley
Logged

Sed quis custodiet ipsos custodes?
AnnieHall
Ανερχόμενος/Ανερχόμενη
**
Posts: 89



View Profile
Re: Εργασία Γ - Απορίες
« Reply #10 on: December 25, 2006, 19:23:25 pm »

Βασικά . με το που έτρεξα το πρόγραμμα (χωρίς να πειράξω τπτ στον κώδικα) κινούνταν μόνο η πράσινη βούλα και η κόκκινη εξαφανιζόταν. Έκανα ένα αντικείμενο Creature test = new Creature(false); Κατ αρχήν είτε δώσω ως όρισμα true είτε false το ίδιο και το αυτό. Γενικά κινείται πάντα μόνο η πράσινη βούλα και η κόκκινη εξαφανίζεται. Δεν κατάλαβα πως ακριβώς θα γίνεται η ξεχωριστή κίνηση του κυνηγού και του θηράματος!  8)
Logged

"That was the most fun I've ever had without laughing"
Larry_Flynt
Καταστραμμένος
********
Gender: Male
Posts: 5403



View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #11 on: December 25, 2006, 19:38:44 pm »

Αν πατήσεις chase κινούνται και τα 2.
Logged

void DrawShadow()
        {
            shadow = Matrix.CreateShadow(-directionalLight0Direction, game.functions.GetPlane(ref game.player.position, 5));
            Matrix[] bones = game.heroPlayer.GetSkinTransforms();
            Matrix[] shadowBones = new Matrix[bones.Length];

            for (int i = 0; i < shadowBones.Length; i++)
            {
                shadowBones = bones * shadow;
            }

            foreach (ModelMesh mesh in game.heroModel.Meshes)
            {
                foreach (Effect effect in mesh.Effects)
                {
                    effect.CurrentTechnique = effect.Techniques["Shadow"];
effect.Parameters["Bones"].SetValue(shadowBones);  effect.Parameters["View"].SetValue(game.viewMatrix);
effect.Parameters["Projection"].SetValue(game.projectionMatrix);
                }
                mesh.Draw();
            }
           
        }
Larry_Flynt
Καταστραμμένος
********
Gender: Male
Posts: 5403



View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #12 on: December 25, 2006, 19:45:35 pm »

Έχω τρομερή απορία.
Βασικά είμαι εντελώς άσχετος από προγραματισμό, έχω κάνει C στη σχολή καθόλου και σε αυτό το εξάμηνο άρχισα με την Java.

Μέσα στην κλάση creature που κάνω έτσι πως είναι γραμμένο όταν επιλέγει να πάει πάνω κάνει και κάποιες ενέργειες που μου τρώνε καμια 6 σειρές απο κώδικα. Το θέμα είναι οτι σε 3-4 σημεία κάνει τον έλεγχο να πάει πάνω( η αριστερά, δεξια, κάτω) και αναγκάζομαι να ξαναγράφω τζάμπα τα ίδια και τα ίδια. Στην ουσία δεν είναι σοβαρό πρόβλημα, αλλα για λόγους αισθητικής θέλω να είναι πιο συμμαζεμένο και όμορφο.

Μπορώ πχ όταν ελέγχει για να πάει πάνω σε αυτά τα 2-3 σημεία να πετάξω ένα πχ goNorth και κάπου αλλού να γράφω τι θα κάνει το goNorth?

Πως γίνεται αυτό; Να κάνω ξεχωριστές μεθόδους για κάθε κίνηση; Να κάνω κλάσεις;

Και η μέθοδος τι είναι; Η συνάρτηση λέγεται μέθοδος;
Αντικείμενο τι είναι; Είναι μια κλάση ας το πω συγκεκριμενοποιημένη; ΔλΔ που την χρησιμοποιήσαμε για ένα πράγμα;
Logged

void DrawShadow()
        {
            shadow = Matrix.CreateShadow(-directionalLight0Direction, game.functions.GetPlane(ref game.player.position, 5));
            Matrix[] bones = game.heroPlayer.GetSkinTransforms();
            Matrix[] shadowBones = new Matrix[bones.Length];

            for (int i = 0; i < shadowBones.Length; i++)
            {
                shadowBones = bones * shadow;
            }

            foreach (ModelMesh mesh in game.heroModel.Meshes)
            {
                foreach (Effect effect in mesh.Effects)
                {
                    effect.CurrentTechnique = effect.Techniques["Shadow"];
effect.Parameters["Bones"].SetValue(shadowBones);  effect.Parameters["View"].SetValue(game.viewMatrix);
effect.Parameters["Projection"].SetValue(game.projectionMatrix);
                }
                mesh.Draw();
            }
           
        }
Larry_Flynt
Καταστραμμένος
********
Gender: Male
Posts: 5403



View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #13 on: December 25, 2006, 19:47:10 pm »

Πάντως είναι κρίμα να βρεί αδιέξοδο το prey και να εγκλωβιστεί...
Logged

void DrawShadow()
        {
            shadow = Matrix.CreateShadow(-directionalLight0Direction, game.functions.GetPlane(ref game.player.position, 5));
            Matrix[] bones = game.heroPlayer.GetSkinTransforms();
            Matrix[] shadowBones = new Matrix[bones.Length];

            for (int i = 0; i < shadowBones.Length; i++)
            {
                shadowBones = bones * shadow;
            }

            foreach (ModelMesh mesh in game.heroModel.Meshes)
            {
                foreach (Effect effect in mesh.Effects)
                {
                    effect.CurrentTechnique = effect.Techniques["Shadow"];
effect.Parameters["Bones"].SetValue(shadowBones);  effect.Parameters["View"].SetValue(game.viewMatrix);
effect.Parameters["Projection"].SetValue(game.projectionMatrix);
                }
                mesh.Draw();
            }
           
        }
Larry_Flynt
Καταστραμμένος
********
Gender: Male
Posts: 5403



View Profile WWW
Re: Εργασία Γ - Απορίες
« Reply #14 on: December 26, 2006, 02:34:55 am »

Την οσμή θα την υλοποιήσουμε μόνοι μας;
Δεν είναι έτοιμη στα LabyrinthUtilities?
Logged

void DrawShadow()
        {
            shadow = Matrix.CreateShadow(-directionalLight0Direction, game.functions.GetPlane(ref game.player.position, 5));
            Matrix[] bones = game.heroPlayer.GetSkinTransforms();
            Matrix[] shadowBones = new Matrix[bones.Length];

            for (int i = 0; i < shadowBones.Length; i++)
            {
                shadowBones = bones * shadow;
            }

            foreach (ModelMesh mesh in game.heroModel.Meshes)
            {
                foreach (Effect effect in mesh.Effects)
                {
                    effect.CurrentTechnique = effect.Techniques["Shadow"];
effect.Parameters["Bones"].SetValue(shadowBones);  effect.Parameters["View"].SetValue(game.viewMatrix);
effect.Parameters["Projection"].SetValue(game.projectionMatrix);
                }
                mesh.Draw();
            }
           
        }
Pages: [1] 2 3 ... 5 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...