Avatar billede esben_pape Nybegynder
18. maj 2003 - 23:14 Der er 12 kommentarer og
1 løsning

Hjælp til 'Tankspil' i DelphiX

Hej!

Jeg er gået i gang med at lave et tankspil med DelphiX. Alle kender vist, den type spil, hvor 2 til 10 spillere har hver deres tank, og så skal indtaste den rette Angle og Power for at ramme deres modstandere. Jeg har fået mine tanks til at skyde, og de fungerer sådan set fint nok. Nu kommer mit problem, når jeg skal prøve at lave 'grunden' som tanks'ne står på... Hvem vil give mig et par hints/tutorials til hvordan det skal ordnes?

*Jeg går i seng nu, så jeg vil først kunne svare igen i morgen ;-)
Avatar billede esben_pape Nybegynder
20. maj 2003 - 15:02 #1
Slet ingen der har noget at sige...?
Avatar billede abpdk Nybegynder
20. maj 2003 - 15:29 #2
Har du ikke selv nogle idéer man kan "arbejde" ud fra?
Avatar billede esben_pape Nybegynder
20. maj 2003 - 15:36 #3
nope... har faktisk ingen gode ideer til, hvordan det skal løses. Tro mig, jeg har tænkt en del over det. Jeg mangler bare nogen, som kan "give mig et skub videre"...

Kender du DelphiX?
Avatar billede abpdk Nybegynder
20. maj 2003 - 16:30 #4
Hmm, ja du har ret det kan godt være lidt tricky. Den mest ligetil måde at gøre det på, som jeg lige kan finde på, er at gemme grunden som et array af integers (så det essentielt bare er et pindediagram med clientwidth-antal pinde, hvis du forstår). Det i sig selv er jo ikke specielt svært (måske når man skal "glatte" animationen ud), men det begynder at blive lidt værre når du skal beregne hvad, hvor og hvor meget jord der skal forsvinde ved nedslagene.

Nå du har beregnet det med nedslaget kan du så tjekke/beregne hvorvidt dine tanks/kanoner (forudsat de ikke blev ramt (og måske alligevel)) har noget at stå på og hvis ikke hvor langt de så skal falde. Dette kommer vel an på hvordan du har valgt at representere dine tanks, men hvis vi siger at de har en grundflade på 5 pixels er det bare at gennemløbe de 5-pinde (i diagrammet) og derefter lade tanken falde så den lander på den højeste.

Hvis noget af det ikke gav mening, så sig til ;)
Avatar billede abpdk Nybegynder
20. maj 2003 - 16:31 #5
De førnænvte "5 pinde" er selvfølgelig dem der befinder sig lige under tanken.
Avatar billede esben_pape Nybegynder
21. maj 2003 - 14:54 #6
Jeg har også tænkt på noget i den retning... Kender du noget til DelphiX? Og kunne det ikke tænkes der var en lidt smartere måde via DelphiX? Synes det virker næsten absurd at skulle sidde og lave det på denne måde...
Avatar billede abpdk Nybegynder
21. maj 2003 - 15:56 #7
Man kan sikkert lave et eller andet "smart" med DelphiX (og ja, jeg bruger det selv), men hvis du vil lave det "rigtigt" mener jeg at du på en eller andet måde skal behandle grunden/jorden på partikel-basis (læs pixel-basis). Hvis du tænker på successfulde spil som Worms og Lemmings (selvom Lemmings ikke er et tank/kanon-spil), så kan jeg ikke lige se hvordan det skulle kunne lade sig gøre på en smartere måde. Så vidt jeg husker er det vist noget lignende i "Scorched Earth" (bare uden partikel-eksplosioner). Hver gang der har været et nedslags i Scorched Earth "glatter" den bare jorden ude uden effekter.

Jeg ser lige om jeg kan komme på noget "smart" senere.
Avatar billede esben_pape Nybegynder
21. maj 2003 - 17:13 #8
OK, hvis det er den eneste udvej, så må du gerne komme med et par hints til hvordan det skal løses... Skal man så lave en masse sprites på hver 1 pixel * 1 pixel og så bede SpriteEngine om at lave dem efter pindediagrammet?
Avatar billede zerohero Nybegynder
22. maj 2003 - 15:05 #9
Hvis vi snakker om 2D grafik skulle det vaere realativt let. I stedet for en masse fancy beregninger (der hurtig vil slaa din CPU ihjel), kan du bare lave en "usynlig" layer - (en slags alpha channel - om du vil det). Layeret skal bestaa af to farver. En farve (maaske sort) der repreasentere "grunden" og en farve (maaske hvid) der repraesentere himmel. Alle dine tanks skal hver have mindst et udgangs punkt.
Ideen er saa at disse udgangspunkter (der selvfolgelig er laast til dine tanks) skal fortaelle dig om de befinder sig paa en sort eller hvid pixel. Hvis den er sort skal denne tank flyttes indtil den ender paa hvidt.

Held og Lykke
ZeroHero
Avatar billede esben_pape Nybegynder
22. maj 2003 - 15:49 #10
Det lyder som en fin ide, men kan du ikke komme lidt nærmere på, hvordan det skal gøres rent praktisk? Hvordan tegner man det på en DXDraw og hvordan skal man få skuddet til at 'eksplodere' noget af jorden væk osv... Er villig til at hæve point lidt, hvis det vil gøre udslaget.
Avatar billede abpdk Nybegynder
27. maj 2003 - 22:20 #11
esben_pape>> Hvis nu skuddet rammer midt på en lodret skråning (lidt modsigende måske :)), skal der så bare komme et hul eller vil du ha at jorden over skuddet skal falde sammen?
Avatar billede esben_pape Nybegynder
28. maj 2003 - 17:59 #12
jorden skal falde ned :) ... kunne også være fedt, at man kunne vælge det til eller fra
Avatar billede esben_pape Nybegynder
02. januar 2004 - 13:16 #13
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
Kurser inden for grundlæggende programmering

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