java program:Game of NIM

Cerrado

Draw a flowchart for the algorithm and write a program that plays the ancient Chinese game of

NIM. Actually, this is a simplified version of the game. Each game starts with a user-specified

number of stones in a pile. The user and the computer take turns removing either one or two

stones from the pile. The player who takes the last stone loses. 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.

Your algorithm and program should allow the user 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. Keep the tally of wins and announce the winner at the end of the

program. The tally will include for the player and the computer the number of wins by each and

the total number of games played. The “player” with more wins is the winner. In the case where

both the player and the computer have the same number of wins, then it is a draw. See the

sample output.

In addition, your will need to add input validation to your NIM algorithm and program. More

specifically, 2

1) ask the user to re-enter the number of starting stones if he/she doesn’t enter an

appropriate number,

2) ask the user to re-enter the number of stones to be removed if he/she doesn’t enter an

appropriate number, and

3) ask the user to re-enter a “yes/no” response if he/she doesn’t enter an appropriate

string.

Your game (algorithm and program) is to be well designed – future users and maintainers of this

solution would like to have a programmer-friendly, carefully planned design.

Sample Output

A sample run of the program is shown below. (Note: Bold texts are user input.) :

T H E G A M E O F N I M

Enter number of starting stones: 7

Would you like to go first? (y/n): yEs

How many would you like to remove (1 or 2)? 1

The number of stones left is 6.

The computer removes 2 stones.

The number of stones left is 4.

How many would you like to remove (1 or 2)? 2

The number of stones left is 2.

The computer removes 1 stone.

The number of stones left is 1.

How many would you like to remove (1 or 2)? 1

The number of stones left is 0.

The computer wins!

Do you want to play again? (y/n): Y

Enter the number of starting stones: 4

Would you like to go first? (y/n): n

The computer removes 1 stone.

The number of stones left is 3.

How many would you like to remove (1 or 2)? 2

The number of stones left is 1.

The computer removes 1 stone.

The number of stones left is 0.

You win!

Do you want to play again? (y/n): n

Results:

Computer Wins – 1

Player Wins - 1

Total Games - 2

It is a DRAW!

Thank you, good bye!

Habilidades: Java

Ver más: number guessing game program java, quiz game program java, write quiz game program java eclipse, guess random number game program java, car racing game program java pdf, game program java, nim game gui java, car game program java, war card game program java, card game program java, hangman game program java, car racing game program java, sudoku game program java, suduko game program java, simple game program java

ID de proyecto: #12015247

18 los freelancers están ofertando un promedio de $35 para este trabajo.

it2051229

Hi there, I would like to do this project if given the opportunity. Let me know if you are interested so I can have further details. Thanks.

$30 USD en 1 día
(920 comentarios)
7.4
$25 USD en 1 día
(552 comentarios)
6.6
utkarshkatiyar19

hi. I have a lot of experience in Java programming. I can easily complete this task for you. we can have a chat. thanks

$50 USD en 2 días
(76 comentarios)
5.7
hbxfnzwpf

I am very proficient in java. I have 16 years java developing experience now, and have worked for more than 6 years. My work is online game developing, and mainly focus on server side, using java under linux environmen Más

$120 USD en 2 días
(38 comentarios)
5.8
xeathprynx

Hello, I am expert in java/c/c++ and i can deliver your task in the least time and least payments. The code will be well commented and well formatted for better understanding. I believe in long term relations so first Más

$80 USD en 1 día
(45 comentarios)
4.7
usmanshery

Hi i'm software engineer and expert java developer. I have experience developing games in java including fps games and simple board games. Please contact me and discus details Regards Usman Shery

$30 USD en 0 días
(34 comentarios)
4.9
Topfreelancer4

Feel fee to contact me for.Shoot me message to discuss further more details .We provide the comments,images,videos,demos and live sessions in order to help the clients.Make payment only after the work done.Thank yo

$25 USD en 1 día
(29 comentarios)
4.7
$50 USD en 1 día
(14 comentarios)
3.8
topcoder9793

Hi Java developer here. I have done this kind of game before(baccarat, tic-tac-toe etc). I can do this work in a day. Thanks for clearly mentioning the requirement and the sample output. I can assure you that you w Más

$20 USD en 1 día
(6 comentarios)
3.3
$50 USD en 1 día
(5 comentarios)
3.2
VnNorthStar

Hi I'm ready for this project. I'm expert in C# & Java, algorithms. Please give me an opportunity. I will do it perfectly. Best Regards VnNorthStar

$30 USD en 3 días
(11 comentarios)
2.9
abubakar4248

hi I am professionally software engineer I have lot of expertise in java and algorithms I will provide quality work according to your requirement I hope you will consider me on your project regards

$60 USD en 1 día
(3 comentarios)
2.4
$20 USD en 1 día
(1 comentario)
1.8
gauravmankotia

Hi there, I am a java developer with an experience of 3.5 years in core java,java swing and jdbc app development. Also have 3 years experience in implementing algorithms. I am glad if I could get this project so that Más

$25 USD en 1 día
(3 comentarios)
1.8
$20 USD en 10 días
(4 comentarios)
1.5
shym98

A proposal has not yet been provided

$15 USD en 3 días
(1 comentario)
0.4
$20 USD en 1 día
(1 comentario)
0.6
priyankajoshi10

Hello, I have hands on experience on JAVA, MYSQL, J2EE, C, C++. I can assure you that if you work with me once, you will always work with me. Thanks! Priyanka

$13 USD en 1 día
(0 comentarios)
0.0
creativesoft3

Dear Client, Greeting of the day ahead !!! Thanks for providing us opportunity to place bid over the project and communicate with you. I am a serious bidder here and i have already worked on a similar project befor Más

$23 USD en 6 días
(0 comentarios)
0.0
sid189

I had made the same game like this and it's easy for me to do it again. i will make this game all with java, i will use software NetBeans if it is okay then i m in...

$35 USD en 5 días
(0 comentarios)
0.0