В моем классе Python мы сейчас занимаемся удаленными проектами, и последний из них меня озадачил. Мы должны создать игру в кости, которая функционирует следующим образом: 1. Введите сумму ставки. 2. Затем игральные кости бросаются, и результат устанавливается как «точка». 3. Игральные кости снова бросаются, с результатом 7 или 11. в случае выигрыша, 2, 3 или 12, приводящих к проигрышу, и любого другого результата, приводящего к перебросу.
Я мог бы написать этот код, но нам дали скелетный сценарий, и мы должны соответствовать нашему решение этого. Я борюсь с этим из-за моего ограниченного опыта работы с функциями. Я пытался научить себя, но этот скелетный сценарий действительно сбивает меня с толку. Буду признателен за любую помощь, и я прошу прощения, если этот вопрос не подходит здесь. Я не ищу кого-то, чтобы написать мое решение для меня, просто некоторые рекомендации. Заранее спасибо.
Вот скелетный скрипт:
import random
def enterBet(): # returns amount bet (1-1000)
def rollTheDice(): # returns die1, die2
def setPoint(bet): # returns the outome of the game and the point
def playDice(bet, point): # returns the outcome
OUTCOME_WIN = 1
OUTCOME_LOSE = 2
OUTCOME_REROLL = 3
def main():
bet = enterBet()
outcome, point = setPoint(bet)
while outcome == OUTCOME_REROLL:
outcome = playDice(bet,point)
if __name__ == "__main__":
main()
Вот моя лучшая попытка:
import random
def enterBet(): # returns amount bet (1-1000)
int(input("Please Enter Your Bet: "))
def rollTheDice(): # returns die1, die2
die1 = random.randint(1, 6)
die2 = random.randint(1, 6)
return die1, die2
def setPoint(bet): # returns the outome of the game and the point
rollTheDice()
point = die1 + die2
print('You rolled a ' + point + '.')
print('This is the new point.')
return point, outcome
def playDice(bet, point): # returns the outcome
print('Point is: ' + point )
if point == 7 or point == 11:
outcome = OUTCOME_WIN
elif point == 2 or point == 3 or roll == 12:
outcome = OUTCOME_LOSE
else:
outcome = OUTCOME_REROLL
return outcome
OUTCOME_WIN = 1
OUTCOME_LOSE = 2
OUTCOME_REROLL = 3
def main():
bet = enterBet()
outcome, point = setPoint(bet)
while outcome == OUTCOME_REROLL:
outcome = playDice(bet, point)
if __name__ == "__main__":
main()
И вот ошибка, которую я получаю:
Please Enter Your Bet: 1
Traceback (most recent call last):
File "D:/School/CSCI 256/Project 2/p1_2.py", line 43, in <module>
main()
File "D:/School/CSCI 256/Project 2/p1_2.py", line 37, in main
outcome, point = setPoint(bet)
File "D:/School/CSCI 256/Project 2/p1_2.py", line 13, in setPoint
point = die1 + die2
NameError: name 'die1' is not defined
Process finished with exit code 1