Найти - Пользователи
Полная версия: Помогите допилить "однорукого бандита"
Начало » Python для новичков » Помогите допилить "однорукого бандита"
1
Pytophone
Добрый день.
Несколько дней назад начал изучать python по книге М. Лутза “Изучаем Python 4ed”. До этого опыта в программировании не было совсем.
Решил я сделать симулятор простого однорукого бандита. Прошу помощи в доработке и указании на ошибки. Заранее спасибо.
1) Как запускать игру заново с самого начала?
2) Как запретить нажатие на кнопку “z” после проигрыша?

import random
c = 50      #Начальный "банк" игрока
while True:
    choice = input('Крутануть барабан! (Для активации нажмите клавишу ''z'')\n')    #приглашение сыграть
    if choice == 'z':
        if c>=10:
            c=c-10  #стоимость одной игры - 10 очков
            r1 = random.randint(1, 10)
            r2 = random.randint(1, 10)
            r3 = random.randint(1, 10)
            print ((r1), (r2), (r3)) #Выводится 3 числа, которые должны совпасть
            
            if (r1)==(r2)==(r3): #Если все числа одинаковые
                c+=999
            elif (r1)==(r2): #Розыгрыш двух чисел
                c+=(r1+r2)
                print ('В этом раунде вы выиграли %d очков' %int((r1)+(r2)))
            elif (r2)==(r3):
                c+=(r2+r3)
                print ('В этом раунде вы выиграли %d очков' %int((r2)+(r3)))
            elif (r3)==(r1):
                c+=(r3+r1)
                print ('В этом раунде вы выиграли %d очков' %int((r1)+(r3)))
            print ('Общий выигрыш %d очков\n' %c)
        if c<= 9:  #если меньше 10 очков, то игра заканчивается
            print ('Game Over')
            choice = input('Restart (y)\n')
            if choice == 'z':
                print ('Вы проиграли. Нажмите клавишу (y)')
            if choice == 'y':
                continue       #Как запустить игру заново?
    if choice == 'x': #показывает текущее количество очков
        print(c)
    
FishHook
А зачем столько скобок? Вот тут, например, ну нахрена они нужны?
(r1)==(r2)


# -*- coding: utf-8 -*-
import random
LINE = 3
MAX = 10
r = set([random.randint(1, MAX) for _ in xrange(LINE)])
c = LINE - len(r) # это количество совпадений
print (c)
FishHook
#Как запустить игру заново?

Сделай два цикла, один в другом
while 1:
    print "new game"
    while 1:
        if game_over:
            print "game over"
            break
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB