Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add author solutions #1

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[flake8]
ignore = W292
19 changes: 19 additions & 0 deletions Pipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
flake8 = "*"
flake8-complex-f-strings = "*"
flake8-bugbear = "*"
flake8-eradicate = "*"
flake8-pie = "*"
flake8-variables-names = "*"
flake8-quotes = "*"
flake8-printf-formatting = "*"

[dev-packages]

[requires]
python_version = "3.9"
138 changes: 138 additions & 0 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@


def attack(char_name, char_class):
if char_class == 'warior':
return (f'{char_name} нанес урон противнику равный {5 + randint(3, 5)}')
if char_class == 'warrior':
return ('{0} нанес урон противнику равный {1}'.format(char_name, 5 + randint(3, 5)))
if char_class == 'mage':
return (f'{char_name} нанес урон противнику равный {5 + randint(5, 10)}')
if char_class == 'healer':
return (f'{char_name} нанес урон противнику равный {5 + randint(-3, -1)}')
def defence(char_name, char_class):
if char_class == 'warior':
if char_class == 'warrior':
return (f'{char_name} блокировал {10 + randint(5, 10)} урона')
if char_class == 'mage':
return (f'{char_name} блокировал {10 + randint(-2, 2)} урона')
if char_class == 'healer':
return (f'{char_name} блокировал {10 + randint(2, 5)} урона')
def special(char_name, char_class):
if char_class == 'warior':
if char_class == 'warrior':
return (f'{char_name} примернил специальное умение - выпосливось {80 + 25}')
if char_class == 'mage':
return (f'{char_name} примернил специальное умение - атака {5 + 40}')
Expand Down Expand Up @@ -74,4 +74,4 @@ def main():
print(start_training(char_name, char_class))


main()
main()
98 changes: 98 additions & 0 deletions main_auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
from random import randint


def attack(char_name, char_class):
if char_class == 'warrior':
return (
f'{char_name} нанес урон противнику равный {5 + randint(3, 5)}'
)
if char_class == 'mage':
return (
f'{char_name} нанес урон противнику равный {5 + randint(5, 10)}'
)
if char_class == 'healer':
return (
f'{char_name} нанес урон противнику равный {5 + randint(-3, -1)}'
)


def defence(char_name, char_class):
if char_class == 'warrior':
return (f'{char_name} блокировал {10 + randint(5, 10)} урона')
if char_class == 'mage':
return (f'{char_name} блокировал {10 + randint(-2, 2)} урона')
if char_class == 'healer':
return (f'{char_name} блокировал {10 + randint(2, 5)} урона')


def special(char_name, char_class):
if char_class == 'warrior':
return (
f'{char_name} примернил специальное '
'умение - выпосливось {80 + 25}'
)
if char_class == 'mage':
return (f'{char_name} примернил специальное умение - атака {5 + 40}')
if char_class == 'healer':
return (f'{char_name} примернил специальное умение - защита {10 + 30}')


def start_training(char_name, char_class):
if char_class == 'warrior':
print(f'{char_name}, ты Воитель - отличный боец ближнего боя.')
if char_class == 'mage':
print(f'{char_name}, ты Маг - превосходный укротитель стихий.')
if char_class == 'healer':
print(f'{char_name}, ты Лекарь - чародей способный исцелять раны.')
print('Теперь можно потренироваться в управлении полученными навыками.')
print(
'Введи одну из команд: attack для проведения атаки, '
'defence - блокирование атаки противника и special '
'- активация специальной возможности класса.'
)
print('Чтобы пропустить тренировку введите - skip')
cmd = None
while cmd != 'skip':
cmd = input('Введите команду: ')
if cmd == 'attack':
print(attack(char_name, char_class))
if cmd == 'defence':
print(defence(char_name, char_class))
if cmd == 'special':
print(special(char_name, char_class))
return 'Тренировка окончена'


def choice_char_class():
approve_choice = None
char_class = None
while approve_choice != 'y':
char_class = input(
'Для выбора класса персонажа введите его '
'название (warrior, mage, healer): '
)
if char_class == 'warrior':
print('Описание воителя ....')
if char_class == 'mage':
print('Описание мага ....')
if char_class == 'healer':
print('Опиание лекаря ....')
approve_choice = input(
'Подтвердите (Y) или повторите (any key) выбор '
).lower()
return char_class


def main():
print('Приветствую тебя искатель приключений!')
print('Прежде чем войти в игру')
char_name = input('Назови себя: ')
print(f'Здравствуй, {char_name}! '
'Сейчас твоя выносливость 80, атака 5 и защита 10.')
print('Но ты можешь выбрать один из трех путей силы.')
print('Воитель, Маг, Лекарь')
char_class = choice_char_class()
print(start_training(char_name, char_class))


main()
23 changes: 23 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#
# These requirements were autogenerated by pipenv
# To regenerate from the project's Pipfile, run:
#
# pipenv lock --requirements
#

-i https://pypi.org/simple
attrs==21.4.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
eradicate==2.1.0
flake8-bugbear==22.7.1
flake8-complex-f-strings==0.1.0
flake8-eradicate==1.2.1
flake8-pie==0.15.0
flake8-printf-formatting==1.1.2
flake8-quotes==3.3.1
flake8-variables-names==0.0.5
flake8==4.0.1
mccabe==0.6.1
pycodestyle==2.8.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
pyflakes==2.4.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
setuptools==63.1.0; python_version >= '3.7'
typing-extensions==4.3.0; python_version >= '3.7'