Got Homework?
Connect with other students for help. It's a free community.
Here's the question you clicked on:
 0 viewing
petew71
Group Title
Ex 2.6The game of Nims/Stones.
Could someone please show me how they did this one. I just can't figure it all out..
 2 years ago
 2 years ago
petew71 Group Title
Ex 2.6The game of Nims/Stones. Could someone please show me how they did this one. I just can't figure it all out..
 2 years ago
 2 years ago

This Question is Closed

andrew.m.higgs Group TitleBest ResponseYou've already chosen the best response.1
Hi Peter Check other messages. There was a thread sharing their nims code. At least 3 people did submit working examples. Hope this helps.
 2 years ago

petew71 Group TitleBest ResponseYou've already chosen the best response.1
Found it, thanks. Typical, i'd not completed the while loops with the if else statements!
 2 years ago

Shadowys Group TitleBest ResponseYou've already chosen the best response.0
Clear objectives can aid in programming. The game function objectives are: there are n stones.(variable n is initiated) there are k players, (k>2) (constant k is initiated) players take turns.(there will be function take takes (k) to rotate turns) players take 1/2/3/4/5 stones in one turn.(expect input from player to change n) players play until there is a winner. (while loop until a condition) player to take last stones win.(ifelse condition, n==0 to break loop)
 2 years ago

petew71 Group TitleBest ResponseYou've already chosen the best response.1
I used a while loop for each player, both inside a bigger while loop. But i got mixed up with the logic flow and wasn't getting the ordering quite right! Thanks to looking at others programs i tidied the ends of the loops OK ! I've deliberately held myself back quite a bit, practicing different loops! (I instinctively found 'if, elif, else' , and working with string slices quite easy...But not loops!)
 2 years ago

Shadowys Group TitleBest ResponseYou've already chosen the best response.0
lol yeah, it's tough to understand them, but a general rule is to avoid loops unless you really need to go through the process repetitively. It took me sometime to remember a loop always need a breaking statement. Good luck with your other projects!
 2 years ago

petew71 Group TitleBest ResponseYou've already chosen the best response.1
Cheers for the tip! :0)
 2 years ago

lh4219 Group TitleBest ResponseYou've already chosen the best response.0
def ask(numStones, num, player): ques = False while ques == False: if player == 1: ans = input("Player1 enter number of stones to take from pile. ") if ans >= 1 and ans <= num: ques = True else:continue if ans > numStones: return numStones else: ans = input("Player2 enter number of stones to take from pile. ") if ans >= 1 and ans <= num: ques = True else:continue if ans > numStones: return numStones return numStones  ans def play_nims(pile, max_stones): ''' An interactive twoperson game; also known as Stones. @param pile: the number of stones in the pile to start @param max_stones: the maximum number of stones you can take on one turn ''' while pile != 0: while True: pile = ask(pile, max_stones, 1) if pile == 0: print "player1 WINS!" break pile = ask(pile, max_stones, 2) if pile == 0: print "player2 WINS!" break else:continue def play(): print "This is the game of stones. It is a 2 person game." print while True: reply = raw_input("Please enter an N for a new game or a . to exit the game. ") print if reply == 'N' or reply == 'n': reply1 = input("Please enter the number of stones to put in the pile. ") reply2 = input("Please enter the maximum number of stones to remove during a turn. ") print play_nims(reply1, reply2) continue else: break
 2 years ago

petew71 Group TitleBest ResponseYou've already chosen the best response.1
A lot more comprehensive than mine!...Well done!
 2 years ago
See more questions >>>
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.