Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/190: Рейтинг темы: голосов - 190, средняя оценка - 4.69
8 / 7 / 1
Регистрация: 09.06.2017
Сообщений: 34

Заготовка для игры

22.04.2019, 19:37. Показов 39545. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При разработке компьтерных игр зачастую создаётся очень сложная система классов. В этой задаче Вам будет необходимо сделать небольшую заготовку, которую потом можно будет использовать для создания своей игры.
Реализуйте класс Weapon для оружия, который при инициализации должен принимать имя оружия name, наносимый урон damage, а также радиус, на котором оружие может достать до врага – range.
В классе Weapon должны быть реализованы следующие методы:
hit(actor, target) – удар персонажем actor персонажа target. Метод должен проверять, жив ли персонаж target, если нет, то выводить сообщение «Враг уже повержен», иначе должна проводится проверка расстояния от actor до target. Если расстояние больше range оружия, тогда надо выводить сообщение «Враг слишком далеко для оружия <name>». В случае, если target жив и оружие имеет достаточный range, вывести сообщение «Врагу нанесен урон оружием <name> в размере <damage>» и нанести урон target.
приведение к строке – при приведении к строке должно возвращаться имя оружия.
Реализуйте класс BaseCharacter для создания базовых персонажей, который при инициализации должен принимать pos_x и pos_y – позицию персонажа в мире, hp – количество жизней персонажа.
Класс BaseCharacter должен реализовывать методы:
move(delta_x, delta_y) – для перемещения персонажа на delta_x и delta_y в игровом мире.
is_alive() – проверка, жив ли персонаж. Возвращает True, если жив, иначе – False.
get_damage(amount) – убавляет количество жизней персонажа на amount. При достижении 0 или отрицательного значения персонаж считается мёртвым.
get_coords() – возвращает кортеж с текущими координатами персонажа.
Реализуйте класс BaseEnemy для создания противников, который расширяет класс BaseCharacter. При инициализации он должен принимать pos_x и pos_y – позицию персонажа в мире, weapon – оружие, hp – количество жизней персонажа. Класс должен использовать инициализатор BaseCharacter.
Класс BaseEnemy должен реализовывать следующие методы:
hit(target) – для удара персонажа target. Метод должен позволять ударить только персонажа класса MainHero. Для всех других классов должно печататься сообщение «Могу ударить только Главного героя».
приведение к строке – при приведении к строке должно возвращаться «Враг на позиции (<pos_x>, <pos_y>) с оружием <weapon>»
Реализуйте класс MainHero для создания главного героя, который расширяет класс BaseCharacter. При инициализации он должен принимать pos_x и pos_y – позицию персонажа в мире, name – имя персонажа, hp – количество жизней персонажа. Класс должен использовать инициализатор BaseCharacter.
Класс MainHero должен реализовывать следующие методы:
hit(target) – для удара персонажа target. Метод должен проверять, есть ли у персонажа оружие, если его нет выводить - «Я безоружен», иначе позволять ударить только персонажа класса BaseEnemy. Для всех других классов должно печататься сообщение «Могу ударить только Врага».
add_weapon(weapon) – добавляет оружие в инвентарь персонажа, если это оружие единственное, то оно должно экипироваться сразу же. Метод должен печатать: «Подобрал <weapon>». Метод должен работать только для переданных объектов класса Weapon, для всего остального он должен печатать сообщение «Это не оружие».
next_weapon() – для смены оружия. Если оружия нет, то должно выводиться «Я безоружен», если есть только одно оружие – «У меня только одно оружие», иначе должна производиться смена оружия на следующее (в порядке подбора, по кругу) и выводиться сообщение «Сменил оружие на <weapon>».
heal(amount) – для повышения количества жизней персонажа на amount. При этом максимальный уровень здоровья главного героя – 200. Тажже должно выводиться сообщение «Полечился, теперь здоровья <hp>».

