Member 14030302 Ответов: 0

Нужна помощь в создании системы обнаружения и табло для текстовой игры


Чтобы предварить это, я не хочу, чтобы это выглядело так, как будто я хочу быть обученным. В настоящее время я изо всех сил пытаюсь получить этот фрагмент кода таким, каким он должен быть, и единственная доступная помощь, которую я могу получить в данный момент, - это интернет. Конечно, если это неподходящее место для такого поста, не стесняйтесь снять его, я полностью понимаю :)

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

В настоящее время у меня есть то, что код повторяет переменную "инвентарь", которая хранит элементы, которые пользователь подобрал вместе с собой. Когда пользователь использует товар, он больше не находится в инвентаре на тот срок, на который он используется. Затем код оценивает условие, чтобы проверить, находится ли товар на складе в этот момент. Если это не так, он добавляет "дискретное" значение используемого элемента к переменной "усмотрение" с предопределенным значением. Если "усмотрение" падает ниже определенного значения, он вызывает функцию " try_gain ()", которая предлагает пользователю играть снова.

Вот код, который у меня есть до сих пор. Это не то, на что я согласился, так что если у вас есть какие-либо советы по улучшению кода, это будет иметь большое значение:

try_again():
    user_input = input('Would you like to play again')
    if 'yes'.lower() in user_input:
         main()

else:
    pass


def discretion(items):
discretion = 0
inventory = []
for x,a in items.items():
    if x not in inventory:
        discretion += a['discrete']


    else:
        pass

if discretion < 0:
    try_gain()


return (f'Your detection level is {discretion}')
Here are a few sample dictionaries:

hand_gun = {'id':'handgun','discrete':20}
rifle_ = {'id':'rifle','discrete':50}
items = {'handgun':hand_gun,'rifle':rifle_}


Что я уже пробовал:

До сих пор я только и делал, что перебирал предметы и проверял, нет ли их в инвентаре. Если это не так (например, когда используется пистолет), то производится изменение на усмотрение в соответствии с дискретным значением, хранящимся конкретным элементом в его словаре. Проблема, с которой я столкнулся, заключается в том, что "инвентарь" должен быть (как и в другом коде игры) глобальной переменной, а не заключаться в этой функции. Кроме того, я изо всех сил пытаюсь установить решение о постоянном представлении статуса "обнаружения" игрока на протяжении всей игры. Конечно, не на все вопросы нужно отвечать, но любая помощь будет иметь большое значение :)

0 Ответов