De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Gameprogrammeren: Exceptions

Verwante presentaties


Presentatie over: "Gameprogrammeren: Exceptions"— Transcript van de presentatie:

1 Gameprogrammeren: Exceptions
Arjan Egges Paul Bergervoet Wouter van Toll

2 Game development Van prototype naar commercieel product
Meer levels, uitgebreider game ontwerp Professioneel ontworpen assets Goed opgezette programmacode Hoge mate van robuustheid

3 Robuustheid Goed ontwerp van je code is cruciaal
Duidelijke afspraken voor gedrag van methoden/klassen Zoveel mogelijk bugs verwijderen Zoveel mogelijk verschillende gevallen/problemen ondervangen Testen, testen, testen!

4 Software testen Verschillende soorten tests:
Handmatig Automatisch (unit tests) Verschillende niveaus van testen: Alpha test Intern Meestal alleen developers Beta test Extern Grotere groep spelers

5 Excepties Voorbeeld: StreamReader r = new StreamReader("test.txt");
string t = r.ReadToEnd(); // oops… the file test.txt doesn’t exist… Wat nu?

6 Excepties Zijn een manier om robuustheid van games te vergroten
Excepties gebruik je om externe problemen op te lossen: Er mist een bestand De internetverbinding wordt verbroken Een andere speler gaat plotseling off-line

7 Excepties Dit soort gevallen kun je afhandelen met exceptions (“uitzonderingen”) try { StreamReader r = new StreamReader("test.txt"); string t = r.ReadToEnd(); } catch (FileNotFoundException e) Console.WriteLine(“The file was not found”);

8 Excepties Meerdere catch-gedeelten voor verschillende soorten excepties try { StreamReader r = new StreamReader("test.txt"); string t = r.ReadToEnd(); } catch (FileNotFoundException e) Console.WriteLine("The file was not found"); catch (IOException e) Console.WriteLine("IOException during file read");

9 Excepties Exceptie-klassen zijn georganiseerd in een hierarchie
Bovenaan die hierarchie: de Exception-klasse Dus de volgende catch handelt alle mogelijke excepties af: catch (Exception e) { Console.WriteLine("Unknown exception occurred"); }

10 Excepties Je kunt zelf ook een exceptie “werpen”:
private Tile LoadTile(char tileType, int x, int y) { switch (tileType) case '.': return new Tile(); default: throw new IOException("Unknown tile type"); }

11 Vertaalt exceptie naar string
Excepties En die kun je ergens anders weer afhandelen try { char c = textlines[i][j]; tiles[i,j] = LoadTile(c, i, j); } catch (IOException e) Console.WriteLine("Exception: " + e.ToString()); Vertaalt exceptie naar string


Download ppt "Gameprogrammeren: Exceptions"

Verwante presentaties


Ads door Google