Пример
Ввод
weapon1 = Weapon("Короткий меч", 5, 1)
weapon2 = Weapon("Длинный меч", 7, 2)
weapon3 = Weapon("Лук", 3, 10)
weapon4 = Weapon("Лазерная орбитальная пушка", 1000, 1000)
princess = BaseCharacter(100, 100, 100)
archer = BaseEnemy(50, 50, weapon3, 100)
armored_swordsman = BaseEnemy(10, 10, weapon2, 500)
archer.hit(armored_swordsman)
armored_swordsman.move(10, 10)
print(armored_swordsman.get_coords())
main_hero = MainHero(0, 0, "Король Артур", 200)
main_hero.hit(armored_swordsman)
main_hero.next_weapon()
main_hero.add_weapon(weapon1)
main_hero.hit(armored_swordsman)
main_hero.add_weapon(weapon4)
main_hero.hit(armored_swordsman)
main_hero.next_weapon()
main_hero.hit(princess)
main_hero.hit(armored_swordsman)
main_hero.hit(armored_swordsman)


Вывод
Могу ударить только Главного героя
(20, 20)
Я безоружен
Я безоружен
Подобрал Короткий меч
Враг слишком далеко для оружия Короткий меч
Подобрал Лазерная орбитальная пушка
Враг слишком далеко для оружия Короткий меч
Сменил оружие на Лазерная орбитальная пушка
Могу ударить только врага
Врагу нанесен урон оружием Лазерная орбитальная пушка в размере 1000
Враг уже повержен




ВОТ КОД:
Python
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
class Weapon:
    def __init__(self, name, damage, range):
        self.name, self.damage, self.range = name, damage, range
 
    def hit(self, actor, target):
        if not target.is_alive():
            print('Враг уже повержен')
        else:
            x1, y1 = actor.get_coords()
            x2, y2 = target.get_coords()
            if ((x1-x2)**2 +(y1-y2)**2)**0.5 > self.range:
                print(f'Враг слишком далеко для оружия {self.name}')
            else:
                print(f'Врагу нанесен урон оружием {self.name} в размере {self.damage}')
 
 
 
    def __str__(self):
        return self.name
 
 
class BaseCharacter:
    def __init__(self, pos_x, pos_y, hp):
        self.pos_x, self.pos_y, self.hp = pos_x, pos_y, hp
 
    def move(self, delta_x, delta_y):
        pass
 
    def is_alive(self):
        if self.hp:
            return True
        else:
            return False
 
    def get_damage(self, amount):
        self.hp -= amount
        if self.hp <= 0:
            self.hp = False
        return self.hp
 
    def get_coords(self):
        return self.pos_x, self.pos_y
 
 
class BaseEnemy(BaseCharacter):
    def __init__(self, pos_x, pos_y, weapon, hp):
        super().__init__(pos_x, pos_x, hp)
        self.weapon = weapon
 
    def move(self, pos_x, pos_y):
        self.x, self.y = pos_x, pos_y
        self.pos_x += self.x
        self.pos_y += self.y
 
    def hit(self, target):
        if isinstance(target, MainHero):
            self.weapon.hit(self, target)
        else:
            print('Могу ударить только Главного героя')
 
    def __str__(self):
        return f'Враг на позиции ({self.pos_x}, {self.pos_y}) с оружием {self.weapon}'
 
 
class MainHero(BaseCharacter):
    weapon = 0
    def __init__(self, pos_x, pos_y, name, hp):
        self.pos_x, self.pos_y, self.hp, self.name = pos_x, pos_y, hp, name
 
    def add_weapon(self, weapon):
        self.weapon = weapon
        if self.weapon == 0:
            print(f'Подобрал {self.weapon}')
 
    def hit(self, target):
        global weapon
        self.target = target
        if self.weapon and target.is_alive():
            print('Могу ударить только Врага')
        else:
            print('Я безоружен')
 
    def next_weapon(self):
        if self.weapon == 0:
            print('Я безоружен')
        elif self.weapon == 1:
            print('У меня только одно оружие')
        else:
            print(f'Сменил оружие на {self.weapon}')
 
    def heal(self, amount):
        if self.hp != 200:
            self.hp += amount
            print(f'Полечился, теперь здоровья {self.hp}')





