Review the threading

Assignment Help JAVA Programming
Reference no: EM13842762

1. Threading

A considerable amount of time was spent trying to get threading to work properly. Initial designs included a thread called Turn, which would call a subsequent thread for performing communication actions with the LAMP server. Unable to get a working solution, the nested thread design was abandoned and the team focused on simply trying to get the Turn thread to work (it would have been easier yet to run the turn interactions in the main thread, however, this was seen to be extremely poor Android application design).
After considerable frustration, it was found that problems with wait() and notify() methods vanished by using "extends Thread" instead of "implements Runnable" for the Turn class.

2 Project Reevaluation

Despite considerable setbacks, the team generally stayed the course.
The decision to create an Android app, despite the lack of experience, made for a challenging project, but the difficulties encountered provided substantial learning opportunities. The large scope was initially intimidating, but after overcoming the many roadblocks, the team is satisfied that the project is of appropriate scope for the class.
The only notable decision the team chose not to pursue was the use of Bluetooth for Android communication. Though the use of Bluetooth was abandoned due to apparent time constraints, the use of a stable central database alleviated concerns about the host quitting, as the LAMP server provides consistent, accessible data. Additionally, PHP provided powerful tools that simplified coding in several cases.

3. Phase 1 Functionality

Functionality Description

A. Overall Application Description (end goal for the project)

The Card Czar Android application is a spin-off of the popular card game Apples to Apples (drawing some inspiration from the similar card game, Cards Against Humanity).
The Card Czar is an android application multiplayer card game that can deliver hours of fun. It allows a user to create a new game room and invite friends to play with them. For a game to begin there must be at least 3 players. Once a game is started each player is dealt at random a hand of response responses that will be used to respond to the random bait that is chosen for the round. A bait card (text) is chosen and the Card Baron (this is the dealer-either the winner from the last round, or host if it's the first round) then waits for players to submit responses to that bait. The Card Baron (dealer) then selects from one of the responses and the player who submitted the winning response gains 1 point and becomes the Card Baron for the next round. The first player to get to 5 points wins and is crowned the Card Czar.

B. Phase 1 Functionality
This section describes the functionality being delivered as of Phase1. All of the application's activity layout screens have been coded and are working, except for GameplayActivity, which only handles gameplay while a player is a dealer (Card Baron). Note that the other completed Activity Java classes have only the levelof functionality necessary for bare minimum operation.Additionally, the LAMP server has been created and deployed to an AWS instance. This server hosts the middleware, PHP files, which the application will call to interact with the database. The PHP files have not all been completed-not all of the non-dealer actions have been coded. The delivered code for phase 1 can be compiled and run through an emulator to begin showing basic gameplay functionality and interaction with the LAMP server.
The gameplay functionality is not complete yet so a full game cannot be played without using PHP tools that were designed for testing. Full functionality should be completed in the next phase of development.Additionally, security, such as setting up HTTPS communication with the LAMP server, has not yet been implemented in this phase of development. A breakdown of a sample game follows.

 

Reference no: EM13842762

Questions Cloud

Current multifactor productivity ratio : Alyssa's Custom Cakes currently sells 5 birthday, 2 wedding, and 3 specialty cakes each month for $45, $155, and $105 each, respectively. Alyssa's current multifactor productivity ratio is 1.25. assuming each cake costs the same to make, the average ..
What are the terms of the tender : How serious is the competition? Will this project be easy to win? Is there a reason to take on the project simply to deny the competition work? How many firms will bid; and what is the likelihood of winning?
What is the break-even quantity beyond : Spartan Castings must implement a manufacturing process that reduces the amount of particulates emitted into the atmosphere. Two processes have been identified that provide the same level of particulate reduction. What is the break-even quantity beyo..
What should be the process of the new item : A restaurant is condering adding fresh brook trout to its menu. Customers would have the choice of catching their own trout from a simulated mountain stream of simply asking the waiter to net the trout for them. Operating the steam would require $11,..
Review the threading : Threading. A considerable amount of time was spent trying to get threading to work properly. Initial designs included a thread called Turn, which would call a subsequent thread for performing communication actions with the LAMP server. Unable to..
Design a class to represent a bank account : Design a class to represent a bank account. Create a class Account that stores customer name, account number and type of account. From this derive the classes Curr-acct and Sav-acct to make them more specific to their requirements
Differences between cobit and the iso : In 500 words or less, explain the most important differences between COBIT and the ISO 27000 series in relation to information security
What did the new england colonies produce? : What did the New England Colonies produce?
Population experiences exponential growth : A bacterial population experiences exponential growth during a 4-day period. Assume that 200 colonies were present at the beginning of the 1st day, but by the beginning of the 3rd day, the population had grown to 335.

Reviews

Write a Review

JAVA Programming Questions & Answers

  Write a recursive instance method

Write a recursive instance method

  Suppose that a variable a is declared as int java eclipse

Suppose that a variable a is declared as int a = 2147483647 (or equivalently,Integer.MAX_VALUE). What do each of the following print. System.out.println(a);

  Create a class named blooddata that includes fields

Create a class named BloodData that includes fields that hold a blood type (the four blood types are O, A, B, and AB) and an Rh factor (the factors are + and -). Create a default constructor that sets the fields to "O" and "+", and an overloaded c..

  Compare the average completion times of all jobs

Compare the average completion times of all jobs for each scheduling algorithm. Output the details of each algorithm's execution. You need to show which jobs are selected at what times as well as their starting and stopping burst values. You can choo..

  Implement a game of tic-tac-toe

Specify, design, and implement a class that can be one player in a Game of tic-tac-toe. The constructor should be specify whether the object is to be the first player (X's) or the second player (O's).

  Create an application with a jframe

Create an application with a JFrame that holds five labels describing reasons that acustomer might not buy your product (for instance, "Too expensive").

  Write a program to track hourly employee departure

A company hires you to write a program to track hourly employee arrival and departure times from work. In essence, you are tasked to make an online time clock.

  Simulate a simple version of a game called liar dice

The first player claims a Poker hand (see "Hand Ranks" below for legal calls). When making a claim, a player says what all five dice are, not just the name of the hand. For example, a player should say, "I have a full house: three 4s and two 5s," ..

  Illustrate the power of java inheritance and polymorphism

Illustrate the power of Java inheritance and polymorphism. Your response to this question is in multiple parts. You will submit your answers as specified at the end of this question.

  Create four classes that must all interact

You will create four classes that must all interact in some meaningful way. In order to start you will create a class diagram to determine which classes depend on other classes and what those classes are

  Determine total annual compensation of a salesperson

Write a Java application using NetBeans Integrated Development Environment (IDE) that calculates the total annual compensation of a salesperson. Consider the following factors: A salesperson will earn a fixed salary of $45,000

  Concept of time in javascript

In JavaScript a time is dened as a Date Object. Each date object stores its state as a time value,which is a primitive number that encodes a date.

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