23. oktober 2003 - 21:26Der er
13 kommentarer og 1 løsning
ASP Udfordring til gode hjælpere - Duel system
Hmm... Hajsa Jeg har en af dk's største Harry Potter sites. Og nu har vi pillet den ned, fordi vi vil lave en ny version! Det jeg synes kunne være godt er et duel system, hvor brugerne kunne kæmpe mod hinanden!
- - - - Baggrunds info ::
Et troldmands duel system! Her skal wizard(1) kunne sende et brev til wizard(2) og så skal wizard(2) kunne afslå eller acceptere. Hvis han afslår sker der intet end den slettes og der bliver sendt et brev tilbage til wizard(1) om at han har afslået. Men HVIS wizard(2) acceptere; så skal der ske dette: At de mødes og så skal kampen ske. (i asp sprog:) Så skal der ske det at når wizard(2) acceptere så skal den generere hele kampen så der faktisk kun er tekst tilbage. Altså på f.eks. battlefield.asp siden. Her skal der så stå dette i HTML:
wizard(1) står og venter på wizard(2) ved en høj bakketop. Random.fuktion så en af dem starter - fifty-fifty: wizard(1) angriber:
(Battlefield siden kan f.eks. se sådan ud)
wizard(1) angriber wizard(2) med 23 i skade! wizard(2) angriber wizard(1) med 4 i skade! wizard(2) er hurtig og får en chance til, og skader wizard(1) med 7 i skade! wizard(1) angriber wizard(2) men han afviger! wizard(1) er hurtig og får en chance til, og skader wizard(2) med 24 i skade!
wizard(2) falder om! wizard(1) vandt!
[wizard(1)'s ser så:] Du har tjent 32 guldmønter! Du har fået +16 i erfaring! (måske level op)
[wizard(2)'s ser så:] Du tabte kampen og mistede 32 guldmønter
------------------------
Dette er bare lidt info om hvordan det KAN komme til at se ud. Angrebene, afvigelserne, og selve skaden skal beregnes ud fra Styrke, level og våben (stave)
...MIT problem er:
At jeg ved ikke helt hvordan jeg kommer igang med de random funktioner, og hvor den henter data fra en database, hvor den så beregner ud fra personernes; level, liv, styrke, forsvar og våbens skade:
Altså også de random funktioner hvor de skiftevis angriber, og randomly afviger angrebet alt efter deres forsvar! Og at den efter hver angreb tjekker spillernes LIV ... if life = "0" then eller noget i den stil!
......nogle der har nogle ideer eller måske en lille løsning til noget af mit problem...
ville være rart :D
/ kontakt: / Sig til hvis i vil kontakte mig privat for mere info :)
<% sql="SELECT * FROM medlemmer order by nr desc" Set RS = conn.Execute(Sql) nr = rs("nr") Randomize intChoice = Int(Rnd * nr ) %> <% sql="SELECT * FROM medlemmer WHERE nr=" & intChoice Set RS = conn.Execute(Sql) %>
OSV...man kan jo selv lave den om...men plz da...kom med lidt ide'er
Synes godt om
Slettet bruger
23. oktober 2003 - 23:45#2
nu er det jo ikke helt småt dit fine projekt.... men måske du skulle få det hele ned på noget papir først, altså hele konceptet med måden det skal udregnes på m.m. så der ikke herskes tvivl om dette.
kan desvære ikke hjælpe dig gratis med et projekt i dette omfang, da dette simpelt hend er for stort. men små spørgsmål ka man jo altid besvare...
det lyder da i hvertfald som et spændende projekt.
1. man skal aldrig pille et site ned, før afløseren er klar.. det er en meget meget dum ide..
2. for at lave et angrab, skal du:
definere hvad max skade for det angreb vil være. definere hvad min skade for det angreb vil være. så tager du et tilfældigt tal derimellem. det er din evt skade. derefter beregner du hvor stor chancen er for at blokere et "slag"
hvis ikke der blokeres gives der skade.. så er det den næstes tur
men beder ikke om en komplet løsning...beder om ide'er til hvordan jeg skal lave mine random ting...
therealyoda: 1: lad mig om det :D - har fundet ud af det var lidt dumt! 2: jamen det ved jeg! prøv at skriv det i asp istedet...bare en eksempel kode agtig....
1) hvis man har et våben, som har damage: 7-9 ... hvordan finder den så 8 tallet? kan ik helt huske det 2) chancen for at blokere, er vel en givet procent, alt efter styrke, modstanderens forsvar osv....hvordan gør man så det?
[Det jeg som sagt beder om, er IDE'er...ikke en komplet løsning til mit site, og lad vær med at sige jeg skal gi op....for det vil jeg ik....vil da lige prøve]
Synes godt om
Slettet bruger
24. oktober 2003 - 12:23#5
som sagt skal du lave en komplet defination af hvordan ALT skal regnes ud og hvilke faktorer der skal indgå i udregningerne, for at vi kan give dig nogle eksempler, men det er jo ren matematik, du kan tænke det som, og direkte oversætte til asp, men når du har nogle konkrete eksempler, er jeg da villig til at hjælpe dig med nogle småting.
hmm ok.. men det ville jeg jo bedst gøre ved at prøve mig frem, hvor der er 2 brugere i en database osv.... Og alle oplysningerne ligger i forvejen oprettet...f.eks.
Har da nogle notat-papirer, som jeg sad og lavede i toget....men....
Du vil ha at jeg kommer med en 10-siders lang beskrivelse af hele min ide?...hehe synes jeg lavede ok meget info i #1 indlæg....men...ok.. kan da prøve på nogle ting
Synes godt om
Slettet bruger
24. oktober 2003 - 12:33#7
om det lige bliver en 10 siders lang afhandling ved jeg ikke ;O)
men det jeg vil have dig til for at du får det bedste ud af det, er at tage hver enkelte faktor og få skrevet ned hvad den kan, hvilken rolle den spiller og alle de mulige udfald den kan have, endvidere også i sammen spil med andre faktorer....
dette vil gøre at der er taget højde for alle faktorer når det skal udvikles, og være langt nemmere for dig selv at udvikle det. uden for stor en fejlmargen...
For at tage et tilfædigt tal mellem to definerede tal, skriver du : Int((MaxDam - MinDam + 1)*Rnd() + MinDam)
Den vil så finde ud af hvor meget skade der gives.
jeg vil mene for at beregne "chance to block" at der skal du bruge de to spilleres styrke, samt de to spilleres DEX.(hvis du har den ) du kan eks beregne det således.. AtcStr = 5 'angriber styrke AtcDex = 8 'angribers dex DexStr = 4 'forsvarende styrke DefDex = 9 'forsvarende dex
'der er 50% chance for at slå rigtigt. ToHit=50
'hvis angribes styrke er større end forsvarers styrke, så er der 75 % chance for at slå rigtigt, ellers er der kun 25% if AtcStr>DefStr then ToHit=ToHit+25 if AtcStr<DefStr then ToHit=ToHit-25
'hvis angribers dex er større end forsvarendes dex, så læg 25% til chance to hit, ellers fjern 25%
if AtcDex<DefDex then ToHit=ToHit-25 if AtcDex>DefDex then ToHit=ToHit+25
'du vil så her have 0,25,50,75 eller 100 % chance for at slaget "går ind", og så er det jo bare at tage en lille checker
Hit=Int((5 - 1 + 1)*Rnd() + 1) Hit=Hit-1*25
if Hit<ToHit then response.write "ramte ikke (0% skade)" if Hit>=ToHit then response.write "ramte rent (100% skade)"
Der er ingen dex, men det ser godt ud...selvom jeg føler mig lidt dum, for det der <mindre, >større, penge-pris osv. har jeg brugt i mit point system og de forskellige butikker!
men det gav mig lige lidt inspiration der TheRealYoda....nice nok!
men tjek lige det jeg har skrevet....hvis i så kan sætte jer lidt mere ind i selve systemet!
'angribers angreb if AtcLiv<=0 and DefLiv<=0 then exit do 'forsvars angreb loop if AtcLiv>0 and DefLiv<=0 then response.write "angriber vandt" if AtcLiv<=0 and DefLiv>0 then response.write "forsvarer vandt" if AtcLiv<=0 and DefLiv <=0 then response.write" uafgjort"
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.