выводит
Могу ударить только Главного героя
(20, 20)
Я безоружен
Я безоружен
Могу ударить только Врага
Могу ударить только Врага
Сменил оружие на Аннигиляторная пушка
Могу ударить только Врага
Могу ударить только Врага
Могу ударить только Врага



Помогите доработать

Добавлено через 21 минуту
Python
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
class Weapon:
    def __init__(self, name, damage, range):
        self.name, self.damage, self.range = name, damage, range
 
    def hit(self, actor, target):
        if not target.is_alive():
            print('Враг уже повержен')
        else:
            x1, y1 = actor.get_coords()
            x2, y2 = target.get_coords()
            if ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5 > self.range:
                print(f'Враг слишком далеко для оружия {self.name}')
            else:
                print(f'Врагу нанесен урон оружием {self.name} в размере {self.damage}')
 
    def __str__(self):
        return self.name
 
 
class BaseCharacter:
    def __init__(self, pos_x, pos_y, hp):
        self.pos_x, self.pos_y, self.hp = pos_x, pos_y, hp
 
    def move(self, delta_x, delta_y):
        pass
 
    def is_alive(self):
        if self.hp:
            return True
        else:
            return False
 
    def get_damage(self, amount):
        self.hp -= amount
        if self.hp <= 0:
            self.hp = False
        return self.hp
 
    def get_coords(self):
        return self.pos_x, self.pos_y
 
 
class BaseEnemy(BaseCharacter):
    def __init__(self, pos_x, pos_y, weapon, hp):
        super().__init__(pos_x, pos_y, hp)
        self.weapon = weapon
 
    def move(self, pos_x, pos_y):
        self.x, self.y = pos_x, pos_y
        self.pos_x += self.x
        self.pos_y += self.y
 
    def hit(self, target):
        if isinstance(target, MainHero):
            self.weapon.hit(self, target)
        else:
            print('Могу ударить только Главного героя')
 
    def __str__(self):
        return f'Враг на позиции ({self.pos_x}, {self.pos_y}) с оружием {self.weapon}'
 
 
class MainHero(BaseCharacter):
    weapon = 0
 
    def __init__(self, pos_x, pos_y, name, hp):
        super().__init__(pos_x, pos_y, hp)
        self.name = name
        self.weapons = []
        self.weapon = None
 
    def hit(self, target):
        if not self.weapons:
            print('Я безоружен')
        elif isinstance(target, BaseEnemy):
            self.weapon.hit(self, target)
        else:
            print('Могу ударить только Врага')
 
    def add_weapon(self, weapon):
        self.weapon = weapon
        self.weapons.append(weapon)
        if self.weapon:
            print(f'Подобрал {self.weapon}')
 
    def next_weapon(self):
        if not self.weapons:
            print('Я безоружен')
        elif self.weapons[0] == self.weapons[-1]:
            print('У меня только одно оружие')
        else:
            print(f'Сменил оружие на {self.weapons[-1]}')
 
    def heal(self, amount):
        if self.hp != 200:
            self.hp += amount
            print(f'Полечился, теперь здоровья {self.hp}')


Но путаница с оружием

Добавлено через 14 минут
Python
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
class Weapon:
    def __init__(self, name, damage, range):
        self.name, self.damage, self.range = name, damage, range
 
    def hit(self, actor, target):
        if not target.is_alive():
            print('Враг уже повержен')
        else:
            x1, y1 = actor.get_coords()
            x2, y2 = target.get_coords()
            if ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5 > self.range:
                print(f'Враг слишком далеко для оружия {self.name}')
            else:
                print(f'Врагу нанесен урон оружием {self.name} в размере {self.damage}')
 
    def __str__(self):
        return self.name
 
 
class BaseCharacter:
    def __init__(self, pos_x, pos_y, hp):
        self.pos_x, self.pos_y, self.hp = pos_x, pos_y, hp
 
    def move(self, delta_x, delta_y):
        pass
 
    def is_alive(self):
        if self.hp:
            return True
        else:
            return False
 
    def get_damage(self, amount):
        self.hp -= amount
        if self.hp <= 0:
            self.hp = False
        return self.hp
 
    def get_coords(self):
        return self.pos_x, self.pos_y
 
 
