Начало цикла while в игре «Две свиньи в кости» в python - PullRequest
0 голосов
/ 10 октября 2018

В настоящее время я пишу код для игры в кости на Python 3.6. Я понимаю, что мое программирование немного не в этом, однако мне просто интересно, как запустить цикл while.Инструкции игры следующие:

  • Человек играет против компьютера.

  • Они по очереди бросают две кости,и итоги кубиков складываются, если не выпадет 1.

  • Если выпадет 1, вы не добавляете счет, и это ход следующего человека.Если выпадают две единицы, вы теряете все свои очки и ход следующего игрока.

  • Первый игрок, набравший 100 очков, выигрывает игру.

Когда я запускаю этот код, я снова и снова получаю одно и то же случайное число.Я не уверен, как получить разные номера на каждом броске.Я также не понимаю, как идти в ногу со счетом каждого игрока в конце своего хода.Любая помощь будет принята с благодарностью.

import random
def main():


    print("Welcome to the Two Dice Pig Game. You are Player 1!")



    Player1 = 0
    Player2 = 0

    while(Player1<100 or Player2<100):

        p1dice=random.randrange(1,7)
        p1dice2=random.randrange(1,7)
        Player1 = p1dice+p1dice2
        print("Player 1 dice 1 =",p1dice)
        print("Player 1 dice 2 =",p1dice2)
        print("Player 1 dice total =",Player1)
        print("Does player 1 want to hold?")
        choose1 = input("Enter y for yes or n for no.")
        if(choose1=="n"):
            print("Player 1 dice 1 =",p1dice)
            print("Player 1 dice 2 =",p1dice2)
            print("Player 1 dice total =",Player1)
            print("Does player 1 want to hold?")
            choose1 = input("Enter y for yes or n for no.")
        elif(choose1=="y"):

            print("It's player 2's turn.")
            print("Player 2 dice 2 =",p2dice)
            print("Player 2 dice 2 =",p2dice2)
            print("Player 2 dice total =",Player2)
            print("Does player 2 want to hold?")
            choose2 = input("Enter y for yes or n for no.")







main()

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Итак, ваша проблема в том, что случайные числа не работают так, как вы хотите, а не что-то вроде «запуска вашего цикла»?Я действительно вижу это только потому, что ваши системные часы испорчены (случайное использование текущего времени в качестве начального значения для случайного).Вы пытались создать экземпляр random.Random () и вызывать его?

0 голосов
/ 10 октября 2018

Попробуйте изменить строку

Player1 = p1dice+p1dice2

на

Player1 += p1dice+p1dice2

Старая версия заменяет значение Player1 каждый раз.Новая версия добавляет к этому.

Кстати, += является сокращением для

Player1 = Player1+p1dice+p1dice2

Многие другие операторы Python имеют похожую нотацию "расширенного назначения".

...