11. august 2005 - 08:32Der 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?
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)
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)
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....
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.
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.
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]
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. :)
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.