Create programs based on incremental development processes

Assignment Help Computer Networking
Reference no: EM131992490

Fundamentals of Operating Systems and Programming 

Write an Algorithm/ flowchart and then convert it to a java program for given game of NIM

Purpose of the assessment (with ULO Mapping) This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements in them.

c. Apply principles of abstraction and problem solving in an object-oriented programming language

d. Apply knowledge of programming constructs in developing computer programs

e. Create programs based on incremental development processes of designing, coding, testing and debugging.

Assignment Specification

Write a detailed algorithm and a program that plays the ancient Chinese game of NIM. Actually, this is a simplified version of the game. In this game, the person who runs your program will be one of the two human players, your program will be a simple Artificial Intelligence (AI) that will serve as the other player, as well as provide the narrative for the game and keep score, invite a friend to be the third player. Your program must keep score impartially while participating in the game, but this is not a difficult task for the computer.

Rules of the Game:

- Number of participating Players: 2 students and 1 computer

- The player who goes first shall define the number of stones in the pile. The number must be between 30 to 50.

- Each player then removes some number (between 1 to 3) of stones from the pile in turn until one player removes the final stone.

- The player who goes first:

I. Provides the number of stones to be placed in the pile,

ii.Removes the first set of 1 to 3 stones

- Other player removes a set of 1 to 3 stones

- The players then take turns(iteration) until the final stone is removed.

- The player who removes the final stone is the winner (student player 1, student player 2 and the computer).

The program must perform the following:

- Use the System I/O (print (), or println()) to introduce and describe the game, Computer shall introduce itself as the AI player, and prompt the human players for his or her names along with MIT Ids.

- The program must use a Scanner object to receive the inputted response.

- The response must be assigned to a properly typed variable.

- Uses printf() to display a greeting to the human player that incorporates the name provided in response to the prompt: Welcome <user's name> to the game of Taking Stones.4 marks

- The user's name must be output in proper name case (i.e., mixed case starting with upper case for the first letter) regardless of the case the user types in.4 marks

- The users shall input the number of stones to be picked either by using a standard random number generator function or may input according to their own strategy but the number should be less than or equal to three (3).

o Java has two ways to generate random numbers
- Math. Random method from the Java API Math
- java.util.random Class and the appropriate method from that class, to generate this number for the human player

- The program must reject and display a valid message if the number of stones to be removed are either less than one(1) or more than three(3) students and remind them the game constrains.

- Prompt that player to re-enter an appropriate number.

- Your program should have the computer use the optimal playing strategy. The optimal strategy is as follows: Divide the remaining number of stones by three. If the remainder is zero, then two stones are removed, or else one stone is removed. For example, if the remaining number of stones is nine or fifteen, then two stones are removed; if the remaining number of stones is eight or ten, then one stone is removed.

- Both the human players shall have their own strategies to play.

- When one of the player has won a game, the program must output a congratulatory message naming the winner along with ID.

- Your program should allow the users to play additional games of NIM as long as he/she enters a "y" or "yes" (lowercase or uppercase) in response to a "Do you want to play again?" prompt.

Verified Expert

Regression Analysis is done on a pair of economic data from US Bureau of Economic Analysis. The implications of the linear regression analysis generated from the equation have been explained. How the conclusions of the regression analysis can impact demand planning at a an organization has been explained.

Reference no: EM131992490

Questions Cloud

What is the value of the option if abandon the mine : The current discrete-time risk-free rate of return is 5%. What is the value of the option if abandon the mine?
Option pricing to capital budgeting problems : 1. Discuss some of the practical issues with applying option pricing to capital budgeting problems.
What is the value of the firm stock : If an all-equity firm is expected to earn and pay out a $4.00 dividend forever (in perpetuity), what is the value of the firm's stock given a cost of equity
Applying consulting overhead : Assuming that direct labor cost is the basis for applying consulting overhead, a. Calculate the predetermined overhead rate.
Create programs based on incremental development processes : MN404 - Fundamentals of Operating Systems and Programming - Write an Algorithm/ flowchart and then convert it to a java program for given game of NIM.
Calculate the internal rate of return of the fixed asset : A company wants to buy a machine that costs $15,000 with a useful life of 9 years. The system generates cash flows after taxes of $2,205.23 each year.
Calculate the probability that the nav of the mutual fund : Calculate the probability that the NAV of the mutual fund a year from now (after the dividend distribution) will be between $50 and $60?
Corporate philanthropy and corporate social responsibility : What effect do corporate philanthropy and Corporate social responsibility programs on shareholder wealth maximisation theories with evidence?
Return over three-year period : You sell the bond three years later for $1,100. What is your rate of return over this three-year period?

Reviews

len1992490

5/22/2018 8:35:29 AM

Draft copy submission in week 10 Students who fail to submit draft copies of both the algorithm and the program shall lose marks. 6 Demonstration and Viva Tutor will see the outputs and assess your understanding of work done for this assignment in the laboratory class. This will be done during Week-11 laboratoryclass. Please Note: In case the student remains absent during week 11 for demonstration and viva without prior permission for special consideration through AMS, he /she may lose Demo and Viva marks. 10

len1992490

5/22/2018 8:35:24 AM

Section to be included in the report Description of the section Marks Algorithm Program All the minute details have to be addressed in the algorithm Error free, well commented java program reflecting each line of the algorithm. 42 42 Following points to be considered: Include appropriate import statements Include a comment at the beginning of your program with basic information and a description of the program Your code should be properly indented Give meaningful names to variables and classes in your code. Correct use of programming structures Your program compiles successfully without any errors Your program is interactive and gives correct output. Your program should follow all the rules mentioned above. Sufficient test cases considering all the requirements must be provided with valid and invalid inputs.

Write a Review

Computer Networking Questions & Answers

  Networking and types of networking

This assignment explains the networking features, different kinds of networks and also how they are arranged.

  National and Global economic environment and ICICI Bank

While working in an economy, it has a separate identity but cannot operate insolently.

  Ssh or openssh server services

Write about SSH or OpenSSH server services discussion questions

  Network simulation

Network simulation on Hierarchical Network Rerouting against wormhole attacks

  Small internet works

Prepare a network simulation

  Solidify the concepts of client/server computing

One-way to solidify the concepts of client/server computing and interprocess communication is to develop the requirements for a computer game which plays "Rock, Paper, Scissors" using these techniques.

  Identify the various costs associated with the deployment

Identify the various costs associated with the deployment, operation and maintenance of a mobile-access system. Identify the benefits to the various categories of user, arising from the addition of a mobile-access facility.

  Describe how the modern view of customer service

Describe how the greater reach of telecommunication networks today affects the security of resources which an organisation provides for its employees and customers.

  Technology in improving the relationship building process

Discuss the role of Technology in improving the relationship building process Do you think that the setting of a PR department may be helpful for the ISP provider? Why?

  Remote access networks and vpns

safekeeping posture of enterprise (venture) wired and wireless LANs (WLANs), steps listed in OWASP, Securing User Services, IPV4 ip address, IPV6 address format, V4 address, VPN, Deploying Voice over IP, Remote Management of Applications and Ser..

  Dns

problems of IPV, DNS server software, TCP SYN attack, Ping of Death, Land attack, Teardrop attack, Smurf attack, Fraggle attack

  Outline the difference between an intranet and an extranet

Outline the difference between an intranet and an extranet A programmer is trying to produce an applet with the display shown in Figure 1 below such that whenever one of the checkboxes is selected the label changes to indicate correctly what has..

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