Develop a GUI based game of Rock, Paper, Scissors

Assignment Help Software Engineering
Reference no: EM132518570

ITECH2309 Software Engineering Assignment - Federation University, Australia

Overview - Develop a GUI based game of "Rock, Paper, Scissors" in JAVA using good software design and coding principles, practices and methodology. This is an individual assignment.

About Rock, Paper, Scissors

Rock, Paper, Scissors is a game between two players, in which players use their hands to model one of the following:

- Rock, modelled by a hand closed into a fist

- Paper, modelled by a flat hand facing palm down.

- Scissors, modelled by a fist with the two fingers closest to the thumb outstretched to make a 'V' shape.

Players raise and lower a closed fist on each count of one and two. On the count of three, players raise their hand, and then both lower their hand at the same time to disclose their modelled selection. The items chosen by the players to model are then compared to determine a winner, based on the logic:

- Rock beats Scissors

- Paper beats Rock

- Scissors beat Paper

- Equal selections are a tie and get replayed.

Completing these sequence results in a round of Rock, Paper, Scissors. Usually players opt for the best of three, in which three rounds are played and the player with the highest score at the end of the three rounds wins. Sometimes players may opt for the first to 3 or another chosen number, in which game play continues until one player reaches the agreed upon total of wins. Players are able to change their selected item for each throw, but it is considered poor form (and even cheating) to change your selection while you are in the process of throwing it.

There are several variations of the game given it has been played by word of mouth for many, many years, but the basic principles remain the same.

A more advanced variation of the game was discussed on the TV series "The Big Bang Theory", being Rock, Paper, Scissors, Lizard, Spock.

Assessment Details - Your task is to implement Rock, Paper, Scissors as a GUI-based Java game, using Eclipse. You may choose any recognized variation, including Rock, Paper, Scissors, Lizard, Spock, providing you clearly describe the rules for the variation you implement. As this is a two player game, a human will play against the computer. The computer's throw must be chosen at random each turn - it is not allowed to cheat!

The GUI will have an Initialisation Window that allows the player to enter their name and configure the game. This includes setting how many rounds will occur, as well as any other customizations for your variation. An example of an Initialisation Window is shown below, although you are welcome to change how this appears and add more functionality to suit your particular game.

The main game window will display the two parties competing (i.e. the named player and the computer), the number of rounds to be played and the current number of wins allocated to each player. It will include an option for the player to enter their throw each round, and a button to place the throw. When this button is clicked, the computer's random selection will be displayed. The winner of the round will be identified, and a tally of each player's wins displayed. At the end of the designated number of rounds, the overall winner is identified.

You are expected to use good design and coding principles and practices learned in lectures, including implementing applicable design patterns. Bad smells in code and design should be avoided as much as possible. You are expected to refactor your code, and establish automated testing using Junit to run unit and regression testing of your code. You are expected to test each functionality you add thoroughly for exception handling, positive results, negative results, boundary conditions etc., and provide test cases and results with your submission.

You are also required to document a report that covers:

An overview of the game describing all functionality that has been implemented.

How game is designed and implemented.

Roles of design patterns in the game, clearly identifying the functionality where design patterns have had an impact and how this has occurred.

Class diagram of the game showing all classes (concrete and abstract) and interfaces using Enterprise Architect.

Attachment:- Assignment File - Software Design.rar

Reference no: EM132518570

Questions Cloud

HIPAA Compliance : Defend your choice of topic. Include at least 3 expert supporting quotes surrounded by quotation marks and cited in-line
Approximately how many boxes would contain : If 7,500 boxes of cereal are packaged in one day , approximately how many boxes would contain less than 22.9 oz?
Find an example of an article : Find an example of an article that that relates two variables. Is the article stating that the two variables are correlated or that they have a causal relations
Pedestrian deaths that were caused by automobile accidents : The table summarizes results from 980 pedestrian deaths that were caused by automobile accidents.
Develop a GUI based game of Rock, Paper, Scissors : Develop a GUI based game of "Rock, Paper, Scissors" in JAVA using good software design and coding principles, practices and methodology
Find present value of tax benefits from depreciation : Estimate the present value of the tax benefits from depreciation.The cost of capital is 9 percent, and the firm's tax rate is 34 percent.
Evidence of a significant difference : Is there evidence of a significant difference in the response times for the two groups? Justify your answer.
Benefits of Use-Case Modeling : How would you describe the difference between logical and physical system models?
What is the difference in two firms required rates of return : Analysts expect the firm to grow at 12 percent per year for the next five years. What is the difference in the two firms' required rates of return?

Reviews

Write a Review

Software Engineering Questions & Answers

  Research report on software design

Write a Research Report on software design and answer diffrent type of questions related to design. Report contain diffrent basic questions related to software design.

  A case study in c to java conversion and extensibility

A Case Study in C to Java Conversion and Extensibility

  Create a structural model

Structural modeling is a different view of the same system that you analyzed from a functional perspective. This model shows how data is organized within the system.

  Write an report on a significant software security

Write an report on a significant software security

  Development of a small software system

Analysis, design and development of a small software system.

  Systems analysis and design requirements

Systems Analysis and Design requirements

  Create a complete limited entry decision table

Create a complete limited entry decision table

  Explain flow boundaries map

Explain flow boundaries map the dfd into a software architecture using transform mapping.

  Frame diagrams

Prepare a frame diagram for the software systems.

  Identified systems and elements of the sap system

Identify computing devices, which could be used to support Your Improved Process

  Design a wireframe prototype

Design a wireframe prototype to meet the needs of the personas and requirements.

  Explain the characteristics of visual studio 2005

Explain the characteristics of Visual Studio 2005.

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