Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 1, 2013 08:19:58

Pytophone
От: Владивосток
Зарегистрирован: 2013-11-01
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите допилить "однорукого бандита"

Добрый день.
Несколько дней назад начал изучать 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)
    

Офлайн

#2 Ноя. 1, 2013 11:21:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите допилить "однорукого бандита"

А зачем столько скобок? Вот тут, например, ну нахрена они нужны?

(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)



Офлайн

#3 Ноя. 1, 2013 11:24:41

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите допилить "однорукого бандита"

#Как запустить игру заново?

Сделай два цикла, один в другом

while 1:
    print "new game"
    while 1:
        if game_over:
            print "game over"
            break



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version