OOP 4200 Advanced Object-Oriented Programming Assignment

Assignment Help DOT NET Programming
Reference no: EM132854664

OOP 4200 Advanced Object-Oriented Programming - Durham College

Team Project Requirements

For this project you and your team will be creating a GUI simulation of the game Durak. Durak is a very popular card game in Russia and Eastern Europe1. The object of Durak is getting rid of all of your cards. The player that cannot is the Durak or Fool. Overviews of Durak and its major variants are easily found on-line2, including at Wikipedia3. An excellent video tutorial is available on YouTube here4.

Minimal Requirements

A project that implements ONLY the minimal requirements listed.

 

Unacceptable

Needs major improvement

Functional - significant issues

Functional - minor issues

Exemplary

Game-play logic

0

1-2

3-4

5-6

7-8

Computer A.I.

0

1-2

3-4

5-6

7-8

GUI

0

1-2

3-4

5-6

7-8

OOP Concepts

0

1-2

3-4

5-6

7-8

Internal

Documentation

0

0

1

2-3

4

User Guide

0

0

1

2-3

4

 

/40

» Game-Play Logic (Two-Player). Although typically Durak is played with between two and six people, for the purposes of this project you should limit the game to two-player, i.e. one human controlled player and one computer controlled player. You are not required to implement more than two players for this project.

» Basic Computer Player A.I. You are required to implement an A.I. logic structure that determines what action the computer-controlled player will make, taking into consideration whether the computer is attacking or defending, which suit is trump, and which cards (if any) in the computer's hand can be played.

» GUI. You are required to implement a graphical user interface (GUI) for your project. You are not required to design an especially artistic interface, but it should be simple, clean, and functional. You are required to make use of at least one custom control in your GUI. Note that if you are using graphical elements that you did not create from scratch yourself (e.g. playing card images), you MUST source these elements ethically and legally. This includes full and proper attribution to the artist in your project documentation.

» Object-Oriented Concepts. A major component of how you will be assessed is in the degree to which you are utilizing the object-oriented concepts and techniques presented in the course5. Your design should demonstrate encapsulation, abstraction, polymorphism and inheritance with a goal of ease of maintenance and reusability. Durak is a card game with elements that are common with many other card games (e.g. cards, decks, hands, etc). Any class you create that could be useful in other projects should be coded in one or more class libraries6. You are required to include at least one class library.

» Internal Documentation. At a minimum, your source code should be extensively documented with opening comments and in-line commenting. Like graphical elements you did not create from scratch, any code elements that you did not totally write yourself MUST be sourced ethically and legally. This includes full and proper attribution of the original code author in the comments.

» User Guide. You must include some form of user guide or tutorial the player can refer to that explains the functionality of the project. This may be text-based or video-based.

Recommended Features

A project that implements ALL of the minimal requirements and two or more of the recommended features listed will be graded up to 100% (60/60).

» Transferring (a.k.a. Perevodnoy or Passing Durak). In this variation of Durak, if on the initial attack the defending player is able to play a card of the same rank but a different suit (e.g. a six on a six), the attack transfers to that player in a two-player game. The new defending player has the option of transferring the attack again by playing a third card of the same rank. Another transfer is possible if a fourth card of the same suit is played. Transferring is not possible after a defense begins (i.e. the defending player plays a card of the same suit/higher rank or trump).7

» Advanced Computer Player A.I. Implement an A.I. logic structure that determines what action the computer-controlled player will make, taking into additional considerations such as whether it is advantageous to pick-up even when a card could be played, how many cards are left in the draw pile, which cards have been played and discarded, and which cards the human player has picked up. If the transferring option is implemented, incorporate A.I. that considers transferring. The computer player should be difficult to beat.

» Number of cards. Durak is normally played with a deck of 36 cards. Give the player the option of playing with 20 (i.e. Ten to Ace in each suit), 36 (i.e. Six to Ace in each suit), or 52 (i.e. a standard deck) cards at the start of the game.

» More than two players. Give the user the option to play against up to six computer players. Note that this will significantly increase the complexity of the game-play.

» Game-play Log and Statistics
o Log. As the game is being played, record the relevant game-play actions to a text-file log. This log should record the date and time the game was started, the initial hands dealt and the trump card at the game start. It should also record the actions of both the human player and the computer player for each round, including which cards they played, picked-up, and/or drew. Once the game is complete, it should record the results.
o Persistent Statistics. Record and update the human-player's name and number of games played, wins, ties, and losses. This information should be stored in a text file and loaded every time the application is run. Provide the player the option to reset the name and statistics.

» Other features. If you have ideas for other features, they should be proposed in your milestone reports and consultations and approved by the instructor.

Attachment:- Object-Oriented Programming.rar

Reference no: EM132854664

Questions Cloud

Would stop the experiment to give the drug to the people : Would stop the experiment to give the drug to the people in the control group? Reflect on your thoughts and rationale that led you to your decision.
Describe the role of the social work profession : Contrast the differences that exist between the paradigms of positivism, postpositivism, critical theory, and social constructionism.
How approaches may have contributed to the acquisition : Select two approaches in the behavioral/social learning approach and explain how these approaches may have contributed to the acquisition of this behavior.
What is the scope of the veteran issue : What is the scope of the veteran issue? How does it affect the veteran and family? Provide definitions, statistics, etc. to help explain the issue.
OOP 4200 Advanced Object-Oriented Programming Assignment : OOP 4200 Advanced Object-Oriented Programming Assignment Help and Solution, Durham College - Assessment Writing Service
Find the probability that the surgery is successful : A surgical technique is performed on nine patients. You are told there is 90% chance of success. Find the probability that the surgery is successful for at leas
Describe areas in reciprocal determinism mode : Reciprocal Determinism Model, outline and describe your model by discussing each area of the reciprocal causation and the impact on each other.
Contruct a probability distribution for y : A box contains of 4 blue balls and 3 green balls. Two balls are drawn consecutively without replacement. Assume that the random variable Y defines the number of
Summarize the foundational approaches of behavior analysis : Social cognitive theory suggests modeling and efficacy as key variables that determine behavior. How might culture affect how we analyze these variables

Reviews

Write a Review

DOT NET Programming Questions & Answers

  Develop web services based application

Develop and test a Web services based application that meets the requirements applying SOA design principles.

  Design style elements in asp

Add drop down lists for modifying the different style elements for the label element that displays the time

  Create a shopping cart in asp

The users will use a browser to access the on-line store. The web server software for the production web server is Windows 2003 Server /IIS6.

  Inventory management system in c# application

Inventory management system in c# application

  Using .net resources to teach .net

This project will use the .NET framework to produce a set of materials to demonstrate the fundamental principles of .NET. Ideally it should demonstrate some of the principles of the framework e.g. interoperability.

  Prepare a marymount faculty site

Prepare a Marymount faculty site

  Blinky lights

Analysis proving that your code blinks the LEDs at the specified rates.

  Prepare a web application

Prepare a web application that will be used to keep track of patients registering in a hospital.

  Implementing the insurance management system

Implementing the Insurance Management System and implementation of Components as Web Services.

  Describe the characteristics of visual studio 2005

Describe the characteristics of Visual Studio 2005 Visual Studio.Net is a suite of products that includes 4 main languages. Name these languages and outline their use in industries

  What is a connectionstring

What is a ConnectionString. Give a suitable example to illustrate the various part of a ConnectionString

  Prepare a web application for internet service provider

Prepare a Web application and write the code also event planning document base. This web application allows the user to sign up for an Internet service provider for home connectivity.

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