forked from Turonk/character_creation_module
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
120 lines (108 loc) · 4.32 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# -*- coding: cp1251 -*-
from random import randint
def attack(char_name: str, char_class: str) -> str:
if char_class == 'warrior':
return (f'{char_name} нанёс противнику урон,'
f' равный {5 + randint(3, 5)}')
if char_class == 'mage':
return (f'{char_name} нанёс противнику урон,'
f' равный {5 + randint(5, 10)}')
if char_class == 'healer':
return (f'{char_name} нанёс противнику урон,'
f' равный {5 + randint(-3, -1)}')
return (f'{char_name} нанёс противнику урон,'
f' равный {5}')
def defence(char_name: str, char_class: str) -> str:
if char_class == 'warrior':
return (f'{char_name} блокировал'
f'{10 + randint(5, 10)} урона')
if char_class == 'mage':
return (f'{char_name} блокировал'
f'{10 + randint(-2, 2)} урона')
if char_class == 'healer':
return (f'{char_name} блокировал'
f'{10 + randint(2, 5)} урона')
return (f'{char_name} блокировал'
f'{10} урона')
def special(char_name: str, char_class: str) -> str:
if char_class == 'warrior':
return (f'{char_name} применил'
f'специальное умение '
f'«Выносливость {80 + 25}»')
if char_class == 'mage':
return (f'{char_name} применил'
f'специальное умение «Атака {5 + 40}»')
if char_class == 'healer':
return (f'{char_name} применил'
f'специальное умение '
f'«Защита {10 + 30}»')
return (f'{char_name} не применил '
f'специальное умение')
def start_training(char_name: str, char_class: str) -> str:
if char_class == 'warrior':
print(f'{char_name}, ты Воитель — '
f'великий мастер ближнего боя.')
if char_class == 'mage':
print(f'{char_name}, ты Маг — '
f'превосходный укротитель стихий.')
if char_class == 'healer':
print(f'{char_name}, ты Лекарь — '
f'чародей, способный исцелять раны.')
print('Потренируйся управлять '
'своими навыками.')
print('Введи одну из команд: attack — '
'чтобы атаковать противника, '
'defence — чтобы блокировать '
'атаку противника или '
'special — чтобы использовать '
'свою суперсилу.')
print('Если не хочешь тренироваться, '
'введи команду skip.')
cmd: str = ''
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() -> str:
approve_choice: str = ''
char_class: str = ''
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), чтобы '
'подтвердить выбор, '
'или любую другую кнопку, '
'чтобы выбрать другого '
'персонажа ').lower()
return char_class
if __name__ == '__main__':
run_screensaver()
print('Приветствую тебя, искатель приключений!')
print('Прежде чем начать игру...')
char_name: str = input('...назови себя: ')
print(f'Здравствуй, {char_name}! '
'Сейчас твоя выносливость — 80, атака — 5 и защита — 10.')
print('Ты можешь выбрать один из трёх путей силы:')
print('Воитель, Маг, Лекарь')
char_class: str = choice_char_class()
print(start_training(char_name, char_class))