Programming constructs in developing computer programs

Assignment Help Computer Networking
Reference no: EM131985894 , Length:

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

The task of the assignment is to develop a NIM game with 2 human player and 1 computer player. The two human player name is received from the user. The first player is taken the option to choose the number of stones in the pile and the stones are taken in turn and the player choosing the last stone is declared as the winner of the game.

Reference no: EM131985894

Questions Cloud

Start saving for retirement beginning year : Your job pays you only once a year for all the work you did over the previous 12 months. you want to start saving for retirement beginning next year.
How entrepreneurs can be prepared to handle this step : From this perspective, describe how you (as the venture capitalist) would conduct the due diligence for the business venture.
How much farther from the sun is jupiter than mars : How much farther from the sun is jupiter than mars? How much farther from the sun is mars than earth?
What is the NPV of this base-case : The tax rate is 35%, and we require a return of 21% on this project. What is the NPV of this base-case?
Programming constructs in developing computer programs : MN404 - Fundamentals of Operating Systems and Programming - Create programs based on incremental development processes of designing, coding and testing
Discuss the recognition criteria and measurement issues : ACC510 Assignment Task - Discuss the recognition criteria and measurement issues associated with those provisions or contingencies
Calculate the average cost for each treatment : Calculate the average cost for each treatment. Calculate the average QALY for each treatment.
Label the variables together with proper units : Set up, but do not solve the system of equations corresponding to this word problem. You must label the variables together with proper units.
What personal characteristics do you think matter most : You now know that leadership is more than just a set of traits. However, personal characteristics, including personality, do matter.

Reviews

Write a Review

Computer Networking Questions & Answers

  Your manager has assigned you and two other engineers to do

you work for a university that has over 3500 students on campus. the you supports about 600 staff and faculty that are

  Data validation refers to checking the content

Data validation refers to checking the content of data to ensure that it satisfies certain rules, known as constraints. For example, the employee name should never be omitted in the employee table, and the delivery date should be after (greater th..

  Describe various network media and how they are changing

Describe various network media and how they are changing. Explain the differences among LANS, WANS, CANS, and MANS.

  Since mac address is unique for each device

Since MAC address is unique for each device, why Internet does not use MAC address for routing and communications, instead, they assign an IP address to each machine? Here we do not count that MAC address is longer than IPv4 address (since IPv6 ha..

  Outline the design of a wireless network

Outline the design of a wireless network to support user mobility over a wide area. Include in your answer a discussion of addressing, routing and the used of fixed versus ad hoc network access nodes or base stations.

  Compare the channel capacity of the given two systems

Compare the channel capacity of these two systems. Which system has a larger capacity? You need to show the analytical capacity of each system to justify your answer.

  How can i obtain a hostname given an ip address

How can I obtain a hostname given an IP address? How can I obtain the IP address for a given hostname? How can I download files from a URL using HTTP?

  What do you mean by network how are networks used what

what is a network? how are networks used? what types of networks are commonly used today? what are clients and servers

  Static and dynamic routing

A network engineer is troubleshooting a small LAN network with one border router, GW01 that connects to the Internet Service Provider's (ISP) network.

  How often are network standards reviewed

How often are network standards reviewed? What category of UTP cabling is the minimum for a telephone cable?Cat 5 is used for telephone cable, before Cat 5, Cat 3 was used.

  Explain human factors in achieve business and technical goal

Business case study: Network design proposal for a hotel. Explain human factors in achieving business and technical goals through planning and design.

  What is router prompt for the interface configuration mode

Is clocking of a router's serial interface set by the DCE or the DTE?

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