Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Network & Security Expert

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 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.

Computer Network & Security, Computer Science

  • Category:- Computer Network & Security
  • Reference No.:- M92830141
  • Price:- $65

Priced at Now at $65, Verified Solution

Have any Question?


Related Questions in Computer Network & Security

Autonomous consumptionnbsp 660marginal propensity to

Autonomous consumption  = 660 Marginal propensity to consume  = 0.8 Autonomous taxation  = 200 Income tax rate =  0.2 Planned investment  = 500 Government spending  = 500 Autonomous net exports  = 300 NX  = 0.04 Calculat ...

Rsa internet securitywhy is rsa believed to be hard to

RSA, Internet security Why is RSA believed to be hard to break? I. E. The complexity of what computational problem leads to the belief that it is secure? RSA can be used to authenticate messages by concatenateing to the ...

Security challenges in emerging networksassignment

Security Challenges in Emerging Networks Assignment Description The purpose of this assignment is to develop skills to independently think of innovation. In this assignment students will first learn how to develop knowle ...

Question suppose public-key cryptography is used to encrypt

Question : Suppose public-key cryptography is used to encrypt the communications between Alice and Bob. Alice's public key is eA, private key is dA; Bob's public key is private key is de. Now Bob wants to send a message ...

Assume that the number of customers who arrive at a water

Assume that the number of customers who arrive at a water ice stand follows the Poisson distribution with an average rate of 6.4 per 30 minutes. What is the probability that more than one customer will arrive during the ...

Assignment descriptionproject scope a typical network

Assignment Description Project Scope: A typical network layout diagram of a firm is given below for illustrative purposes only. The service requirements are enclosed. Figure. Network layout of a firm Service requirements ...

Question do some research and find a case of cyber

Question : Do some research and find a case of cyber harassment or cyberbullying. Explain the case, and discuss the relevant theories of criminal justice associated with the perpetrator(s). Your response should be a mini ...

There are standards in network communication through which

There are standards in network communication through which data is transferred from one system to another. Discuss why these standards are important. Do you think it would be easier to purchase different equipment and so ...

Prof gs farmer friend claims that aliens made crop circles

Prof G's farmer friend claims that aliens made crop circles in his farm. Using economic theory, prove his farmer friend wrong.

You need to prepare packet tracer fileattached pdf contains

You need to prepare packet tracer file attached pdf contains topology and required configurations and assigned ip address. In packet tacer file you need to include banner, router and switches. 1. VLSM Design a) As first ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As