Avatar billede danielss Nybegynder
16. februar 2007 - 15:59 Der er 2 kommentarer og
1 løsning

Hjælp til Duelsystem

Heysa alle Eksperter..

Jeg er igang med at lave et duelsystem til min hjemmeside, så brugerne kan duellere mod hinanden.

Indtil videre har jeg lavet så de har et level, som påvirker deres liv og mana, og så har de et besværgelseslevel som skal påvirke hvor mange besværgelser de har og træfsikkerheden...

Hver bruger har 20 i liv til at starte med, og dette stiger så i takt med deres level.

I hver runde skal man vælge en angrebs-besværgelse og en mod-besværgelse.

Jeg synes ikke at en besværgelse skal skade det samme hvergang, så derfor skal jeg have lavet et eller andet(det er det jeg skal have jeres hjælp til) så skaden er større jo højere level man er i. Samtidig er der en træfsikkerhed, og hvis man er i et højt level og bruger en af de besværgelser man lærte i starten så er man jo god til den besværgelse og den har en større træfsikkerhed end en besværgelse man har lært for nylig.

Jeg havde tænkt mig at sætte mine besværgelser ind i databasen, med et id, navn, skade, træfsikkerhed... og så lave et par funktioner der beregner de forskellige ting ... har i nogle ideer til hvordan det skal gøres.. Level er forresten baseret på et antal experience udfra følgene funktioner:

[code]
function calculateLevel( $xp, $factor = 1.12){
  if ( $xp < 75 ) { return 1; }
  $levelTwo = 75;
  $level = 2;
  while( $xp > 75 ) {
    $xp = $xp / $factor;
    if( $xp > 75 ) {
      $level++;
    }
  }
  return floor($level);
}

function showNextLevelByLevel( $level, $factor = 1.12) {
  if ( $level == 1 ) { return 75; }
  $levelPoints = 75;
  $level--;
  while( $level > 1 ) {
    $levelPoints = $levelPoints * $factor;
    $level--;
  }
  return floor($levelPoints * $factor) + 1;
}

function showNextLevelByExp( $xp, $factor = 1.12){
  return showNextLevelByLevel( calculateLevel( $xp, $factor ) );
}
[/code]

nogle ideer?
Avatar billede intenz Novice
17. februar 2007 - 17:27 #1
Hvis du har et genemsnitligt antal skade en besværgelse kan give, f.eks. 500
Så kan du vel med almindelig matematisk udregne hvor meget den skal give, afhængig af træfsikkerhed, level, "sværhedsgrad af besværgelse".

Tilfældige tal for eksemplets skyld:
Gns. antal skade: 500
Træfsikkerhed: 87%
Level: 15
Sværhedsgrad af besværgelse (level): 8

500*(15-8)*87% = 3045

Træfsikkerhed: 87%
Level: 9
Sværhedsgrad af besværgelse (level): 8
500*(9-8)*87% = 435

På den måde er det afhængig af level, træfsikkerhed og hvornår man lærte den besværgelse. Bare en ide til udkast, det ligner (hvis du selv har programmeret de funktioner) at du godt kan programmere det.
Avatar billede danielss Nybegynder
18. februar 2007 - 15:07 #2
Hey

Ja det lyder som en meget god måde...Problemet er dog at man starter med 20 i liv, og der er allerede et madsystem, hvor hvert madstykke så giver 3-4 i liv hvergang man spiser, så en lille besværgelse skal helst skade omkring 2-6... Så den der funktion virker desværre ikke rigtig...

Jeg kan godt kode systemet, men det jeg manger er nemlig sådan en matematisk funktion der, og jeg har ikke lige nogen god ide til hvordan det skal kunne ramme på omkring de 2-6 for en besværgelse med en lav skade, f.eks. 3...

Hilsen Daniel
Avatar billede danielss Nybegynder
18. maj 2007 - 10:24 #3
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester