A programming project will be required for this course and it will be a major portion of your grade. Create a web application to be/represent a game for the user to play. The game can be a card, dice, text response, or other game of your choosing. However, the game must be complex enough to take you more than a few hours to code it and that you use many of the concepts of this course, namely: maintaining state (using Query String, hidden form fields, or Cookies), using the DOM to control page elements, DHTML, and AJAX. You may use an idea or base your game on an existing game, however, you must make sure that you document where you got the inspiration or idea from. Your game "application" can be done using one or more web pages and should include CSS for styling and look and feel. It should be very interactive and event-driven UI. In the end this project should be uploaded and posted somewhere for presentation and peer review.
This project will be done in 4 stages or phases:
Research a 3rd party JavaScript client-side scripting libraries (like JQuery) that aids and simplifies in creating and managing JavaScript. Compare its features and abilities and limitations. Then write a 3-4 paragraph paper, describing the research subject and your findings. This paper should also include information about your game idea and the basic rules for the game. You should include any approaches or game processes that you are going to use, storyboards or screen mockups of what the user will see along the process of using the web application as part of your design.
Using skills acquired in Web Page Programming I and II, create one or more XHTML pages with a JavaScript script element block for holding code. You may also use the 3rd party JavaScript client-side scripting library that you researched in Week 1. Create a functioning beginning structure of your game with code and support/event handling methods, variables and constant data needed for the program, and any initial user input. Add to your code JavaScript that will use state in some form to store and maintain user input, game options, customizable or selectable look/feel/theme or whatever you are storing. The program should display any output and messages to the user as verification that input is working. The idea here is that the main program should accept information from the user and should perform some basic input and output of the game.
Modify your XHTML page(s) to provide a functioning intermediate structure of your program which should perform some basic pathways and decisions of the game. By this time you should have included some use of the Document Object Model (DOM) to control page elements and provide an interactive and event-driven UI. Not all functionality will/should exist, simply the basic architectural structure, design, and some working flows of the game program.
The final program modified to be the complete and working game. Full use of DHTML technologies (HTML, JavaScript, CSS, and DOM) and AJAX if you can or have included it into your idea. All major issues should be removed and the user should be able to play a full game from start to end without trouble and without crashing. Post/upload your page(s) to some web site where it can be reviewed and evaluated (and played) by the instructor and your peers.