Presentation is loading. Please wait.

Presentation is loading. Please wait.

Yi Zhang yz2414(Project manager) Shuaishuai Nie sn2479(Language Guru) Xuanchen Tang xt2128(System Architect) Lewis Flanagan lrf2123(System Integrator)

Similar presentations


Presentation on theme: "Yi Zhang yz2414(Project manager) Shuaishuai Nie sn2479(Language Guru) Xuanchen Tang xt2128(System Architect) Lewis Flanagan lrf2123(System Integrator)"— Presentation transcript:

1 Yi Zhang yz2414(Project manager) Shuaishuai Nie sn2479(Language Guru) Xuanchen Tang xt2128(System Architect) Lewis Flanagan lrf2123(System Integrator) Xiaohu Li xl2302(Test & Validation)

2

3  Played with dice, notes detailing various characters, monsters, and villains, and maps.  One player, usually called the Dungeon Master or Game Master, controls all the monsters, non-player characters, the environment, etc. The other players each control a single “hero” character.  Usually the Dungeon Master is responsible for coming up with the storyline, challenges and maps the group uses.  Producing these materials can be commitment of several hours a week.  DMGL is intended to reduce the time required to create maps for these games.

4 DateEvent Jan 25 th First meeting, discussing ideas Feb 23 rd Language design and basic elements Mar 8 th Grammar decided, skeleton of scanner implemented Mar 29 th Skeleton of parser working Apr 4 th Initial tests written in advance Apr 12 nd Skeleton of translator working Apr 26 th Backend function working, integration into front end May 5 th Write last examples, finished final report edits, final testing

5  New Types Introduced in DMGL Room Door Path Feature

6  Simple and Understandable Statement Structure Sample Code: call init_map (20, 20) create room r1 (3,3) to north; create path p1 (3) to east; create path p2 (1) to east; create path p3 (3) to south; create room r2 (3,3) to south; remove p2; show_map ();

7  Introduce loop to facilitate the construction Sample Code: call init_map (30, 7); call start (1, 3); for (int i = 0; i < 4; i++){ create room anonymous (3,3) to south; if (i == 3) quit; create path anonymous (2) to south; } call show_map ();

8  Include random method and user defined function Sample Code: call init_map (20,20); create room myroom (3, 3) to west; int firstDirection = call randir (); create path mypath1 (2) to firstDirection; create path mypath2 (1) to firstDirection; direction newDirection = call randir (); while (newDirection == call oppositeDir(firstDirection) ) newDirection = call randir (); create door d1 () to newDirection; create room r2 (3,3) to newDirection; call show_map (); function oppositeDir (direction one):direction{ return ((one + 2) % 4); }

9  Functions.java  Room.java  Door.java  Path.java

10

11

12  Test methods: black box  Test levels: Unit testing Integrated testing System testing  111 test cases, over 1000 lines  Automated test script

13 STEP 1 Arithmetic operations Control & loop STEP 2 DMGL build-in functions User Defined functions STEP 3 Others System & environment

14 This Slide Left Intentionally Blank []

15  Include ability to check area to see if it is empty (call scan (x, y))  Add the ability to organize map objects into collections that can be acted on as a whole  Convert DMGL into an interpreted language  Add local variables  Add ability to include other DMGL source files in a program, thus allowing user to import libraries of functions  Give DMGL an applet as a GUI and make it available online

16  Lesson learnt Start early Regular meeting is essential


Download ppt "Yi Zhang yz2414(Project manager) Shuaishuai Nie sn2479(Language Guru) Xuanchen Tang xt2128(System Architect) Lewis Flanagan lrf2123(System Integrator)"

Similar presentations


Ads by Google