class BaseEnemy(BaseCharacter):
    def __init__(self, pos_x, pos_y, weapon, hp):
        super().__init__(pos_x, pos_y, hp)
        self.weapon = weapon
 
    def move(self, pos_x, pos_y):
        self.x, self.y = pos_x, pos_y
        self.pos_x += self.x
        self.pos_y += self.y
 
    def hit(self, target):
        if isinstance(target, MainHero):
            self.weapon.hit(self, target)
        else:
            print('Могу ударить только Главного героя')
 
    def __str__(self):
        return f'Враг на позиции ({self.pos_x}, {self.pos_y}) с оружием {self.weapon}'
 
 
class MainHero(BaseCharacter):
    weapon = 0
 
    def __init__(self, pos_x, pos_y, name, hp):
        super().__init__(pos_x, pos_y, hp)
        self.name = name
        self.weapons = []
        self.weapon = None
 
    def hit(self, target):
        if not self.weapons:
            print('Я безоружен')
        elif isinstance(target, BaseEnemy):
            self.weapon.hit(self, target)
        else:
            print('Могу ударить только Врага')
 
    def add_weapon(self, weapon):
        self.weapons.append(weapon)
        print(f'Подобрал {weapon}')
        if not self.weapon:
            self.weapon = weapon
 
    def next_weapon(self):
        if not self.weapons:
            print('Я безоружен')
        elif self.weapons[0] == self.weapons[-1]:
            print('У меня только одно оружие')
        else:
            self.weapon = self.weapons[-1]
            print(f'Сменил оружие на {self.weapons[-1]}')
 
    def heal(self, amount):
        if self.hp != 200:
            self.hp += amount
            print(f'Полечился, теперь здоровья {self.hp}')
