Avatar billede kaptajnkemo Nybegynder
11. august 2005 - 08:32 Der er 9 kommentarer og
1 løsning

Det klassiske Pong-spil

Jeg er ved at lave en c# version af det klassiske pong-spil.
I ved, det der med det to paddles i hver sin side af skærmen og en bold mellem de to spillere. Hver spiller forsøger at skyde bolden forbi modstanderens paddle.

I min nuværende ver. kan bolden flyve i 8 retninger, svarende til talene på det numeriske tastatur (se bort fra 5-tallet).

Det er bare ikke specielt sjovt at bolden altid flyver i faste mønstre. Jeg forestiller mig at skifte de 8 retninger ud med noget der minder om en cirkel, dvs. jeg kan vælge f.eks. at sende bolden i retningen 231 grader, eller noget helt andet (mellem 0 og 360 grader). Men hvordan gør jeg lige det?
Avatar billede anadan Nybegynder
11. august 2005 - 09:15 #1
Jeg forstår ikke helt.. Kan hver spiller ændre boldens retning (med det numeriske) ved kollision med sin paddle?
Avatar billede Syska Mester
11. august 2005 - 09:28 #2
lytter lige med
Avatar billede anadan Nybegynder
11. august 2005 - 09:35 #3
I modsat fald laver du bare en Ball class med properties Location(x,y) Direction(x,y). Direction bestemmer også din bolds hastighed, og da du kan ændre x,y som du vil kan du i teorien sende bolden i alle retninger. Hver gang dit skærmbillede opdateres ændrer du bare Location(x,y) med Direction(x,y), og du har den nye Location. Husk at tjekke for kollision med din Paddle. Hvis din Paddle kolliderer med din Ball fra en af siderne bliver den nye Direction(-x,y) og hvis den kolliderer toppen eller bunden af skærmed : Direction (x,-y)
Avatar billede anadan Nybegynder
11. august 2005 - 09:49 #4
Du kan også lave en tilfældighedsfaktor der får bolden til at skifte retning tilfældigt ved kollision med en Paddle, jvf. http://www.guimp.com/pong_flash.html (tryk på ikonet for at spille, styr med piletasterne)
Avatar billede kaptajnkemo Nybegynder
11. august 2005 - 18:59 #5
09:35:37> Oplagt løsning, fatter ikke jeg ikke selv så den ;)
09:49:25> Et spil hvor alting er tilfældigt, er efter min mening ikke et spil. Men det er vel en smagssag ;)
Smid et svar....
Avatar billede anadan Nybegynder
11. august 2005 - 23:53 #6
Det ville heller ikke være tilfældigt, men en simulering af at Padden støder til Ball på en anden måde end at den bare 'bouncer' direkte af. Det ville være en måde at simulere at der rent faktisk var et menneske bag den Paddle.
Avatar billede kaptajnkemo Nybegynder
12. august 2005 - 00:56 #7
Well, så længe spilleren ikke har indflydelse på hvilken vej han skyder, så kan jeg ikke se det simulerer et menneske... Men nok om det. Tak for hjælpen.
Avatar billede roenving Novice
12. august 2005 - 01:27 #8
Det vil vel være ret indlysende at sætte boldens retning og hastighed til at være en funktion af paddlens og boldens retning og hastighed samt sammenstødspunktet på paddlen ...

Rammes paddlen yderligt påvirker det selvfølgelig ekstraordinært boldens retning, og ellers skal hastigheden i sammenhæng med sværhedsgrad og spillets fremskriden vel betyde mere og mere ...

-- en ekstra sværhedsgrad kan indsættes ved at beregne en skruning af boldens umiddelbare bane (til næste bandekontakt) i forhold til forskellen mellem paddlens og boldens retning og hastighed !o]
Avatar billede spif2001 Nybegynder
12. august 2005 - 08:15 #9
og husk nu at lægge lyd ind i spillet. Spillede engang en version af Pong, hvor man havde lagt rigtige tennislyde ind - det var lige det ekstra der gjorde, at man gad at spille spillet i mere end 2 minutter. :)
Avatar billede anadan Nybegynder
16. august 2005 - 13:43 #10
fandt du ud af det?
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