Application for online game, DOT NET Programming

Assignment Help:

Introduction

This assignment aims to give you a "real world experience" that occurs far too often in the workplace. You have been hired to complete as much as possible a project that has not been fully specified at this stage. You have been given (in your mind) an impossible delivery date. There is some supporting documentation to the project. In order to fulfil your contract you must deliver the prototype program which fulfils the stated functionality by the required date.

The Task

The Good Product Software Company has hired you to complete the implementation of a prototype that is an early stage in the development of software for Online Card, Dice and Coin and Board games. The programmer who was to implement the prototype has left the company at short notice and has left behind only the source code of various Classes and some notes regarding the prototype.

The following text is that programmer's notes about the prototype and the Classes

The application will list 5 options, to choose to play either a Card game, a Dice game, a Coin game, a Board game or to exit the application. Each of the Game options will display a menu which will allow the user to choose one game from a list of possible games or cancel the selection. At the time of writing only two  Dice games and two Coin games has been specified and all other types of games have had only 1 game specified but I have been told to allow for the addition of other games in future releases of the software. A description and rules of each game are in separate documents.

GamesUI( Games User Interface) - GamesUI.cs

The GamesUI class will be the top level class and is responsible for interaction with the user.  It will need to display to the screen, a menu of choices that the user can select from and the appropriate sub-menu(s) when required.  These choices will implement each of the required functions listed below. Rules and description of each game is contained in separate documents.

Choose a Board game:

1)      Hare & Tortoise

Choose a Card Game:

1)      Twenty-One

Choose a Coin game:

1)      Simple Two-Up

2)      Complex Two-Up

Choose a Die game:

1)      Snake Eyes

2)      Ship, Captain & Crew

Low Level Classes

Have implemented the following three classes to represent a card, a coin and a die. They are all complete and that no other methods or variables need to be added to them for this project.

Card Class - Card.cs

This class represents one playing card that has a face value (Ace, King, Queen etc) and a suit value (Clubs, Diamonds, Hearts and Spades).

Coin Class - Coin.cs

This class represents a two-sided coin (heads & tails) that can be flipped.

Die Class - Die.cs

This class represents a many-sided die with each face having a distinct and unique value between 1 and the number of faces. Future dice games may have any number of faces though the minimum number of faces will be 4,

Higher Level Classes

Pack Class - Pack.cs

This class represents a deck of playing cards (52 cards - does not include Joker cards).  Should not need any more instance variables or constants.

Have implemented the following public methods in this class:

            Pack() // Constructor

     Card DealOneCard()

The following five (5) classes represent a class that plays a particular game. For each class have not yet implemented  constructors, accessors or mutators though have provided some method headings and dummy return value where required so that project compiles successfully. Probably need more private instance constants & variables in each as well as private "helper" methods.

Hare & Tortoise Class - HareTortise.cs

Plays the board game of the Hare & the Tortoise according to the rules specified in Hare and Tortoise.doc

Twenty-One Class - TwentyOne.cs

Plays the card game of Twenty-One according to the rules specified in Twenty-One Rules.doc.

Snake Eyes Class - SnakeEyes.cs

Plays the  dice game of Snake Eyes according to the rules specified in Snake Eyes Rules.do

Ship, Captain & Crew Class - Ship.c

Plays the dice game of Ship, Captain & Crew according to the rules specified in The Ship Captain and Crew game.do

Two-Up class - TwoUp.cs

Plays the coin game of Two-Up according to the rules specified in TwoUpRules.doc

At this stage not sure if I need to have separate classes to play the 2 versions described or a single class will be sufficient.

Where to Start

Become familiar with the various classes and how they interact before attempting to implement any additional functionality.

The GamesUI class should have functionality added to it incrementally, with each new function being tested as soon as it is completed. Snake Eyes and Simple Two-Up are the easiest to play. The challenge in this assignment is to complete what you can before the due date. Better to hand in a working project which does something correctly than one which does not run.

Note this assignment is not a GUI based assignment.

Sample User Interactions

You are free to change the look of the user interactions if you wish. Do not waste your time however designing a pretty screen interface if the rest of the project is not attempted. The main menu (mock-up not actual screen hot):

Welcome to Games Online

To make a selection:  Enter the number of your selection     

1.  Board Games

2.  Card Games

3.  Coin Games

4.  Dice Games

0.  Exit the program

What type of Game do you wish to play? 4

Select your game to play.     

1.   Snake Eyes

2.   Ship, Captain & Crew

0.   Cancel Selection

Which Game? 1

Let's play:

Your dice roll totalled 3 Sorry you lose

You have 0 points and I have 2.

Play again? (Y or N) N

Thanks for playing.

Press any key to continue...


Related Discussions:- Application for online game

Load multiple tables in a data set, How can we load multiple tables in a Da...

How can we load multiple tables in a DataSet ? objCommand.CommandText = "Table1" objDataAdapter.Fill(objDataSet, "Table1") objCommand.CommandText = "Table2"

Use of connection object, What is the use of connection object? The con...

What is the use of connection object? The connection objects are used to connect a data to the Command object. 1)An OleDbConnection object is used with the  OLE-DB provider

What does a break statement do in the switch statement, What does a break s...

What does a break statement do in the switch statement? The switch statement is a selection control statement that is used to handle many choices and transfer control to the ca

What is extensible markup language, What is Extensible Markup Language (XML...

What is Extensible Markup Language (XML). XML is an easy and flexible mark-up language in the text format. Nowadays, it is widely used to exchange a large variety of data over

Hash table, What is a Hash Table? You can access an array using the IND...

What is a Hash Table? You can access an array using the INDEX value of that array, but how many times you know the real value of the index. The Hashtable provides a way of acce

Differences between the detailsview and formview controls, Question: (a...

Question: (a) Give three key differences between the DetailsView and FormView controls. (b) The ASP.NET 2.0 Framework introduces the idea of validation groups. How Valida

What is a delegate, What is a delegate? A delegate is similar to a clas...

What is a delegate? A delegate is similar to a class that is used for storing the reference to a method and invoking that method at runtime, as needed. A delegate can hold the

Xml reader class, What is an XMLReader Class? This is an abstract class...

What is an XMLReader Class? This is an abstract class available from the System.XML namespace. The XML reader works on a read-only stream browsing from one node to another in a

Need to get a windows desktop application developed, Need to get a windows ...

Need to get a windows desktop application developed Project Description: I am looking to obtain a desktop application developed. The desktop application will have the subsequ

Sql cache dependency, How do we enable SQL Cache Dependency? Below are ...

How do we enable SQL Cache Dependency? Below are some of the steps to enable the SQL Cache Dependency:- Enable the notifications for database. Enable the notificatio

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd