Quest

Status
Nicht offen für weitere Antworten.
T

Titan2

Gast
Hallo,

ich bin dabei ein Rollenspiel zu bauen. Dies soll möglichst nicht allzu statisch sein und platz zum weiter verwenden oder hinzufügen habe. Nun frage ich mich wie ich das mit denn Quest realisieren möchte? Hat vllt jemand schonmal einblicke bei derartigen Vorgängen bekommen?

Ich habe mir das erstmal vereinfacht so vorgestellt.

Tabelle: NPC

nr
gebiet
x
y

Tabelle: Quest

nr
level
name
start npc
.
.


Nur das problem ist, es sind nicht nur "Laufequest" sondern auch Monster haue quest...quest die viele npc's ansprechen, wo man mal was suchem muss etc...

Wie macht man sowas am geschicksten, ohne ifiifiififiiiffififffi...
 
S

SlaterB

Gast
ifiifiififiiiffififffi steht für irgendein Schnaufen im Spiel oder das Programmiersprachenkonzept if-Abfrage?
im letzteren Fall: echt toll erklärt,
ähnlich ausführliche Antwort: benutze Schleifen
 
T

tuxedo

Gast
Wieso schaust du nicht einfach wie andere das gemacht haben? Google mal nach L2J, der freien Lineage2 Serverimplementierung. Ist alles in Java geschrieben.

- Alex
 

LoN_Nemesis

Bekanntes Mitglied
Titan2 hat gesagt.:
Nur das problem ist, es sind nicht nur "Laufequest" sondern auch Monster haue quest...quest die viele npc's ansprechen, wo man mal was suchem muss etc...

Wie macht man sowas am geschicksten, ohne ifiifiififiiiffififffi...

Ich weiss nicht genau was du mit ifififififif meinst, aber du wirst wahrscheinlich nicht drum herum kommen. Prinzipiell gibt es ja zwei Möglichkeiten:

1. Du gibst deiner Quest Klasse eine Variable der Art 'typeOfQuest'. Dann machst du eine enum oder consts mit allen möglichen Questarten (Monster töten, Gegenstand finden, NPCs anquatschen, etc). Natürlich wird dann irgendwo der von dir genannte 'ifififififif Code' sein um zu überprüfen um welchen Quest-Typ es gerade geht. Alternativ kannst du auch für jede Art von Quest eine eigene Klasse machen, die von einer gemeinsamen Klasse erben. Das hängt stark von deinem Spiel ab.

2. Du schränkst die Questarten nicht ein und lässt prinzipiell beliebige Ziele für eine Quest zu. Dann musst du dir aber überlegen wie du das implementierst. Zum Beispiel indem die Klasse Quest abstrakt ist (oder ein Interface), und eine Methode
Code:
boolean solved(){...}
oder so anbietet, die für jede Quest verschiedenen sein kann. Allerdings hast du dann andere Probleme, nämlich dass du jede Quest im Code implementieren musst. Es sei denn du entwickelst/benutzt eine Scriptsprache für deine Questziele, aber das könnte eventuell Overkill sein.

Ohne dein Projekt genau zu kennen, würde ich dir zu der ersten Methode raten, denn realistisch gesehen wird es nicht mehr als ein dutzend verschiedene Questarten geben. Und ich weiss nicht was ungeschickt daran sein soll, einen etwas grösseren 'If' oder 'Switch' Block im Code zu haben :p
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Quest for Peace Spiele- und Multimedia-Programmierung 28

Ähnliche Java Themen


Oben