Racegame in C#
Ik weet niet of dit hier goed staat, maar ik begin net een maand met programmeren in C# (Visual Studio 2015) en ik moet een racegame maken.
Hoe kan ik ervoor zorgen dat een object, in dit geval een autootje, een maximum snelheid heeft? Nu hebben we (van een voorbeeld die we mogen gebruiken): if (e.KeyCode == Keys.Up) { speed = speed + 2f; if (speed >= 10.0) { speed = 10.0f; } } if (e.KeyCode != Keys.Up) { speed -= 1; } if (e.KeyCode == Keys.Down) { speed -= 2; } Maar als hij snelheid 10 bereikt, blijft hij dus continu 10 rijden (trouwens ook met langzamere snelheden, dan blijft hij ook doorrijden). Hebben jullie ideeën om dit te fixen? De dingen die we op internet tegenkomen, zijn erg ingewikkeld, omdat we nog maar net begonnen zijn. Bedankt! |
Waar is mijn antwoord gebleven? :eek:
|
Nou jah, poging 2 dan maar:
De reden waarom het fout gaat is omdat je ergens bovenaan hebt: Code:
if (speed >= 10.0) En leer ook de [code] tags gebruiken voor duidelijkheid, dat vind je op heel veel verschillende platformen terug, sommige websites hebben zelfs syntax highlighting. Ik ga er even vanuit dat de snelheid een integer is: Code:
int intVarMaxSpeed = 10 |
Disclaimer: De laatste keer dat ik C# heb gebruikt was toen de taal versie 1 nog lang niet bereikt had in 2000/2001...
|
Citaat:
|
Citaat:
|
Ik weet niet of je er nog wat aan hebt maar goed. De reden dat hij op 10 blijft is omdat je zegt speed >= 10, oftewel speed is hoger dan of gelijk aan 10 en dan maak je hem 10... als je dus speed > 10 doet zou het weg moeten zijn.
|
Ik persoonlijk raad aan om een switch case te gebruiken in deze situatie,
switch (boolval) { case true: /* code */ break; case false; /* code */ break; } dit om het alom bekende bethesda probleem te vermijden. ik hoop dat je het nu wel lukt, xxx Patrice |
Alle tijden zijn GMT +1. Het is nu 09:37. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.