Avatar billede jih Nybegynder
17. juli 2012 - 17:53 Der er 4 kommentarer og
1 løsning

Travian resource udregner

Hej,

jeg er i gang med at programmere en udregner til Travian (et browser spil), hvor jeg skal regne ud hvordan jeg hurtigst opnår x antal resourcer.

I øjeblikket har jeg følgende kode: http://pastebin.com/zfHiZwK7

Jeg har lidt problemer med at finde ud af hvordan det skal gøres..
Jeg har også spurgt inde her: http://forums.codeguru.com/showthread.php?525649-Need-help-with-a-calculator-of-sorts

men det går lidt langsommere end jeg vil have det at gå :/
men siden det er på engelsk, kommer jeg med en kort forklaring her:

I Travian har man en hero som producerer resourcer (samt at man får et "basevalue" af resourcer hver time). Det jeg vil finde ud af, er hvordan jeg hurtigst muligt får samlet de resourcer jeg mangler vha. en eller anden udregning.

hvis min helt producerer 220 resourcer om timen og mine arbejdere producerer 100 resourcer om timen, får jeg 100 wood, 100 clay, 100 iron og 100 crop (plus 220 af det min helt producerer).
Jeg kan skifte hvad min helt producerer til enhver tid. Så i starten, hvis man mangler x antal af alle slags resourcer, er det hurtigst at producere alle, men så snart der kun er 3 eller mindre der mangler, vil jeg finde ud af hvornår jeg skal skifte over til en anden slags resource produktion.

Det er lidt sværere at forklare end det er i mit hoved :/

Håber nogen kan hjælpe :)

// jih
Avatar billede pkbech Juniormester
17. juli 2012 - 20:49 #1
Det der er det vigtigst er at få oversat dit problem til udregninger.

Hvis jeg forstå problemet har du i Travian 2 ting der producer ressourcer din helt og dine arbejdere

1. Dine arbejder er faste og producer altid det samme. (Kan godt skift hvis du opgrader dem eller noget men ellers ikke)

2. Din helt producer med en eller anden hastighed ud over dine arbejder

Sådan som jeg forstå dit indlæg
3xWood 3xClay 3xIron 3xCrop
eller 10x af en ressource

Så du skal lave en ugerning af hvilke ressourcer du skal bruge af alle slags.

Så skal du have en formel for hvordan din time production kan se ud i alle tilfælde.

Desværre kan jeg ikke hjælpe dig mere da jeg ikke spiller spillet og ikke kan forstå helt hvad du mener.

Men så skal du lave en evaluering af hvordan du få ressourcerne hurtigst (Timer på tilfælde vs. andre tilfælde)

Diveder manglende af alle res med time produktion (med 3x for helt)
Vurdering om der er nogen res der skal brug meget korter tid end andre. Hvis det er tilfældet skal du overveje hvordan du regner vider. Igen uden specielle formeler kan jeg ikke hjælpe mere.

Men så vidt jeg kan se er dit hoved problem at du ikke helt har formlerne og derfor du ikke kan finde ud af hvordan du løser dit problem. (Kan tage fejl)

Prøv at del problemet op i cases hvordan ser beregning ud i det forskellige dele du skal bruge alle cases for at lave AI der giver det rigtige svar.
Avatar billede jih Nybegynder
18. juli 2012 - 00:08 #2
Det er præcis det, problemet er: Jeg ved ikke hvordan det skal regnes ud.. men jeg kan vidst forklare det lidt bedre..

Min helt kan opgraderes og mine arbejdere kan opgraderes (dvs. mine wood/clay/iron/crop felter kan opgraderes), og så får jeg mere af det hver time..

Min helt kan vælge at producere alt på samme tid, hvor han så producerer 3 per point i resource production, eller én af resourcerne, hvor han så producerer 10 per point i resource production.

Det eneste jeg kan finde ud af, er at jeg skal udregne hvor lang tid det tager for resourcerne at komme op til x antal, uden at min helt hjælper til, og så hvor hurtigt det tager for alle mulighederne min helt har .. dvs:
1. Hvor lang tid tager det at få x antal wood (uden hjælp)
2. Hvor lang tid tager det at få x antal clay (uden hjælp)
3. Hvor lang tid tager det at få x antal iron (uden hjælp)
4. Hvor lang tid tager det at få x antal crop (uden hjælp)
5. Hvor lang tid tager det at få x antal wood (med hjælp)
6. Hvor lang tid tager det at få x antal clay (med hjælp)
7. Hvor lang tid tager det at få x antal iron (med hjælp)
8. Hvor lang tid tager det at få x antal crop (med hjælp)
9. Punkt 5-8 om igen, men mens helten producerer alle resourcer.

Hvordan kan jeg bedst gøre det?
Avatar billede jih Nybegynder
18. juli 2012 - 21:44 #3
Jeg har bikset en metode sammen, men jeg tror ikke den giver det rigtige output..

http://pastebin.com/7Va7R7u9

hvis jeg giver parametre til den, som siger at jeg får 461 wood om timen, og skal have 5000 (har i øjeblikket 1800), siger den at det vil tage 154 timer?? Det kan da ikke passe, da 3200/461=6,9?

Jeg forstår ikke helt hvor fejlen er :( Er der ikke en nemmere måde? Jeg stirrer mig blind på denne kode..
Avatar billede jih Nybegynder
23. juli 2012 - 09:56 #4
lukker...
Avatar billede Syska Mester
23. juli 2012 - 21:09 #5
Well ... jeg har lavet noget til NPC. Det må kunne gøres på næsten samme måde.

Jeg ville nok starte med at finde ud af hvad min/max er på hver resource, de kan jo variere alt efter hvordan man bygger.

Derefter er det at finde ratio mellem hvor meget der mangler af hver. Der ville jeg så tage den som er længest væk først osv.

Det burde være relativt lige til.

( Bygger du på et public travian helper site ? )
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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