Avatar billede webstuff Nybegynder
10. februar 2006 - 20:07 Der er 6 kommentarer og
1 løsning

point system til pingpong

Jeg har næsten lige haft et spørgsmål kørende om at flytte et lag med piletasterne.
Det virkede og mit ping pong spil er ved at være der, men har et problem; pointene.

Jeg har disse variabler:
----
var point = 0
var boldpoint = 0

Og så har dette når bolden rammer "Målmanden":
point=point++

og dette når den rammer ved siden af:
boldpoint=boldpoint++

Men den tæller ikke opad, nogen der ved hvad jeg gøre forkert.
PS: Er ikke så skrap til JS, så i må gerne formulere jer tydeligt :-)
Avatar billede webstuff Nybegynder
10. februar 2006 - 20:15 #1
Har fundet ud af det.
Satte bare "scoren" ind i hver sin din med hver sit id, og så en funktion til hver score som gør dette:
  document.getElementById("point").firstChild.nodeValue++;

og så kalder jeg funktionen når der bliver scoret :-)
Avatar billede Slettet bruger
10. februar 2006 - 20:16 #2
Dette:
boldpoint++;

Er det samme som dette:
boldpoint = boldpoint + 1;

- Så vælg blot én af ovenstående muligheder.

Dit problem består i "læserækkefølgen" for afviklingen af scriptet.
Når man bruger boldpoint++ er det for at kunne lade værdien indgå i en sammenhæng og automatisk lægge én til bagefter. Havde du brugt ++boldpoint i stedet for, ville du først lægge én til og derefter bruge den i sammenhængen.

Det du faktisk beder scriptet om er:

boldpoint = 0;  // den er lige til
boldpointCopy = boldpoint; // værdien er stadig 0, nu har du en kopi der også er 0
boldpoint = boldpoint + 1; // nu er den 1
boldpoint = boldpointCopy; // nu er den så 0 igen og dit script er afsluttet
Avatar billede webstuff Nybegynder
10. februar 2006 - 20:27 #3
Dvs at det havde virket hvis jeg havde brugt ++boldpoint?
Avatar billede Slettet bruger
10. februar 2006 - 20:32 #4
Nu kan jeg egentlig ikke lige huske om JavaScript understøtter den syntaks, men det gør en del sprog.

Men ja, hvis du havde skrevet:

boldpoint = ++boldpoint;

Ville det være det samme som:

var boldpoint = 0;
boldpoint = boldpoint + 1;
boldpoint = boldpoint;
Avatar billede webstuff Nybegynder
10. februar 2006 - 20:38 #5
okay.. det er da værd at prøve, det vil give en del mindre kode end jeg bruger nu :-)
Hvis det virker opretter jeg et nyt spørgsmål så du kan få nogle point for din hjælp ;D
Avatar billede Slettet bruger
10. februar 2006 - 20:49 #6
Jamen i stedet for at skrive:
point=point++; // som ikke virker

Kan du bare skrive:
point++; // som helt sikkert virker

- Hvis det bare er det du skal bruge? At lægge 1 til en variabel?
Det er ligemeget med point. Hvis ikke du havde lukket måtte du gerne smide dem denne vej, men det er da et forfærdeligt besvær at oprette et nyt spørgsmål pga. det... :-)
Avatar billede webstuff Nybegynder
10. februar 2006 - 20:53 #7
Det var faktisk også point++ og ikke point=point++ jeg mente.. Ved ikke hvor jeg fik det andet fra, synes bare ikke rigtigt jeg kunne få det til at virke, men sikkert mig der har gjort noget forkert, som sag så er jeg stadig et kid inden for JavaScript :-)

Men mange tak for forklaringen, som jeg helt sikkert vil få brug for på et eller andet tidspunkt :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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