Opsamling af tupler

Tags:    databaser

Jeg har følgende tabeller.

Fold kodeboks ind/udSQL kode 


Tabellerne skal bruges til et mindre spil jeg er i gang med. Det jeg har brug for er at lave en samlet oversigt over emner for en given karakter i spillet.

Characters indeholder alle "karakterene" fra spillet samt deres basic stats. Indtil videre har jeg kun sat "Sneaky" ind.

Professions indeholder professioner som er tilgængelige i spillet. Bandit, Bodyguard, mv.

Skills indeholder alle de evner som er tilgængelige.

Jeg har så brug for at lave en oversigt med karakterens samlede stats. Det har jeg gjort på følgende måde.

Fold kodeboks ind/udSQL kode 


Er der en nemmere måde at gøre dette på? Der kan forekomme flere evner som giver til den samme stat. Så det vil være bøvlet at skulle kode dem ind manuelt.

EDIT: SQL er pt MsSQL, men dette vil nok blive konverteret over til MySQL senere. Dette skylde at jeg pt har en MsSQL express jeg benytter samt MS SQL Manager Express



Indlæg senest redigeret d. 23.01.2011 19:40 af Bruger #6559
3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg er ikke så meget ind i SQL og ved ikke hvor nemt det er. Men det ligner en opgave hvor matrix-regning egner sig. Hvis du kunne lave en matrice (tabel) med alle skills og hvordan de hænger sammen. Et minimalt eksempel baseret på dit (har brugt underscore pga. mellemrum bliver trimmet væk):

_______CS_____SNEAK___....
CS_____1______0_______..

SNEAK__2______1_______..

....___.._____..______..

Hvor du så ganger dine aktuelle skills for en given person på så:

_______CS_____SNEAK___...._______
CS_____1______0_______.._________|_CS____|
_________________________________|_______|
SNEAK__2______1_______.._____X___|_SNEAK_|
_________________________________|_______|
....___.._____..______.._________|_....__|

Så hvis man har 3 i SNEAK og 2 i CS (Character skill) vil ens CS ende på

|1_0|_____|_2_|_______|_2_|____(CS)
_______x__________=_
|2_1|_____|_3_|_______|_5_|____(SNEAK)

Men hvis du skal tilføje flere skalerer det ikke så godt med en stor tabel,
men en masse rækker måske som repræsenterer denne tabel bliver så til:

(ID_på_skills)
id_fra____id_til____faktor
_0___________0_________1
_0___________1_________2
_1___________1_________1
_1___________0_________0

På den måde kan nye skills og nemt sættes til.





Indlæg senest redigeret d. 23.01.2011 20:03 af Bruger #14645
Jeg overvejede også at putte en ekstra kolonne på, der fortalte hvilken stat den knyttede sig til. Men som jeg lige kan se det ville det give et problem med at en evne kan give +1 og en anden kan give +2.



Jeg er kommet frem til følgende:

Fold kodeboks ind/udSQL kode 


Jeg er dog ikke færdig med at teste det endnu.



t