De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Gameprogrammeren: Willekeurigheid (Randomness)

Verwante presentaties


Presentatie over: "Gameprogrammeren: Willekeurigheid (Randomness)"— Transcript van de presentatie:

1 Gameprogrammeren: Willekeurigheid (Randomness)
Arjan Egges Paul Bergervoet Wouter van Toll

2 Willekeurigheid in games
Een veelgebruikt concept in spellen Een stapel kaarten in willekeurige volgorde leggen Een bal een willekeurige richting op laten vliegen Een vijand op een willekeurige plek “spawnen” Levels genereren met een willekeurige structuur

3 Willekeurigheid in games
Willekeurigheid vergroot het spelplezier Iedere keer als je speelt, is het weer anders Tot nu toe hadden onze programma’s 100% voorspelbaar gedrag Hoe maken we een programma ‘willekeurig’? Met behulp van een willekeurigegetallengenerator! (Random Number Generator)

4 Willkeurige getallen trekken
Twee soorten random generatoren: Fysiek: Computationeel:

5 Computationeel Bij computationele willekeurigheid gebruiken we vaak een ‘seed’ Om aan te geven waar we beginnen in de tabel Dezelfde seed hergebruiken geeft dezelfde reeks getallen (kan nuttig zijn) Voorbeelden van seeds die steeds anders zijn: Systeemtijd De ID van het huidige proces in Windows ...

6 de systeemtijd als seed
Random-klasse In MonoGame gebruiken we de Random-klasse: Met een maximumwaarde (resultaat < 100): Een double i.p.v. int (altijd tussen 0.0 en 1.0): Random r = new Random(); Console.WriteLine(r.Next()); Gebruikt standaard de systeemtijd als seed Console.WriteLine(r.Next(100)); Console.WriteLine(r.NextDouble());

7 Willekeurige voorbeelden ;)
Het kiezen van een willekeurige snelheid voor een game-object: Kiezen welke speler begint: Random r = new Random(); Vector2 balSnelheid = new Vector2(r.Next(100), r.Next(100)); if (r.Next(2) == 0) this.beginnendeSpeler = “rood”; else this.beginnendeSpeler = “blauw”;

8 Random in de Painter-game
Static membervariabele van het type Random Met een (static) property om erbij te kunnen: static Random random; public static Random Random { get { return random; } }

9 Random in de Painter-game
Willekeurige snelheid in de PaintCan klasse Willekeurige kleur bepalen: return new Vector2(0.0f, (float)Painter.Random.NextDouble() / 2 + minVelocity); public Color CalculateRandomColor() { int randomval = random.Next(3); if (randomval == 0) return Color.Red; else if (randomval == 1) return Color.Green; else return Color.Blue; }


Download ppt "Gameprogrammeren: Willekeurigheid (Randomness)"

Verwante presentaties


Ads door Google