2011-12-02, 17:10
  #1
Medlem
Luciditys avatar
Jag hade tnkt brja med ngot stort snart, ett 3D spel. Jag kommer ha med quester i detta spelet. Antagligen en main questline och en mngd sid-quest. Men jag funderar p hur jag ska programmera just questerna. En quest kommer ha ett namn, en beskrivning, ngra rewards, followup-quests, vad som behvs fr att klara questet (dda 5 vargar, samla 10 kristaller) och kanske kod som krs d questet r klart/brjar. Jag kommer ju d ha en superklass som heter Quest. Men hur ska jag g vidare? Har kommit p 3 olika stt.

1. En superklass som heter Quest, en subklass fr varje nytt quest (lter dligt, blir skert 50+ subklasser)
2a. En klass som heter Quest och ngonstans i koden grs en vldans massa new Quest(...); som lggs i en lista.
2b. Samma som fregende men alla quester lagras i en textfil/databas.

Det bsta jag kan tnka mig just nu r ungefr 2b, en textfil i stil med detta formatet, ett quest per rad:
Citat:
id|namn|beskrivning|text nr man blir klar|143,144|43
Dr 143,144 r rewards och 43 r followup quest. Sedan kan jag hrdkoda ifall ngot script ska kras fr ett quest med ett visst id. Skulle ocks kunna gra detta till en sqlite databas eller liknande.

Ngon som har frslag eller synpunkter? Spelet ska antagligen vara offline.
__________________
Senast redigerad av Lucidity 2011-12-02 kl. 17:14.
Citera
2011-12-02, 20:02
  #2
Medlem
notons avatar
Jag tror att det kan fungera att ha en klass fr varje quest. Lgg dem i ett package och ngra subpackages s tror jag det blir mycket smidigare n att ha en stor klass.
Citera
2011-12-02, 20:21
  #3
Medlem
TheCompBoys avatar
[quote=Lucidity
1. En superklass som heter Quest, en subklass fr varje nytt quest (lter dligt, blir skert 50+ subklasser)
[/QUOTE]

jag tror att jag personligen hade gjort shr.
Citera
2011-12-02, 21:46
  #4
Medlem
Luciditys avatar
Lter som om det skulle bli vldigt krngligt ur ett objektorienterat perspektiv. Knns som att alla Quest-subklasser borde vara singleton?

Funderar p om man skulle kunna ha en ny klass fr varje questline, som i sin tur har en array med quests som den initierar i konstruktorn. Den br nog ocks vara singleton d.
Citera
2011-12-02, 21:53
  #5
Medlem
daddyfreshs avatar
google its your friend
Citera
2011-12-02, 22:01
  #6
Medlem
Tycker inte alls man ska 50 olika klasser fr quests. Det lter fr att utrycka det milt,helt idiotiskt.
Nu r det ju dumt av mig att kommentera sna saker nr jag inte vet exakt hur questen ska se ut. Spelar inte s mycket rollspel,inte alls faktiskt.

Utan en mer utfrlig beskrivning r det svrt att sga men jag kan aldrig tnka mig att 50 klasser skulle vara ndvndigt fr det. En rcker gott men det beror p om det r lnt med flera eller inte.
Citera
2011-12-02, 22:10
  #7
Medlem
Luciditys avatar
En vn tyckte ocks att en klass per quest lt dumt och inte var korrekt objekt orientering. Han tyckte jag ska ha superklassen Quest som kan ta en Interface som parameter ifall jag behver unika metoder som krs i samband med questen. S funderade jag p om man skulle ha en klass som r singleton som skapar alla quests och lgger dem i en lista som sedan vriga programmet kan hmta ur. Quest kommer d ha alla egenskaper jag beskrev i konstruktorn. Om jag inte kommer p ngot bttre f det bli shr.

Jag kommer ven ha items i spelet vilket r ett problem som gr att lsa p liknande stt.

Citat:
Ursprungligen postat av daddyfresh
google its your friend
Kunde inte lista ut vad jag ska ska p, du fr grna ge tips.
Citera
2011-12-02, 22:58
  #8
Medlem
Knns inte Singleton Pattern som svaret som ingen frgat efter i det hr fallet ?
Vad r vitsen med det ?
Citera
2011-12-02, 23:51
  #9
Medlem
Luciditys avatar
Citat:
Ursprungligen postat av SixtenSune
Knns inte Singleton Pattern som svaret som ingen frgat efter i det hr fallet ?
Vad r vitsen med det ?
Jag kommer bara behva en instans av varje Quest ifall jag vljer att gra en ny subklass fr varje quest, drav nmnde jag singleton.
Citera
2011-12-03, 13:16
  #10
Medlem
Citat:
Ursprungligen postat av Lucidity
Jag kommer bara behva en instans av varje Quest ifall jag vljer att gra en ny subklass fr varje quest, drav nmnde jag singleton.
Att bara ha en instans av ntt och Singleton r inte samma sak,men strunt i det.

Man skulle kunna dela in quest uppgifterna i typ samla/dda/ntt annat.
Du borde ha en lista av sna saker i din spelare i vilket fall som helst fr att se totalen av allt du gjort.
Nr du skapar en ny quest s kan man gra en lista med samla saker, en med dda saker osv och nr du gr det, tar du bort ett element ur listan och nr alla listor r tomma s r questet avklarat.

Om du mste klara det p en viss tid kollar du bara nr questet skapades och nr questet r frdigt tex.
Citera
2011-12-03, 13:54
  #11
Medlem
Luciditys avatar
Citat:
Ursprungligen postat av SixtenSune
Man skulle kunna dela in quest uppgifterna i typ samla/dda/ntt annat.
Du borde ha en lista av sna saker i din spelare i vilket fall som helst fr att se totalen av allt du gjort.
Nr du skapar en ny quest s kan man gra en lista med samla saker, en med dda saker osv och nr du gr det, tar du bort ett element ur listan och nr alla listor r tomma s r questet avklarat.

Om du mste klara det p en viss tid kollar du bara nr questet skapades och nr questet r frdigt tex.
Ngot snt har jag ocks tnkt. Skulle kunna gra en QuestObjective klass fr det, och varje quest har en array/lista med sdana. Och en isComplete i Quest fr loopa igenom alla QuestObjectives. Jag skulle ocks kunna gra QuestObjective till en abstrakt klass och subklasser fr varje typ av uppdrag, dda X fiender eller samla Y freml.

Just den hr delen av upplgget knner jag att jag har koll p. Det r bara det jag skrev i frsta inlgget jag funderar ver. Men jag kommer antagligen gra ngot i stil med 2a.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in