вывод
Могу ударить только Главного героя
(20, 20)
Я безоружен
Я безоружен
Подобрал Короткий меч
Враг слишком далеко для оружия Короткий меч
Подобрал Аннигиляторная пушка
Враг слишком далеко для оружия Короткий меч
Сменил оружие на Аннигиляторная пушка
Могу ударить только Врага
Врагу нанесен урон оружием Аннигиляторная пушка в размере 1000
Врагу нанесен урон оружием Аннигиляторная пушка в размере 1000(надо Враг уже повержен(тут я бессилен помогите)

как сделать последнее

Добавлено через 1 час 0 минут
я все решил
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.04.2019, 19:37
Ответы с готовыми решениями:

Заготовка для игры
Проверьте свои ФИО в профиле ЛМС Яндекс.Лицея (оттуда мы будем брать данные для сертификатов). В случае неточности пишите в форму Задать...

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

Заготовка для игры ( проблемы с выводом строк )
Мой код: class Weapon: def __init__(self, name, damage, range): self.name = name self.damage = damage ...

5
 Аватар для Semen-Semenich
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
22.04.2019, 20:46
Лучший ответ Сообщение было отмечено vladddddddddddd как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Weapon:
    def __init__(self, name, damage, range):
        self.name, self.damage, self.range = name, damage, range
 
    def hit(self, actor, target):
        if not target.is_alive():
            print('Враг уже повержен')
        else:
            x1, y1 = actor.get_coords()
            x2, y2 = target.get_coords()
            if ((x1-x2)**2 +(y1-y2)**2)**0.5 > self.range:
                print(f'Враг слишком далеко для оружия {self.name}')
            else:
                  # тут вы должны вызвать метод get_damage экземпляра target предав в параметре урон текущего оружия 
                   # экземпляра actor.как то так ->   target.get_damage(actor.weapon.damage) 
                print(f'Врагу нанесен урон оружием {self.name} в размере {self.damage}')
если я понял условие то при поднятии оружия оно добавляется в список или сразу в руки героя то есть тогда список останется пустым. при смене оружия из списка оно должно удалиться. не может быть оружие в руках и списке одновременно. так что извлекать оружие из списка надо методом self.weapon = self.weapons.pop(0)
1
0 / 0 / 0
Регистрация: 25.04.2019
Сообщений: 1
25.04.2019, 16:34
Здравствуйте не могли бы вы пожалуйста показать код с исправленной ошибкой я был бы очень признателен!
0
10 / 10 / 0
Регистрация: 20.10.2019
Сообщений: 119
12.04.2020, 02:01
Да , пожалуйста
0
Програмист
4 / 5 / 0
Регистрация: 02.12.2019
Сообщений: 53
Записей в блоге: 1
26.05.2020, 14:31
Вопрос всё ещё актуален
0
5 / 5 / 1
Регистрация: 21.09.2017
Сообщений: 87
30.05.2020, 04:37
Python
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
class Weapon:
    def __init__(self, name, damage, range):
        self.name = name
        self.damage = damage
        self.range = range
 
    def hit(self, actor, target):
        if target.is_alive():
            if (self.range ** 2 >= (target.pos_x - actor.pos_x) ** 2 +
                    (target.pos_y - actor.pos_y) ** 2):
                print(f'Врагу нанесен урон оружием {self.name} в размере {self.damage}')
                target.hp -= self.damage
            else:
                print(f'Враг слишком далеко для оружия {self.name}')
        else:
            print('Враг уже повержен')
 
    def __str__(self):
        return self.name
 
 
class BaseCharacter:
    def __init__(self, x, y, hp):
        self.pos_x = x
        self.pos_y = y
        self.hp = hp
 
    def move(self, delta_x, delta_y):
        self.pos_x += delta_x
        self.pos_y += delta_y
 
    def is_alive(self):
        return self.hp > 0
 
    def get_damage(self, amount):
        if self.is_alive():
            self.hp -= amount
 
    def get_coords(self):
        return self.pos_x, self.pos_y
 
 
class BaseEnemy(BaseCharacter):
    def __init__(self, pos_x, pos_y, weapon, hp):
        super().__init__(pos_x, pos_y, hp)
        self.weapon = weapon
 
    def hit(self, target):
        if target.__class__.__name__ == 'MainHero':
            self.weapon.hit(self, target)
        else:
            print('Могу ударить только Главного героя')
 
    def __str__(self):
        return f'Враг на позиции ({self.pos_x}, {self.pos_y}) с оружием {self.weapon.name}'
 
 
class MainHero(BaseCharacter):
    def __init__(self, pos_x, pos_y, name, hp):
        super().__init__(pos_x, pos_y, hp)
        self.name = name
        self.weapons = []
        self.current_weapon = 0
 
    def hit(self, target):
        if self.weapons:
            if target.__class__.__name__ == 'BaseEnemy':
                self.weapons[self.current_weapon].hit(self, target)
            else:
                print('Могу ударить только Врага')
        else:
            print('Я безоружен')
 
    def add_weapon(self, weapon):
        if weapon.__class__.__name__ == 'Weapon':
            self.weapons.append(weapon)
            print(f'Подобрал {weapon}')
        else:
            print('Это не оружие')
 
    def next_weapon(self):
        if len(self.weapons) == 1:
            print('У меня только одно оружие')
        elif len(self.weapons) > 1:
            self.current_weapon += 1
            if self.current_weapon == len(self.weapons):
                self.current_weapon = 0
            print(f'Сменил оружие на {self.weapons[self.current_weapon]}')
        else:
            print('Я безоружен')
 
    def heal(self, amount):
        self.hp += amount
        if self.hp > 200:
            self.hp = 200
        print(f'Полечился, теперь здоровья {self.hp}')
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.05.2020, 04:37
Помогаю со студенческими работами здесь

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

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

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

Заготовка для записи
В общем вопрос такой: можно ли сделать заранее подготовленную запись или можно сказать шаблон записи. К примеру у меня есть страница на...

Заготовка для фото-галереи
Посоветуйте пожалуйста примеры с фото-галерей Есть папка с фотками (много). Просто накиданы в одную папку - имена случайные. Есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru