Implement a single threaded game engine

Assignment Help JAVA Programming
Reference no: EM13735596

Assignment: Single Threaded Single Player Implementation

This assignment requires you to implement a single threaded game engine and single player user interface for a casino style dice game. The rules are simple, the player places a bet and then rolls two dice before the house rolls against the player. Highest number (sum of the two dice) wins! A draw is a no contest and the bet is returned to the player.

For this assignment you are provided with a number of interfaces that you must implement to provide the appropriate behaviour as well as a simple client which will help you test your game engine implementation independently of your GUI (to help you get started early). This will also ensure all functionality is separated from the GUI since your game code should operate independently using the console based client code.

NOTE: You may extend the provided console client code to facilitate testing but must ensure that the original unaltered code can still execute since we will use our own test client to check your code! i.e. do not change any of the interfaces etc.

AWT/Swing User Interface

You are to develop an AWT/Swing user interface that implements the following basic functionality:

Add one player

Place a bet (for the single player)

Player rolls dice (intermediate results of rolling dice are shown)

House rolls dice (intermediate results of rolling dice are shown)

Display results including updated player balance

For the user interface you can make the following assumptions.

It is up to you how to design the layout and appearance of your interface and you should focus on clarity and simplicity rather than elaborate design. However you should include at least one each of the following.

A pull down menu
A dialog box
A toolbar

A panel which represents the rolling dice (this can be as simple as a single label that is updated for each new pair of dice numbers received from the GameEngineCallback methods).

Marking emphasis will be on the quality of your code and your ability to implement the required functionality.

All of your GUI code (MVC view(s) and controllers(s)) should be separate from, and use, your GameEngineImpl implementation (MVC model) via the GameEngine interface.

For assignment 1 you need only provide a single player/single-threaded implementation of the game engine. In assignment 2 you will extend this code to add multi-threading, multiple player windows and networking capability to create a full concurrent and distributed multi player game.

Do not worry about modelling a real Casino "craps" game with its more complex rules. The focus here is on the implementation using a simple, highest dice sum wins.

Reference no: EM13735596

Questions Cloud

Examine key concepts of leadership : For the final paper, you will examine key concepts of leadership in your place of work, or in a social organization to which you may belong that has leadership concepts (Rotary club, athletic team, scout leader, etc). Include the following in your..
Write a presentation explains progress in a community : Presentation illustrates and explains progress or lack of progress in a community since the movements of the 1960s. Photos are original, appropriate and illustrative of the community's change.
Develop a campaign outline : Choose one of the businesses/organizations that you have been following throughout the course that could benefit from a mobile marketing campaign. Develop a campaign outline
Different lateral structural arrangements : Write a paper that explains the number of different lateral structural arrangements in use in organizations, excluding project teams, matrix structures, organic systems, and professional organizations.
Implement a single threaded game engine : Implement a single threaded game engine and single player user interface for a casino style dice game. The rules are simple, the player places a bet and then rolls two dice before the house rolls against the player
Problem related to life skills : In "What Color Is Your Parachute?" (2007, now in its 36th printing, Ten Speed Press), Richard Bolles suggests that there are three life skills that schools should teach but don't: (1) How to find a job,
Describe three characteristics of quality data : Describe 3 characteristics of quality data that include the following: relevancy, granularity, consistency, accuracy, comprehensiveness, accessibility, timeliness, precision, and currency.
Problem related to role models : Let's discuss any conclusions that you reached on your research and writing about role models. What did you find that was important to you,
Strategic plan for any one of the corporation : To feel confident that all of the employees in your strategic planning team understand all that you have taught them, you require each to prepare a streamlined version of the key elements of a strategic plan. You require each employee to prepare t..

Reviews

Write a Review

JAVA Programming Questions & Answers

  Be sure to show all declarations

Write a function call that invokes function a. Be sure to show all declarations. However a complete main is not required.

  Program which evaluates a weighted average

Write a program which reads student names, social security numbers, and test scores from an input file named infile.

  Uml exercise

UML Exercise: Automated Teller Machine (ATM),   1. To allow authorized card holders to make transactions,   Brief Summary of Requirements:

  Use random function to create account number

Add a static method numAccounts that returns the total number of accounts. (Think about why this method should be static -- its information is not related to any particular account.)

  Development of a graphical user interface

Understand actual communication with an SMTP server can be achieved using TCP Sockets and understand the development of a graphical user interface (GUI) and use of event handling.

  Make a program that show the sales amount

You have to make a program that show the sales amount. Be sure to include comments. Comments should be included in the program to explain your calculations and program.

  Create a recursive factorial program

Assignment 1: Create a recursive factorial program that prompts the user for an integer  N  and writes out a series of equations representing the calculation of  N !. For example, if the input is 4, the output could be:

  Java write a program that creates a 4 x 6 two-dimensional

Using Java write a program that creates a 4 x 6 two-dimensional array. The program should use loops to populate the array with random numbers between 1 and 100. After the values have populated the array, output the values of the array to the screen i..

  Problems related to java programming

Create a Java program to do the following: - Open the text file you downloaded. - Read each record.

  Difference between the two following statements

What exactly is the difference between the two following statements and which is preferred, please provide details: 1) frame.setSize(400, 300); // Set JFrame Size

  Explain where the following method invocations

Explain where the following method invocations are most likely to be found in a program for dealing with census data organized using the Model, View, Controller (MVC) design pattern. Choices are zero or more of Model, View, and Controller. Be sure to..

  Inheritance involves the concept of super class

Inheritance involves the concept of super class (parent class) and sub class (derived class). What is a super class in Java? What is a sub or derived class in Java?

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